Skip to content

Commit 48752f3

Browse files
committed
reflect feedback
1 parent 2525646 commit 48752f3

File tree

1 file changed

+17
-22
lines changed

1 file changed

+17
-22
lines changed

content/ja/docs/tasks/administer-cluster/kubelet-credential-provider.md

Lines changed: 17 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
---
22
title: kubelet image credential providerの設定
3-
reviewers:
4-
- liggitt
5-
- cheftako
63
content_type: task
74
min-kubernetes-server-version: v1.26
85
weight: 120
@@ -15,7 +12,7 @@ weight: 120
1512
Kubernetes v1.20以降、kubeletはexecプラグインを使用してコンテナイメージレジストリへの認証情報を動的に取得できるようになりました。
1613
kubeletとexecプラグインは、Kubernetesのバージョン管理されたAPIを用いて標準入出力(stdin、stdout、stderr)を通じて通信します。
1714
これらのプラグインを使用することで、kubeletはディスク上に静的な認証情報を保存する代わりに、コンテナレジストリへの認証情報を動的に要求できるようになります。
18-
たとえば、プラグインがローカルのメタデータサーバーと通信し、kubeletがプルしようとしているイメージに対する短命の認証情報を取得することがあります
15+
たとえば、プラグインがローカルのメタデータサーバーと通信し、kubeletが取得しようとしているイメージに対する、短期間有効な認証情報を取得することがあります
1916

2017
以下のいずれかに該当する場合、この機能の利用を検討するとよいでしょう:
2118

@@ -25,10 +22,10 @@ kubeletとexecプラグインは、Kubernetesのバージョン管理されたAP
2522

2623
このガイドでは、kubelet image credential providerプラグイン機構の設定方法について説明します。
2724

28-
## イメージプル用のServiceAccountトークン
25+
## イメージ取得用のServiceAccountトークン
2926
{{< feature-state feature_gate_name="KubeletServiceAccountTokenForCredentialProviders" >}}
3027

31-
Kubernetes v1.33以降、kubeletは、イメージのプルを行っているPodにバインドされたサービスアカウントトークンを、credential providerプラグインに送信するように設定できます。
28+
Kubernetes v1.33以降、kubeletは、イメージの取得を行っているPodにバインドされたサービスアカウントトークンを、credential providerプラグインに送信するように設定できます。
3229

3330
これにより、プラグインはそのトークンを使用して、イメージレジストリへのアクセスに必要な認証情報と交換することが可能になります。
3431

@@ -38,12 +35,12 @@ Kubernetes v1.33以降、kubeletは、イメージのプルを行っているPod
3835

3936
サービスアカウントトークンによる認証情報を用いることで、次のようなユースケースに対応できます:
4037

41-
* レジストリからイメージをプルするために、kubeletやノードに基づくアイデンティティを必要としないようにする
42-
* 長期間有効なシークレットや永続的なシークレットを使用せずに、ワークロードが自身のランタイムのアイデンティティに基づいてイメージをプルできるようにする
38+
* レジストリからイメージを取得するために、kubeletやノードに基づくアイデンティティを必要としないようにする
39+
* 長期間有効なシークレットや永続的なシークレットを使用せずに、ワークロードが自身のランタイムのアイデンティティに基づいてイメージを取得できるようにする
4340

4441
## {{% heading "prerequisites" %}}
4542

46-
* kubelet credential providerプラグインをサポートするノードを持つKubernetesクラスターが必要です。このサポートは、Kubernetes {{< skew currentVersion >}} で利用可能です。Kubernetes v1.24およびv1.25で、デフォルトで有効なベータ機能として含まれるようになりました。
43+
* kubelet credential providerプラグインをサポートするノードを持つKubernetesクラスターが必要です。このサポートは、Kubernetes {{< skew currentVersion >}}で利用可能です。Kubernetes v1.24およびv1.25で、デフォルトで有効なベータ機能として含まれるようになりました。
4744
* サービスアカウントトークンを必要とするcredential providerプラグインを設定する場合は、Kubernetes v1.33以降を実行しているノードを持つクラスターと、kubelet上で`KubeletServiceAccountTokenForCredentialProviders`フィーチャーゲートが有効になっている必要があります。
4845
* credential provider execプラグインの動作する実装。独自にプラグインを作成するか、クラウドプロバイダーが提供するものを使用できます。
4946

@@ -86,7 +83,7 @@ providers:
8683
# プラグインが呼び出され、認証情報を提供する機会が与えられます。
8784
# イメージには、レジストリのドメインおよびURLパスが含まれている必要があります。
8885
#
89-
# matchImagesの各エントリーは、オプションでポートおよびパスを含むことができるパターンです。
86+
# matchImagesの各エントリは、オプションでポートおよびパスを含むことができるパターンです。
9087
# ドメインにはグロブを使用できますが、ポートやパスには使用できません。
9188
# グロブは、'*.k8s.io'や'k8s.*.io'のようなサブドメインや、'k8s.*'のようなトップレベルドメインでサポートされています。
9289
# 'app*.k8s.io'のような部分的なサブドメインの一致もサポートされています。
@@ -120,15 +117,15 @@ providers:
120117
# +optional
121118
# args:
122119
# - --example-argument
123-
# Envは、プロセスに対して公開する追加の環境変数を定義します。
120+
# envは、プロセスに対して公開する追加の環境変数を定義します。
124121
# これらはホストの環境変数および、client-goがプラグインに引数を渡すために使用する変数と結合されます。
125122
# +optional
126123
env:
127124
- name: AWS_PROFILE
128125
value: example_profile
129126

130127
# tokenAttributesは、プラグインに渡されるサービスアカウントトークンの設定です。
131-
# このフィールドを設定することで、credential providerはイメージプルにサービスアカウントトークンを使用するようになります
128+
# このフィールドを設定することで、credential providerはイメージの取得にサービスアカウントトークンを使用するようになります
132129
# このフィールドが設定されているにも関わらず、`KubeletServiceAccountTokenForCredentialProviders`フィーチャーゲートが有効になっていない場合、
133130
# kubeletは無効な設定エラーとして起動に失敗します。
134131
# +optional
@@ -140,14 +137,14 @@ providers:
140137
# trueに設定された場合、kubeletはPodにサービスアカウントがある場合にのみプラグインを呼び出します。
141138
# falseに設定された場合、Podにサービスアカウントがなくてもkubeletはプラグインを呼び出し、
142139
# CredentialProviderRequestにはトークンを含めません。これは、サービスアカウントを持たないPod
143-
# (たとえば、Static Pod)に対してイメージをプルするためのプラグインに有用です
140+
# (たとえば、Static Pod)に対してイメージを取得するためのプラグインに有用です
144141
# +required
145142
requireServiceAccount: true
146143
# requiredServiceAccountAnnotationKeysは、プラグインが対象とし、サービスアカウントに存在する必要があるアノテーションキーのリストです。
147144
# このリストに定義されたキーは、対応するサービスアカウントから抽出され、CredentialProviderRequestの一部としてプラグインに渡されます。
148145
# このリストに定義されたキーのいずれかがサービスアカウントに存在しない場合、kubeletはプラグインを呼び出さず、エラーを返します。
149146
# このフィールドはオプションであり、空であっても構いません。プラグインはこのフィールドを使用して、
150-
# 認証情報の取得に必要な追加情報を抽出したり、サービスアカウントトークンによるイメージプルの利用を
147+
# 認証情報の取得に必要な追加情報を抽出したり、サービスアカウントトークンによるイメージ取得の利用を
151148
# ワークロード側で選択可能にしたりできます。
152149
# このフィールドが空でない場合、requireServiceAccountはtrueに設定されていなければなりません。
153150
# このリストに定義されたキーは一意である必要があり、
@@ -172,7 +169,7 @@ providers:
172169
```
173170
174171
`providers`フィールドは、kubeletが使用する有効なプラグインのリストです。
175-
各エントリーには、いくつかの入力必須のフィールドがあります:
172+
各エントリには、いくつかの入力必須のフィールドがあります:
176173

177174
* `name`: プラグインの名前であり、`--image-credential-provider-bin-dir`で指定されたディレクトリ内に存在する実行可能バイナリの名前と一致していなければなりません。
178175
* `matchImages`: このプロバイダーを呼び出すべきかどうかを判断するために、イメージと照合するための文字列リスト。詳細は後述します。
@@ -182,9 +179,7 @@ providers:
182179
各credential providerには、オプションの引数や環境変数を指定することもできます。
183180
特定のプラグインで必要となる引数や環境変数のセットについては、プラグインの実装者に確認してください。
184181

185-
KubeletServiceAccountTokenForCredentialProvidersフィーチャーゲートを使用し、
186-
tokenAttributesフィールドを設定してプラグインにサービスアカウントトークンを使用させる場合、
187-
以下のフィールドの設定が必須となります:
182+
KubeletServiceAccountTokenForCredentialProvidersフィーチャーゲートを使用し、tokenAttributesフィールドを設定してプラグインにサービスアカウントトークンを使用させる場合、以下のフィールドの設定が必須となります:
188183

189184
* `serviceAccountTokenAudience`:
190185
投影されたサービスアカウントトークンの対象となるオーディエンス。
@@ -195,21 +190,21 @@ tokenAttributesフィールドを設定してプラグインにサービスア
195190
* `true`に設定すると、Podにサービスアカウントがある場合にのみkubeletはプラグインを呼び出します。
196191
* `false`に設定すると、Podにサービスアカウントがなくてもkubeletはプラグインを呼び出し、`CredentialProviderRequest`にはトークンを含めません。
197192

198-
これは、サービスアカウントを持たないPod(たとえば、Static Pod)に対してイメージをプルするためのプラグインに有用です
193+
これは、サービスアカウントを持たないPod(たとえば、Static Pod)に対してイメージを取得するためのプラグインに有用です
199194

200195
#### イメージのマッチングを設定する
201196

202197
各credential providerの`matchImages`フィールドは、Podが使用する特定のイメージに対してプラグインを呼び出すべきかどうかを、kubeletが判断するために使用されます。
203-
`matchImages`の各エントリーはイメージパターンであり、オプションでポートやパスを含めることができます。
198+
`matchImages`の各エントリはイメージパターンであり、オプションでポートやパスを含めることができます。
204199
ドメインにはグロブを使用できますが、ポートやパスには使用できません。
205200
グロブは、`*.k8s.io`や`k8s.*.io`のようなサブドメインや、`k8s.*`のようなトップレベルドメインで使用可能です。
206201
`app*.k8s.io`のような部分的なサブドメインの一致もサポートされています。
207202
ただし、各グロブは1つのサブドメインセグメントにしか一致しないため、`*.io`は`*.k8s.io`には一致しません。
208203

209-
イメージ名と`matchImage`エントリーが一致すると見なされるのは、以下のすべての条件を満たす場合です:
204+
イメージ名と`matchImage`エントリが一致すると見なされるのは、以下のすべての条件を満たす場合です:
210205

211206
* 両者が同じ数のドメインパートを持ち、それぞれのパートが一致していること。
212-
* match imageに指定されたURLパスが、対象のイメージのURLパスのプレフィックスであること。
207+
* イメージの一致条件として指定されたURLパスが、対象のイメージのURLパスのプレフィックスであること。
213208
* matchImagesにポートが含まれている場合、イメージのポートとも一致すること。
214209

215210
`matchImages`パターンの値のいくつかの例:

0 commit comments

Comments
 (0)