@@ -26,7 +26,7 @@ not apply.
26
26
服务账户为 Pod 中运行的进程提供了一个标识。
27
27
28
28
{{< note >}}
29
- 本文是服务账户的用户使用介绍,描述服务账号在集群中如何起作用 。
29
+ 本文是服务账户的用户使用介绍,描述服务账户在集群中如何起作用 。
30
30
你的集群管理员可能已经对你的集群做了定制,因此导致本文中所讲述的内容并不适用。
31
31
{{< /note >}}
32
32
@@ -69,17 +69,16 @@ You can access the API from inside a pod using automatically mounted service acc
69
69
as described in [Accessing the Cluster](/docs/tasks/accessing-application-cluster/access-cluster/).
70
70
The API permissions of the service account depend on the [authorization plugin and policy](/docs/reference/access-authn-authz/authorization/#authorization-modules) in use.
71
71
72
- In version 1.6+, you can opt out of automounting API credentials for a service account by setting
73
- `automountServiceAccountToken: false` on the service account:
72
+ You can opt out of automounting API credentials on `/var/run/secrets/kubernetes.io/serviceaccount/token` for a service account by setting `automountServiceAccountToken: false` on the ServiceAccount:
74
73
-->
75
74
你可以使用自动挂载给 Pod 的服务账户凭据访问 API,
76
75
[ 访问集群] ( /zh-cn/docs/tasks/access-application-cluster/access-cluster/ ) 页面中有相关描述。
77
76
服务账户的 API 许可取决于你所使用的
78
77
[ 鉴权插件和策略] ( /zh-cn/docs/reference/access-authn-authz/authorization/#authorization-modules ) 。
79
78
80
- 在 1.6 以上版本中,你可以通过在服务账户上设置 ` automountServiceAccountToken: false `
81
- 来实现不给服务账号自动挂载 API 凭据:
82
-
79
+ 你可以通过在 ServiceAccount 上设置 ` automountServiceAccountToken: false `
80
+ 来实现不给服务账户自动挂载 API 凭据到 ` /var/run/secrets/kubernetes.io/serviceaccount/token `
81
+ 的目的:
83
82
84
83
``` yaml
85
84
apiVersion : v1
@@ -194,8 +193,7 @@ field of a pod to the name of the service account you wish to use.
194
193
-->
195
194
那么你就能看到系统已经自动创建了一个令牌并且被服务账户所引用。
196
195
197
- 你可以使用授权插件来
198
- [ 设置服务账户的访问许可] ( /zh-cn/docs/reference/access-authn-authz/rbac/#service-account-permissions ) 。
196
+ 你可以使用授权插件来[ 设置服务账户的访问许可] ( /zh-cn/docs/reference/access-authn-authz/rbac/#service-account-permissions ) 。
199
197
200
198
要使用非默认的服务账户,将 Pod 的 ` spec.serviceAccountName ` 字段设置为你想用的服务账户名称。
201
199
@@ -224,7 +222,7 @@ a new secret manually.
224
222
-->
225
223
## 手动创建服务账户 API 令牌
226
224
227
- 假设我们有一个上面提到的名为 "build-robot" 的服务账户,然后我们手动创建一个新的 Secret。
225
+ 假设我们有一个上面提到的名为 "build-robot" 的服务账户,现在我们手动创建一个新的 Secret。
228
226
229
227
``` shell
230
228
kubectl create -f - << EOF
@@ -271,10 +269,10 @@ namespace: 7 bytes
271
269
token: ...
272
270
```
273
271
272
+ {{< note >}}
274
273
<!--
275
274
The content of `token` is elided here.
276
275
-->
277
- {{< note >}}
278
276
这里省略了 ` token ` 的内容。
279
277
{{< /note >}}
280
278
@@ -289,7 +287,7 @@ The content of `token` is elided here.
289
287
290
288
### 创建 ImagePullSecret
291
289
292
- - 创建一个 ImagePullSecret,如同 [ 为 Pod 设置 ImagePullSecret] ( /zh-cn/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod ) 所述。
290
+ - 创建一个 ImagePullSecret,如 [ 为 Pod 设置 ImagePullSecret] ( /zh-cn/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod ) 所述。
293
291
294
292
``` shell
295
293
kubectl create secret docker-registry myregistrykey --docker-server=DUMMY_SERVER \
@@ -306,7 +304,9 @@ The content of `token` is elided here.
306
304
kubectl get secrets myregistrykey
307
305
```
308
306
309
- <!-- The output is similar to this: -->
307
+ <!--
308
+ The output is similar to this:
309
+ -->
310
310
输出类似于:
311
311
312
312
```
@@ -319,9 +319,9 @@ The content of `token` is elided here.
319
319
320
320
Next, modify the default service account for the namespace to use this secret as an imagePullSecret.
321
321
-->
322
- ### 将镜像拉取 Secret 添加到服务账号
322
+ ### 将镜像拉取 Secret 添加到服务账户
323
323
324
- 接着修改命名空间的 ` default ` 服务帐户,以将该 Secret 用作 ` imagePullSecret ` 。
324
+ 接着修改命名空间的 ` default ` 服务帐户,令其使用该 Secret 用作 ` imagePullSecret ` 。
325
325
326
326
``` shell
327
327
kubectl patch serviceaccount default -p ' {"imagePullSecrets": [{"name": "myregistrykey"}]}'
@@ -336,7 +336,11 @@ You can instead use `kubectl edit`, or manually edit the YAML manifests as shown
336
336
kubectl get serviceaccounts default -o yaml > ./sa.yaml
337
337
```
338
338
339
- ` sa.yaml ` 文件的内容类似于:
339
+ <!--
340
+ The output of the `sa.yaml` file is similar to this:
341
+ -->
342
+
343
+ ` sa.yaml ` 文件的输出类似这样:
340
344
341
345
``` yaml
342
346
apiVersion : v1
@@ -378,7 +382,7 @@ imagePullSecrets:
378
382
<!--
379
383
Finally replace the serviceaccount with the new updated `sa.yaml` file
380
384
-->
381
- 最后,用新的更新的 `sa.yaml` 文件替换服务账号 。
385
+ 最后,用新的更新的 `sa.yaml` 文件替换服务账户 。
382
386
383
387
` ` ` shell
384
388
kubectl replace serviceaccount default -f ./sa.yaml
@@ -391,15 +395,17 @@ Now, when a new Pod is created in the current namespace and using the default Se
391
395
-->
392
396
# ## 验证镜像拉取 Secret 已经被添加到 Pod 规约
393
397
394
- 现在,在当前命名空间中创建使用默认服务账号的新 Pod 时,新 Pod
398
+ 现在,在当前命名空间中创建使用默认服务账户的新 Pod 时,新 Pod
395
399
会自动设置其 `.spec.imagePullSecrets` 字段:
396
400
397
401
` ` ` shell
398
402
kubectl run nginx --image=nginx --restart=Never
399
403
kubectl get pod nginx -o=jsonpath='{.spec.imagePullSecrets[0].name}{"\n "}'
400
404
` ` `
401
405
402
- <!-- The output is : -->
406
+ <!--
407
+ The output is :
408
+ -->
403
409
输出为:
404
410
405
411
```
@@ -469,7 +475,7 @@ command line arguments to `kube-apiserver`:
469
475
-->
470
476
* `--api-audiences` (can be omitted)
471
477
472
- 服务账号令牌身份检查组件会检查针对 API 访问所使用的令牌,
478
+ 服务账户令牌身份检查组件会检查针对 API 访问所使用的令牌,
473
479
确认令牌至少是被绑定到这里所给的受众(audiences)之一。
474
480
如果此参数被多次指定,则针对所给的多个受众中任何目标的令牌都会被
475
481
Kubernetes API 服务器当做合法的令牌。如果 `--service-account-issuer`
@@ -528,7 +534,7 @@ The application is responsible for reloading the token when it rotates. Periodic
528
534
<!--
529
535
## Service Account Issuer Discovery
530
536
-->
531
- ## 发现服务账号分发者
537
+ ## 发现服务账户分发者
532
538
533
539
{{< feature-state for_k8s_version="v1.21" state="stable" >}}
534
540
@@ -537,7 +543,7 @@ The Service Account Issuer Discovery feature is enabled when the Service Account
537
543
Token Projection feature is enabled, as described
538
544
[above](#service-account-token-volume-projection).
539
545
-->
540
- 当启用服务账号令牌投射时启用发现服务账号分发者 (Service Account Issuer Discovery)
546
+ 当启用服务账户令牌投射时启用发现服务账户分发者 (Service Account Issuer Discovery)
541
547
这一功能特性,如[ 上文所述] ( #service-account-token-volume-projection ) 。
542
548
543
549
<!--
@@ -568,9 +574,9 @@ Configuration document at `/.well-known/openid-configuration` and the associated
568
574
JSON Web Key Set (JWKS) at `/openid/v1/jwks`. The OpenID Provider Configuration
569
575
is sometimes referred to as the _discovery document_.
570
576
-->
571
- 发现服务账号分发者这一功能使得用户能够用联邦的方式结合使用 Kubernetes
577
+ 发现服务账户分发者这一功能使得用户能够用联邦的方式结合使用 Kubernetes
572
578
集群(“Identity Provider”,标识提供者)与外部系统(“Relying Parties”,
573
- 依赖方)所分发的服务账号令牌 。
579
+ 依赖方)所分发的服务账户令牌 。
574
580
575
581
当此功能被启用时,Kubernetes API 服务器会在 ` /.well-known/openid-configuration `
576
582
提供一个 OpenID 提供者配置文档,并在 ` /openid/v1/jwks ` 处提供与之关联的
@@ -600,17 +606,17 @@ The responses served at `/.well-known/openid-configuration` and
600
606
compliant. Those documents contain only the parameters necessary to perform
601
607
validation of Kubernetes service account tokens.
602
608
-->
603
- 对 ` /.well-known/openid-configuration ` 和 ` /openid/v1/jwks ` 路径请求的响应
604
- 被设计为与 OIDC 兼容,但不是完全与其一致 。
605
- 返回的文档仅包含对 Kubernetes 服务账号令牌进行验证所必须的参数 。
609
+ 对 ` /.well-known/openid-configuration ` 和 ` /openid/v1/jwks ` 路径请求的响应被设计为与
610
+ OIDC 兼容,但不是与其完全一致 。
611
+ 返回的文档仅包含对 Kubernetes 服务账户令牌进行验证所必须的参数 。
606
612
607
613
<!--
608
614
The JWKS response contains public keys that a relying party can use to validate
609
615
the Kubernetes service account tokens. Relying parties first query for the
610
616
OpenID Provider Configuration, and use the `jwks_uri` field in the response to
611
617
find the JWKS.
612
618
-->
613
- JWKS 响应包含依赖方可以用来验证 Kubernetes 服务账号令牌的公钥数据 。
619
+ JWKS 响应包含依赖方可以用来验证 Kubernetes 服务账户令牌的公钥数据 。
614
620
依赖方先会查询 OpenID 提供者配置,之后使用返回响应中的 ` jwks_uri ` 来查找 JWKS。
615
621
616
622
<!--
@@ -640,7 +646,7 @@ See also:
640
646
-->
641
647
另请参见:
642
648
643
- - [ 服务账号的集群管理员指南 ] ( /zh-cn/docs/reference/access-authn-authz/service-accounts-admin/ )
644
- - [ 服务账号签署密钥检索 KEP] ( https://github.com/kubernetes/enhancements/tree/master/keps/sig-auth/1393-oidc-discovery )
649
+ - [ 服务账户的集群管理员指南 ] ( /zh-cn/docs/reference/access-authn-authz/service-accounts-admin/ )
650
+ - [ 服务账户签署密钥检索 KEP] ( https://github.com/kubernetes/enhancements/tree/master/keps/sig-auth/1393-oidc-discovery )
645
651
- [ OIDC 发现规范] ( https://openid.net/specs/openid-connect-discovery-1_0.html )
646
652
0 commit comments