@@ -82,10 +82,10 @@ If you install Kubernetes with kubeadm, most certificates are stored in `/etc/ku
82
82
All paths in this documentation are relative to that directory, with the exception of user account
83
83
certificates which kubeadm places in `/etc/kubernetes`.
84
84
-->
85
- ## 证书存放的位置 {#where-certificates-are-stored}
85
+ ## 证书存储位置 {#where-certificates-are-stored}
86
86
87
- 假如通过 kubeadm 安装 Kubernetes,大多数证书都存储在 ` /etc/kubernetes/pki ` 。
88
- 本文档中的所有路径都是相对于该目录的,但用户账户证书除外 ,kubeadm 将其放在 ` /etc/kubernetes ` 中。
87
+ 假如你通过 kubeadm 安装 Kubernetes,大多数证书会被存储在 ` /etc/kubernetes/pki ` 中 。
88
+ 本文档中的所有路径都是相对于该目录的,但用户账号证书除外 ,kubeadm 将其放在 ` /etc/kubernetes ` 中。
89
89
90
90
<!--
91
91
## Configure certificates manually
@@ -98,10 +98,9 @@ for more on managing certificates.
98
98
-->
99
99
## 手动配置证书 {#configure-certificates-manually}
100
100
101
- 如果你不想通过 kubeadm 生成这些必需的证书,你可以使用一个单一的根 CA
102
- 来创建这些证书或者直接提供所有证书。
103
- 参见[ 证书] ( /zh-cn/docs/tasks/administer-cluster/certificates/ ) 以进一步了解创建自己的证书机构。
104
- 关于管理证书的更多信息,请参见[ 使用 kubeadm 进行证书管理] ( /zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/ ) 。
101
+ 如果你不想通过 kubeadm 生成所需证书,你可以使用一个单根 CA 来创建这些证书,或者直接提供所有证书。
102
+ 参见[ 证书] ( /zh-cn/docs/tasks/administer-cluster/certificates/ ) 以进一步了解如何创建自己的证书授权机构。
103
+ 更多关于管理证书的信息,请参阅[ 使用 kubeadm 进行证书管理] ( /zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/ ) 。
105
104
106
105
<!--
107
106
### Single root CA
@@ -111,7 +110,8 @@ multiple intermediate CAs, and delegate all further creation to Kubernetes itsel
111
110
-->
112
111
### 单根 CA {#single-root-ca}
113
112
114
- 你可以创建由管理员控制的单根 CA。该根 CA 可以创建多个中间 CA,并将所有进一步的创建委托给 Kubernetes。
113
+ 你可以创建由管理员控制的单根 CA。这个根 CA 可以创建多个中间 CA,
114
+ 并将所有进一步的创建委托给 Kubernetes 本身。
115
115
116
116
<!--
117
117
Required CAs:
@@ -133,7 +133,7 @@ management, `sa.key` and `sa.pub`.
133
133
| etcd/ca.crt,key | etcd-ca | 与 etcd 相关的所有功能 |
134
134
| front-proxy-ca.crt,key | kubernetes-front-proxy-ca | 用于[ 前端代理] ( /zh-cn/docs/tasks/extend-kubernetes/configure-aggregation-layer/ ) |
135
135
136
- 上面的 CA 之外,还需要获取用于服务账户管理的密钥对 ,也就是 ` sa.key ` 和 ` sa.pub ` 。
136
+ 上面的 CA 之外,还需要获取用于服务账号管理的密钥对 ,也就是 ` sa.key ` 和 ` sa.pub ` 。
137
137
138
138
<!--
139
139
The following example illustrates the CA key and certificate files shown in the previous table:
@@ -183,6 +183,16 @@ Required certificates:
183
183
| kube-apiserver-kubelet-client | kubernetes-ca | system: masters | client | |
184
184
| front-proxy-client | kubernetes-front-proxy-ca | | client | |
185
185
186
+ {{< note >}}
187
+ <!--
188
+ Instead of using the super-user group `system:masters` for `kube-apiserver-kubelet-client`
189
+ a less privileged group can be used. kubeadm uses the `kubeadm:cluster-admins` group for
190
+ that purpose.
191
+ -->
192
+ 不使用超级用户组 ` system:masters ` 来控制 ` kube-apiserver-kubelet-client ` ,
193
+ 可以使用一个权限较低的组。kubeadm 使用 ` kubeadm:cluster-admins ` 组来达到这个目的。
194
+ {{< /note >}}
195
+
186
196
<!--
187
197
[1]: any other IP or DNS name you contact your cluster on (as used by [kubeadm](/docs/reference/setup-tools/kubeadm/)
188
198
the load balancer stable IP and/or DNS name, `kubernetes`, `kubernetes.default`, `kubernetes.default.svc`,
@@ -192,9 +202,9 @@ where `kind` maps to one or more of the x509 key usage, which is also documented
192
202
`.spec.usages` of a [CertificateSigningRequest](/docs/reference/kubernetes-api/authentication-resources/certificate-signing-request-v1#CertificateSigningRequest)
193
203
type:
194
204
-->
195
- [ 1] : 用来连接到集群的不同 IP 或 DNS 名
205
+ [ 1] : 用来连接到集群的不同 IP 或 DNS 名称
196
206
(就像 [ kubeadm] ( /zh-cn/docs/reference/setup-tools/kubeadm/ ) 为负载均衡所使用的固定
197
- IP 或 DNS 名 :` kubernetes ` 、` kubernetes.default ` 、` kubernetes.default.svc ` 、
207
+ IP 或 DNS 名称 :` kubernetes ` 、` kubernetes.default ` 、` kubernetes.default.svc ` 、
198
208
` kubernetes.default.svc.cluster ` 、` kubernetes.default.svc.cluster.local ` )。
199
209
200
210
其中 ` kind ` 对应一种或多种类型的 x509 密钥用途,也可记录在
@@ -217,7 +227,8 @@ IP 或 DNS 名:`kubernetes`、`kubernetes.default`、`kubernetes.default.svc`
217
227
Hosts/SAN listed above are the recommended ones for getting a working cluster; if required by a
218
228
specific setup, it is possible to add additional SANs on all the server certificates.
219
229
-->
220
- 上面列出的 Hosts/SAN 是推荐的配置方式;如果需要特殊安装,则可以在所有服务器证书上添加其他 SAN。
230
+ 上面列出的 Host/SAN 是获取工作集群的推荐配置方式;
231
+ 如果需要特殊安装,则可以在所有服务器证书上添加其他 SAN。
221
232
{{< /note >}}
222
233
223
234
{{< note >}}
@@ -232,8 +243,8 @@ For kubeadm users only:
232
243
-->
233
244
对于 kubeadm 用户:
234
245
235
- * 不使用私钥,将证书复制到集群 CA 的方案,在 kubeadm 文档中将这种方案称为外部 CA。
236
- * 如果将以上列表与 kubeadm 生成的 PKI 进行比较,你会注意到,如果使用外部 etcd,则不会生成
246
+ * 不使用私钥并将证书复制到集群 CA 的方案,在 kubeadm 文档中将这种方案称为外部 CA。
247
+ * 如果将上表与 kubeadm 生成的 PKI 进行比较,你会注意到,如果使用外部 etcd,则不会生成
237
248
` kube-etcd ` 、` kube-etcd-peer ` 和 ` kube-etcd-healthcheck-client ` 证书。
238
249
239
250
{{< /note >}}
@@ -287,7 +298,7 @@ Paths should be specified using the given argument regardless of location.
287
298
<!--
288
299
Same considerations apply for the service account key pair:
289
300
-->
290
- 注意事项同样适用于服务帐户密钥对 :
301
+ 注意事项同样适用于服务账号密钥对 :
291
302
292
303
<!--
293
304
| private key path | public key path | command | argument |
@@ -337,24 +348,26 @@ you need to provide if you are generating all of your own keys and certificates:
337
348
338
349
You must manually configure these administrator account and service accounts:
339
350
-->
340
- ## 为用户帐户配置证书 {#configure-certificates-for-user-accounts}
351
+ ## 为用户账号配置证书 {#configure-certificates-for-user-accounts}
341
352
342
- 你必须手动配置以下管理员帐户和服务帐户 :
353
+ 你必须手动配置以下管理员账号和服务账号 :
343
354
344
355
<!--
345
- | filename | credential name | Default CN | O (in Subject) |
346
- |-------------------------|----------------------------|-------------------------------------|----------------|
347
- | admin.conf | default-admin | kubernetes-admin | system:masters |
348
- | kubelet.conf | default-auth | system:node:`<nodeName>` (see note) | system:nodes |
349
- | controller-manager.conf | default-controller-manager | system:kube-controller-manager | |
350
- | scheduler.conf | default-scheduler | system:kube-scheduler | |
356
+ | filename | credential name | Default CN | O (in Subject) |
357
+ |-------------------------|----------------------------|-------------------------------------|------------------------|
358
+ | admin.conf | default-admin | kubernetes-admin | `<admin-group>` |
359
+ | super-admin.conf | default-super-admin | kubernetes-super-admin | system:masters |
360
+ | kubelet.conf | default-auth | system:node:`<nodeName>` (see note) | system:nodes |
361
+ | controller-manager.conf | default-controller-manager | system:kube-controller-manager | |
362
+ | scheduler.conf | default-scheduler | system:kube-scheduler | |
351
363
-->
352
- | 文件名 | 凭据名称 | 默认 CN | O (位于 Subject 中) |
353
- | -------------------------| ----------------------------| --------------------------------| ---------------------|
354
- | admin.conf | default-admin | kubernetes-admin | system: masters |
355
- | kubelet.conf | default-auth | system:node:` <nodeName> ` (参阅注释) | system: nodes |
356
- | controller-manager.conf | default-controller-manager | system: kube-controller-manager | |
357
- | scheduler.conf | default-scheduler | system: kube-scheduler | |
364
+ | 文件名 | 凭据名称 | 默认 CN | O (位于 Subject 中) |
365
+ | -------------------------| ----------------------------| -------------------------------------| ------------------------|
366
+ | admin.conf | default-admin | kubernetes-admin | ` <admin-group> ` |
367
+ | super-admin.conf | default-super-admin | kubernetes-super-admin | system: masters |
368
+ | kubelet.conf | default-auth | system:node:` <nodeName> ` (参阅注释) | system: nodes |
369
+ | controller-manager.conf | default-controller-manager | system: kube-controller-manager | |
370
+ | scheduler.conf | default-scheduler | system: kube-scheduler | |
358
371
359
372
{{< note >}}
360
373
<!--
@@ -366,6 +379,37 @@ provided by the kubelet as it registers with the apiserver. For further details,
366
379
有关更多详细信息,请阅读[ 节点授权] ( /zh-cn/docs/reference/access-authn-authz/node/ ) 。
367
380
{{< /note >}}
368
381
382
+ {{< note >}}
383
+ <!--
384
+ In the above example `<admin-group>` is implementation specific. Some tools sign the
385
+ certificate in the default `admin.conf` to be part of the `system:masters` group.
386
+ `system:masters` is a break-glass, super user group can bypass the authorization
387
+ layer of Kubernetes, such as RBAC. Also some tools do not generate a separate
388
+ `super-admin.conf` with a certificate bound to this super user group.
389
+ -->
390
+ 在上面的例子中,` <admin-group> ` 是实现特定的。
391
+ 一些工具在默认的 ` admin.conf ` 中签署证书,以成为 ` system:masters ` 组的一部分。
392
+ ` system:masters ` 是一个紧急情况下的超级用户组,可以绕过 Kubernetes 的授权层,如 RBAC。
393
+ 另外,某些工具不会生成单独的 ` super-admin.conf ` 将证书绑定到这个超级用户组。
394
+
395
+ <!--
396
+ kubeadm generates two separate administrator certificates in kubeconfig files.
397
+ One is in `admin.conf` and has `Subject: O = kubeadm:cluster-admins, CN = kubernetes-admin`.
398
+ `kubeadm:cluster-admins` is a custom group bound to the `cluster-admin` ClusterRole.
399
+ This file is generated on all kubeadm managed control plane machines.
400
+ -->
401
+ kubeadm 在 kubeconfig 文件中生成两个单独的管理员证书。
402
+ 一个是在 ` admin.conf ` 中,带有 ` Subject: O = kubeadm:cluster-admins, CN = kubernetes-admin ` 。` kubeadm:cluster-admins ` 是绑定到 ` cluster-admin ` ClusterRole 的自定义组。
403
+ 这个文件在所有由 kubeadm 管理的控制平面机器上生成。
404
+
405
+ <!--
406
+ Another is in `super-admin.conf` that has `Subject: O = system:masters, CN = kubernetes-super-admin`.
407
+ This file is generated only on the node where `kubeadm init` was called.
408
+ -->
409
+ 另一个是在 ` super-admin.conf ` 中,具有 ` Subject: O = system:masters, CN = kubernetes-super-admin ` 。
410
+ 这个文件只在调用了 ` kubeadm init ` 的节点上生成。
411
+ {{< /note >}}
412
+
369
413
<!--
370
414
1. For each config, generate an x509 cert/key pair with the given CN and O.
371
415
@@ -388,6 +432,7 @@ These files are used as follows:
388
432
| filename | command | comment |
389
433
|-------------------------|-------------------------|-----------------------------------------------------------------------|
390
434
| admin.conf | kubectl | Configures administrator user for the cluster |
435
+ | super-admin.conf | kubectl | Configures super administrator user for the cluster |
391
436
| kubelet.conf | kubelet | One required for each node in the cluster. |
392
437
| controller-manager.conf | kube-controller-manager | Must be added to manifest in `manifests/kube-controller-manager.yaml` |
393
438
| scheduler.conf | kube-scheduler | Must be added to manifest in `manifests/kube-scheduler.yaml` |
@@ -397,9 +442,10 @@ These files are used as follows:
397
442
| 文件名 | 命令 | 说明 |
398
443
| -------------------------| -------------------------| -----------------------------------------------------------------------|
399
444
| admin.conf | kubectl | 配置集群的管理员 |
445
+ | super-admin.conf | kubectl | 为集群配置超级管理员用户 |
400
446
| kubelet.conf | kubelet | 集群中的每个节点都需要一份 |
401
- | controller-manager.conf | kube-controller-manager | 必需添加到 ` manifests/kube-controller-manager.yaml ` 清单中 |
402
- | scheduler.conf | kube-scheduler | 必需添加到 ` manifests/kube-scheduler.yaml ` 清单中 |
447
+ | controller-manager.conf | kube-controller-manager | 必须添加到 ` manifests/kube-controller-manager.yaml ` 清单中 |
448
+ | scheduler.conf | kube-scheduler | 必须添加到 ` manifests/kube-scheduler.yaml ` 清单中 |
403
449
404
450
<!--
405
451
The following files illustrate full paths to the files listed in the previous table:
@@ -408,6 +454,7 @@ The following files illustrate full paths to the files listed in the previous ta
408
454
409
455
``` console
410
456
/etc/kubernetes/admin.conf
457
+ /etc/kubernetes/super-admin.conf
411
458
/etc/kubernetes/kubelet.conf
412
459
/etc/kubernetes/controller-manager.conf
413
460
/etc/kubernetes/scheduler.conf
0 commit comments