@@ -69,13 +69,13 @@ Kubernetes自身は、通常コンテナイメージに`-$(ARCH)`のサフィッ
69
69
- PodでImagePullSecretsを指定する
70
70
- キーを提供したPodのみがプライベートレジストリへアクセスできる
71
71
- ベンダー固有またはローカルエクステンション
72
- - カスタムNode構成を使っている場合、あなた(または、あなたのクラウドプロバイダー)はコンテナレジストリーへの認証の仕組みを組み込むことができる
72
+ - カスタムNode構成を使っている場合、あなた(または、あなたのクラウドプロバイダー)はコンテナレジストリへの認証の仕組みを組み込むことができる
73
73
74
74
これらのオプションについて、以下で詳しく説明します。
75
75
76
76
### プライベートレジストリへの認証をNodeに設定する
77
77
78
- Node上でDockerを実行している場合、プライベートコンテナリポジトリへの認証をDockerコンテナランタイムに設定できます 。
78
+ Node上でDockerを実行している場合、プライベートコンテナレジストリへの認証をDockerコンテナランタイムに設定できます 。
79
79
80
80
Node構成を制御できる場合は、この方法が適しています。
81
81
@@ -110,7 +110,7 @@ kubeletプロセスの環境では、明示的に`HOME=/root`を設定する必
110
110
- 名称が必要な場合: ` nodes=$( kubectl get nodes -o jsonpath='{range.items[*].metadata}{.name} {end}' ) `
111
111
- IPアドレスを取得したい場合: ` nodes=$( kubectl get nodes -o jsonpath='{range .items[*].status.addresses[?(@.type=="ExternalIP")]}{.address} {end}' ) `
112
112
1 . ローカルの` .docker/config.json ` を上記の検索パスのいずれかにコピーする
113
- - 例えば、これでテスト実施 : ` for n in $nodes; do scp ~/.docker/config.json root@"$n":/var/lib/kubelet/config.json; done `
113
+ - 例えば、これでテストを実施する : ` for n in $nodes; do scp ~/.docker/config.json root@"$n":/var/lib/kubelet/config.json; done `
114
114
115
115
{{< note >}}
116
116
本番環境用クラスターでは、構成管理ツールを使用して必要なすべてのNodeに設定を反映してください。
@@ -161,7 +161,7 @@ kubectl describe pods/private-image-test-1 | grep 'Failed'
161
161
そうでない場合、Podは一部のNodeで実行できますが他のNodeでは実行に失敗します。
162
162
例えば、Nodeのオートスケールを使用している場合、各インスタンスのテンプレートに` .docker/config.json ` が含まれている、またはこのファイルが含まれているドライブをマウントする必要があります。
163
163
164
- プライベートレジストリーキーを ` .docker/config.json ` に追加した時点で、すべてのPodがプライベートレジストリのイメージに読み取りアクセス権も持つようになります。
164
+ プライベートレジストリキーを ` .docker/config.json ` に追加した時点で、すべてのPodがプライベートレジストリのイメージに読み取りアクセス権も持つようになります。
165
165
166
166
### 事前にPullしたイメージ
167
167
@@ -171,7 +171,7 @@ Node構成を制御できる場合、この方法が適しています。
171
171
{{< /note >}}
172
172
173
173
デフォルトでは、kubeletは指定されたレジストリからそれぞれのイメージをPullしようとします。
174
- しかしながら 、コンテナの` imagePullPolicy ` プロパティに` IfNotPresent ` や` Never ` が設定されている場合、ローカルのイメージが使用されます。(それぞれに対して、優先的またはか排他的に)
174
+ また一方では 、コンテナの` imagePullPolicy ` プロパティに` IfNotPresent ` や` Never ` が設定されている場合、ローカルのイメージが使用されます。(それぞれに対して、優先的またはか排他的に)
175
175
176
176
レジストリ認証の代替として事前にPullしたイメージを利用したい場合、クラスターのすべてのNodeが同じ事前にPullしたイメージを持っていることを確認する必要があります。
177
177
@@ -187,7 +187,7 @@ Node構成を制御できる場合、この方法が適しています。
187
187
188
188
KubernetesはPodでのコンテナイメージレジストリキーの指定をサポートしています。
189
189
190
- #### Docker ConfigでSecretを作成する 。
190
+ #### Docker Configを利用してSecretを作成する 。
191
191
192
192
適切な大文字の値を置き換えて、次のコマンドを実行します。
193
193
@@ -198,7 +198,7 @@ kubectl create secret docker-registry <name> --docker-server=DOCKER_REGISTRY_SER
198
198
既にDocker認証情報ファイルを持っている場合は、上記のコマンドの代わりに、認証情報ファイルをKubernetes {{< glossary_tooltip text="Secrets" term_id="secret" >}}としてインポートすることができます。
199
199
[ 既存のDocker認証情報に基づいてSecretを作成する] ( /docs/tasks/configure-pod-container/pull-image-private-registry/#registry-secret-existing-credentials ) で、この設定方法を説明します.
200
200
201
- これは複数のプライベートコンテナレジストリを使用している場合に特に有効です。` kubectl create secret docker-registry ` はひとつのプライベートリポジトリーにのみ機能するSecretを作成するからです 。
201
+ これは複数のプライベートコンテナレジストリを使用している場合に特に有効です。` kubectl create secret docker-registry ` はひとつのプライベートレジストリにのみ機能するSecretを作成するからです 。
202
202
203
203
{{< note >}}
204
204
Podは自分自身のNamespace内にあるimage pull secretsのみが参照可能であるため、この作業はNemespace毎に1回行う必要があります。
245
245
246
246
1 . クラスターに独自仕様でない(例えば、オープンソース)イメージだけを実行する。イメージを非公開にする必要がない
247
247
- Docker hubのパブリックイメージを利用する
248
- - 設定は不要
248
+ - 設定は必要ない
249
249
- クラウドプロバイダーによっては、可用性の向上とイメージをPullする時間を短くする為に、自動的にキャッシュやミラーされたパプリックイメージが提供される
250
250
1 . 社外には非公開の必要があるが、すべてのクラスター利用者には見せてよい独自仕様のイメージをクラスターで実行している
251
251
- ホストされたプライペートな [ Dockerレジストリ] ( https://docs.docker.com/registry/ ) を使用
260
260
- [ AlwaysPullImagesアドミッションコントローラー] ( /docs/reference/access-authn-authz/admission-controllers/#alwayspullimages ) が有効化かを確認する必要がある。さもないと、全部のPodがすべてのイメージへのアクセスができてしまう可能性がある
261
261
- 機密データはイメージに含めてしまうのではなく、"Secret"リソースに移行する
262
262
1 . それぞれのテナントが独自のプライベートレジストリを必要とするマルチテナントのクラスターである
263
- - [ AlwaysPullImagesアドミッションコントローラー] ( /docs/reference/access-authn-authz/admission-controllers/#alwayspullimages ) が有効化を確認する必要あり 。さもないと、すべてのテナントの全Podが全部のイメージにアクセスできてしまう可能性がある
263
+ - [ AlwaysPullImagesアドミッションコントローラー] ( /docs/reference/access-authn-authz/admission-controllers/#alwayspullimages ) が有効化を確認する必要がある 。さもないと、すべてのテナントの全Podが全部のイメージにアクセスできてしまう可能性がある
264
264
- 認証が必要なプライベートレジストリを実行する
265
265
- それぞれのテナントでレジストリ認証を生成し、Secretへ設定し、各テナントのNamespaceに追加する
266
266
- テナントは、Secretを各NamespaceのimagePullSecretsへ追加する
0 commit comments