Skip to content

Conversation

@kfess
Copy link
Member

@kfess kfess commented May 24, 2025

Description

Updated /ja/docs/concepts/containers/images/ to match the English version

Issue

Closes: #50947

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label May 24, 2025
@k8s-ci-robot k8s-ci-robot requested a review from atoato88 May 24, 2025 13:52
@k8s-ci-robot k8s-ci-robot added the area/localization General issues or PRs related to localization label May 24, 2025
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign bells17 for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot requested a review from t-inu May 24, 2025 13:52
@k8s-ci-robot k8s-ci-robot added language/ja Issues or PRs related to Japanese language sig/docs Categorizes an issue or PR as relevant to SIG Docs. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels May 24, 2025
@netlify
Copy link

netlify bot commented May 24, 2025

Pull request preview available for checking

Built without sensitive environment variables

Name Link
🔨 Latest commit beeb444
🔍 Latest deploy log https://app.netlify.com/projects/kubernetes-io-main-staging/deploys/69109611cbe99f000838a62a
😎 Deploy Preview https://deploy-preview-51037--kubernetes-io-main-staging.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

このポリシーでは、対象のイメージがすでに存在する場合、{{< glossary_tooltip text="kubelet" term_id="kubelet" >}}はそのイメージのプルをスキップします。

### イメージPullポリシー
### イメージプルポリシー
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ここのpullはコマンド的動作で、日本語でもpullと表記されることが多いのでそのままにしています。カタカナに変えたいと言うご提案でしょうか?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

そういう意図があるのは把握していませんでした。
本記事の日本語版の最終更新日が 2022 年とかなり古かったため、できるだけ日本語になるように訳するという方針が適応されていない時代かと思い、「プル」としました。
Pull の方が適切であれば、翻訳内容の全てについて、Pull に戻そうかと思います。

ちなみに、英語で pull と出てきた場合は、全て翻訳後も pull のままで良いでしょうか?

Copy link
Member Author

@kfess kfess Jul 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#51080 (comment) での議論も踏まえ、ひとまず pull -> 取得する、に表記を修正するなど、pull 周りの表記を再度見直します。

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#48966 では、image pull secretsをイメージプルシークレットと訳しています。
私はこれをイディオム(熟語)として捉えたのと、imagePullSecretsフィールドの呼び方として、すべてカタカナでよいのではと判断しました。
image pull policyも同様に、表記としてはイメージプルポリシーかなというのが私の意見です。

なお、OpenShift、Azure、AWSなどのドキュメントでも「イメージプルポリシー」となっていました。
一方で、GKEのドキュメントは、全体的にpullは訳さない方針で、「イメージpullポリシー」でしたが、現在では少数派なのかもしれません。

@Okabe-Junya
Copy link
Member

/cc inductor

このPRレビューしていただくことってできますか...?

@k8s-ci-robot k8s-ci-robot requested a review from inductor August 11, 2025 17:02
@kfess
Copy link
Member Author

kfess commented Sep 27, 2025

動詞として使われている "pull" の訳を "取得する" に修正しました。

Copy link
Member

@t-inu t-inu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

レビュー中ですが、「config.jsonの解釈」まで見ましたので、一旦コメントします。

コンテナイメージはアプリケーションと依存関係のあるすべてソフトウェアをカプセル化したバイナリデータを表します。コンテナイメージはスタンドアロンで実行可能なソフトウェアをひとつにまとめ、ランタイム環境に関する想定を明確に定義しています。

アプリケーションのコンテナイメージを作成し、一般的には{{< glossary_tooltip text="Pod" term_id="pod" >}}で参照する前にレジストリへPushします。
コンテナイメージは、アプリケーションおよびそのすべてのソフトウェア依存関係を含むバイナリデータを表します。
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
コンテナイメージは、アプリケーションおよびそのすべてのソフトウェア依存関係を含むバイナリデータを表します
コンテナイメージは、アプリケーションおよびそのすべてのソフトウェア依存関係をカプセル化したバイナリデータを表します

A container image represents binary data that encapsulates an application and all its software dependencies.

encapsulateとあるので、元の訳の「カプセル化した」は残したいと思いました。

コンテナイメージは、スタンドアロンで実行可能なソフトウェアバンドルで、動作するためのランタイム環境が明確に規定されているのが特徴です。

このページではコンテナイメージの概要を説明します。
通常、アプリケーションのコンテナイメージを作成してレジストリにプッシュし、その後、{{< glossary_tooltip text="Pod" term_id="pod" >}}から参照します。
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
通常、アプリケーションのコンテナイメージを作成してレジストリにプッシュし、その後、{{< glossary_tooltip text="Pod" term_id="pod" >}}から参照します。
通常、アプリケーションのコンテナイメージを作成してレジストリに格納し、その後、{{< glossary_tooltip text="Pod" term_id="pod" >}}から参照します。

動詞としてのpullを「取得する」にしていることから、ここではpushは「格納する」にしました。


レジストリのホスト名を指定しない場合は、KubernetesはDockerパブリックレジストリを意味していると見なします。
レジストリのホスト名を指定しない場合、Kubernetesは[Dockerパブリックレジストリ](https://hub.docker.com/)を意味しているものと見なします。
この挙動は、[コンテナランタイム](/ja/docs/setup/production-environment/container-runtimes/)の設定でデフォルトのイメージレジストリを指定することで変更できます。
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
この挙動は、[コンテナランタイム](/ja/docs/setup/production-environment/container-runtimes/)の設定でデフォルトのイメージレジストリを指定することで変更できます。
この挙動は、[コンテナランタイム](/docs/setup/production-environment/container-runtimes/)の設定でデフォルトのイメージレジストリを指定することで変更できます。

この機会に、/jaは外したいと思います。
他にもありますので、ページ全体で削除をお願いします。

タグによって同じイメージの異なるバージョンを識別できます。
イメージ名の後には、_タグ__ダイジェスト_ を追加できます(これは`docker``podman`などのコマンドを使う場合と同様です)。
タグは、同じ系列のイメージの異なるバージョンを識別するために使用します。
ダイジェストは、イメージの特定のバージョンに対する一意の識別子であり、イメージの内容に基づくハッシュで構成され、変更不可能です。
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
ダイジェストは、イメージの特定のバージョンに対する一意の識別子であり、イメージの内容に基づくハッシュで構成され、変更不可能です
ダイジェストは、イメージの特定のバージョンに対する一意の識別子です
また、ダイジェストはイメージの内容に基づくハッシュで構成され、変更不可能です。

Digests are a unique identifier for a specific version of an image.
Digests are hashes of the image's content, and are immutable.

「ダイジェストは」の主語で始まる文が続くのでまとめたのだと思いますが、一文で読むには内容が多く感じました。
なので、やはり分けて書きたいですね。


レジストリに確実にアクセスできるのであれば、基盤となるイメージプロバイダーのキャッシュセマンティクスにより`imagePullPolicy: Always`でも効率的です。
コンテナランタイムは、イメージレイヤーが既にノード上に存在することを認識できるので、再度ダウンロードする必要がありません。
コンテナランタイムは、イメージレイヤーがすでにノード上に存在することを認識できるので、再度ダウンロードする必要がありません。
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
コンテナランタイムは、イメージレイヤーがすでにノード上に存在することを認識できるので、再度ダウンロードする必要がありません。
コンテナランタイムは、イメージレイヤーがすでにノード上に存在することを認識できるため、再度ダウンロードする必要がありません。

~ので -> ~ため

並列イメージ取得を有効にする場合は、使用しているコンテナランタイムのイメージサービスが並列取得に対応していることを確認してください。

なお、kubeletは1つのPodに対して複数のイメージを並列で取得することはありません。
たとえば、1つのPodがinitコンテナとアプリケーションコンテナを持つ場合、その二つのコンテナのイメージ取得は並列化されません。
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
たとえば、1つのPodがinitコンテナとアプリケーションコンテナを持つ場合、その二つのコンテナのイメージ取得は並列化されません
たとえば、1つのPodがinitコンテナとアプリケーションコンテナを持つ場合、その2つのコンテナのイメージ取得は並列化されません

アラビア数字で揃えます。

しかし、異なるPodがそれぞれ異なるイメージを使用しており、並列イメージ取得機能が有効になっている場合、kubeletはその2つの異なるPodのためにイメージを並列で取得します。

コンテナレジストリはバイナリイメージの提供だけでなく、[コンテナイメージインデックス](https://github.com/opencontainers/image-spec/blob/master/image-index.md)も提供する事ができます。イメージインデックスはコンテナのアーキテクチャ固有バージョンに関する複数の[イメージマニフェスト](https://github.com/opencontainers/image-spec/blob/master/manifest.md)を指すことができます。イメージインデックスの目的はイメージの名前(例:`pause``example/mycontainer``kube-apiserver`)をもたせ、様々なシステムが使用しているマシンアーキテクチャにあう適切なバイナリイメージを取得できることです。
### 最大並行イメージ取得数
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### 最大並行イメージ取得数
### 最大並列イメージ取得数

「並列」で統一するのがよいと思います。


## プライベートレジストリを使用する方法
`serializeImagePulls`がfalseに設定されている場合、kubeletはデフォルトで同時に取得できるイメージ数に制限を設けません。
並行で取得できるイメージ数を制限したい場合は、kubeletの設定で`maxParallelImagePulls`フィールドを指定します。
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
並行で取得できるイメージ数を制限したい場合は、kubeletの設定で`maxParallelImagePulls`フィールドを指定します。
並列で取得できるイメージ数を制限したい場合は、kubeletの設定で`maxParallelImagePulls`フィールドを指定します。

これは、プライベートレジストリ用の認証情報を取得するための最も堅牢かつ柔軟な方法ですが、有効化するにはkubeletレベルでの設定が必要です。

この手法は、プライベートレジストリにホストされたコンテナイメージを必要とする{{< glossary_tooltip term_id="static-pod" text="Static Pod" >}}を実行する際に特に有用です。
{{< glossary_tooltip term_id="service-account" >}}や{{< glossary_tooltip term_id="secret" >}}を使ってプライベートレジストリの認証情報を提供することは、Static Podの仕様で不可能です。
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
{{< glossary_tooltip term_id="service-account" >}}や{{< glossary_tooltip term_id="secret" >}}を使ってプライベートレジストリの認証情報を提供することは、Static Podの仕様で不可能です
{{< glossary_tooltip term_id="service-account" >}}や{{< glossary_tooltip term_id="secret" >}}を使ってプライベートレジストリの認証情報を提供することは、Static Podの仕様では不可能です

細かいですが、「仕様では」としたほうが若干読みやすく感じました。

Dockerでは、`auths`キーはルートURLしか指定できませんが、Kubernetesではプレフィックスのマッチしたパスだけでなく、グロブパターンのURLも指定できます。
以下のような`config.json`が有効であるということです。
`config.json`の解釈は、元のDockerの実装とKubernetesにおける解釈で異なります。
Dockerでは、`auths`キーにはルートURLしか指定できませんが、Kubernetesではワイルドカード形式のURLや接頭辞一致のパスも許容されます。
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Dockerでは、`auths`キーにはルートURLしか指定できませんが、Kubernetesではワイルドカード形式のURLや接頭辞一致のパスも許容されます
Dockerでは、`auths`キーにはルートURLしか指定できませんが、Kubernetesではワイルドカード形式のURLや、プレフィックスが一致するパスも許容されます

prefixは、接頭辞かプレフィックスかで迷うところですが、2019年にSlackの#kubernetes-docs-jaで議論されていて、「prefixはプレフィックス、suffixはサフィックス」となったようです。

Copy link
Member

@t-inu t-inu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

最後までレビューしました。
修正量の多いページの最新化は大変ですが、これも重要な作業なので助かります。

Comment on lines 301 to 302
[kubelet credential provider](#kubelet-credential-provider)の利用と同様に、
事前に取得されたイメージは、プライベートレジストリにホストされたイメージに依存する{{< glossary_tooltip text="Static Pod" term_id="static-pod" >}}を起動する場合にも適しています。
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[kubelet credential provider](#kubelet-credential-provider)の利用と同様に、
事前に取得されたイメージは、プライベートレジストリにホストされたイメージに依存する{{< glossary_tooltip text="Static Pod" term_id="static-pod" >}}を起動する場合にも適しています。
[kubelet credential provider](#kubelet-credential-provider)の利用と同様に、事前に取得されたイメージは、プライベートレジストリにホストされたイメージに依存する{{< glossary_tooltip text="Static Pod" term_id="static-pod" >}}を起動する場合にも適しています。

文中の改行を削除。


{{< note >}}
Podは自分自身のNamespace内にあるimage pull secretsのみが参照可能であるため、この作業はNemespace毎に1回行う必要があります
Podは自身のNamespace内にあるイメージ取得用のSecretしか参照できないため、この手順はNamespaceごとに1回ずつ実行する必要があります
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Podは自身のNamespace内にあるイメージ取得用のSecretしか参照できないため、この手順はNamespaceごとに1回ずつ実行する必要があります。
Podは自身のNamespace内にあるイメージプルシークレットしか参照できないため、この手順はNamespaceごとに1回ずつ実行する必要があります。

Pods can only reference image pull secrets in their own namespace, so this process needs to be done one time per namespace.

image pull secretsという言い回しがここで出てきました。
このページではここだけのようです。

これは、プライベートレジストリを使用する各Podで行う必要があります。

ただし、この項目の設定は[ServiceAccount](/docs/tasks/configure-pod-container/configure-service-account/)リソースの中でimagePullSecretsを指定することで自動化することができます。
この作業は、プライベートレジストリを使用する各Podごとに実施する必要があります。
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
この作業は、プライベートレジストリを使用する各Podごとに実施する必要があります
この作業は、プライベートレジストリを使用する各Podに対して実施する必要があります

「各」と「ごと」の重複表現を回避。

- [AlwaysPullImagesアドミッションコントローラー](/docs/reference/access-authn-authz/admission-controllers/#alwayspullimages)が有効化されていることを確認する。これが無効な場合、すべてのPodがすべてのイメージにアクセスできてしまう可能性がある。
- 機密データはイメージ内に含める代わりに、Secretリソースに移行する。

2. それぞれのテナントが独自のプライベートレジストリを必要とするマルチテナントのクラスターである場合
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
2. それぞれのテナントが独自のプライベートレジストリを必要とするマルチテナントのクラスターである場合
1. それぞれのテナントが独自のプライベートレジストリを必要とするマルチテナントのクラスターである場合

このままでも、ビルド時には適切な番号である4が振られますが、すべて1に揃えておきましょう。

2. それぞれのテナントが独自のプライベートレジストリを必要とするマルチテナントのクラスターである場合
- [AlwaysPullImagesアドミッションコントローラー](/docs/reference/access-authn-authz/admission-controllers/#alwayspullimages)が有効化されていることを確認する。これが無効な場合、すべてのPodがすべてのイメージにアクセスできてしまう可能性がある。
- 認証が必要なプライベートレジストリを運用する。
- 各テナントごとにレジストリの認証情報を生成し、それをSecretに保存して、各テナントのNamespaceへ配布する。
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- 各テナントごとにレジストリの認証情報を生成し、それをSecretに保存して、各テナントのNamespaceへ配布する。
- テナントごとにレジストリの認証情報を生成し、それをSecretに保存して、各テナントのNamespaceへ配布する。

- 各テナントごとにレジストリの認証情報を生成し、それをSecretに保存して、各テナントのNamespaceへ配布する。
- テナントは、そのSecretを各Namespaceの`imagePullSecrets`に追加する。

複数のレジストリへのアクセスが必要な場合、レジストリごとに1つのSecretを作成する事ができます。
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
複数のレジストリへのアクセスが必要な場合、レジストリごとに1つのSecretを作成する事ができます
複数のレジストリへのアクセスが必要な場合、レジストリごとに1つのSecretを作成することができます

他の文と合わせて、ここの「事」はひらがなに。

@t-inu
Copy link
Member

t-inu commented Nov 6, 2025

credential providerは訳さないままになっていますが、「クレデンシャルプロバイダー」か「認証情報プロバイダー」にしてもいいかもと思いました。
どちらの訳し方もよく見かけるのと、本ドキュメント内では、訳さないものも含めて混在しているので、レビューコメントでは触れませんでした。これも迷う用語ですね。

cc @kubernetes/sig-docs-ja-reviews

@kfess
Copy link
Member Author

kfess commented Nov 9, 2025

かなり大きい修正となりましたが、ご確認いただきありがとうございます!
ご指摘いただいた点、1つ1つ修正していきます。

@kfess
Copy link
Member Author

kfess commented Nov 9, 2025

cretential provider はひとまずそのままにしていますが、
それ以外の箇所について、ご指摘いただいた点を修正しました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/localization General issues or PRs related to localization cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. language/ja Issues or PRs related to Japanese language sig/docs Categorizes an issue or PR as relevant to SIG Docs. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ja] Sync /ja/docs/concepts/containers/images/ with English version

5 participants