Skip to content

Commit 603efae

Browse files
authored
Merge pull request #33670 from zaunist/setup-2
[zh]: Rsyc content/zh/docs/setup/production-environment/tools/kubeadm setup-2
2 parents 410d16d + f4eaedf commit 603efae

File tree

3 files changed

+274
-111
lines changed

3 files changed

+274
-111
lines changed

content/zh/docs/setup/best-practices/certificates.md

Lines changed: 72 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ Kubernetes 需要 PKI 证书才能进行基于 TLS 的身份验证。如果你
2626
则会自动生成集群所需的证书。你还可以生成自己的证书。
2727
例如,不将私钥存储在 API 服务器上,可以让私钥更加安全。此页面说明了集群必需的证书。
2828

29-
30-
3129
<!-- body -->
3230

3331
<!--
@@ -41,6 +39,8 @@ Kubernetes 需要 PKI 才能执行以下操作:
4139

4240
<!--
4341
* Client certificates for the kubelet to authenticate to the API server
42+
* Kubelet [server certificates](/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping/#client-and-serving-certificates)
43+
for the API server to talk to the kubelets
4444
* Server certificate for the API server endpoint
4545
* Client certificates for administrators of the cluster to authenticate to the API server
4646
* Client certificates for the API server to talk to the kubelets
@@ -50,6 +50,8 @@ Kubernetes 需要 PKI 才能执行以下操作:
5050
* Client and server certificates for the [front-proxy](/docs/tasks/extend-kubernetes/configure-aggregation-layer/)
5151
-->
5252
* Kubelet 的客户端证书,用于 API 服务器身份验证
53+
* Kubelet [服务端证书](/zh/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping/#client-and-serving-certificates)
54+
用于 API 服务器与 Kubelet 的会话
5355
* API 服务器端点的证书
5456
* 集群管理员的客户端证书,用于 API 服务器身份认证
5557
* API 服务器的客户端证书,用于和 Kubelet 的会话
@@ -75,20 +77,25 @@ etcd 还实现了双向 TLS 来对客户端和对其他对等节点进行身份
7577
<!--
7678
## Where certificates are stored
7779
78-
If you install Kubernetes with kubeadm, certificates are stored in `/etc/kubernetes/pki`. All paths in this documentation are relative to that directory.
80+
If you install Kubernetes with kubeadm, most certificates are stored in `/etc/kubernetes/pki`. All paths in this documentation are relative to that directory, with the exception of user account certificates which kubeadm places in `/etc/kubernetes`.
7981
-->
8082
## 证书存放的位置
8183

82-
如果你是通过 kubeadm 安装的 Kubernetes,所有证书都存放在 `/etc/kubernetes/pki` 目录下。本文所有相关的路径都是基于该路径的相对路径。
84+
假如通过 kubeadm 安装 Kubernetes,大多数证书都存储在 `/etc/kubernetes/pki`
85+
本文档中的所有路径都是相对于该目录的,但用户账户证书除外,kubeadm 将其放在 `/etc/kubernetes` 中。
8386

8487
<!--
8588
## Configure certificates manually
8689
87-
If you don't want kubeadm to generate the required certificates, you can create them in either of the following ways.
90+
If you don't want kubeadm to generate the required certificates, you can create them using a single root CA or by providing all certificates. See [Certificates](/docs/tasks/administer-cluster/certificates/) for details on creating your own certificate authority.
91+
See [Certificate Management with kubeadm](/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/) for more on managing certificates.
8892
-->
8993
## 手动配置证书
9094

91-
如果你不想通过 kubeadm 生成这些必需的证书,你可以通过下面两种方式之一来手动创建他们。
95+
如果你不想通过 kubeadm 生成这些必需的证书,你可以使用一个单一的根 CA
96+
来创建这些证书或者直接提供所有证书。
97+
参见[证书](/zh/docs/tasks/administer-cluster/certificates/)以进一步了解创建自己的证书机构。
98+
关于管理证书的更多信息,请参见[使用 kubeadm 进行证书管理](/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/)
9299

93100
<!--
94101
### Single root CA
@@ -120,6 +127,20 @@ On top of the above CAs, it is also necessary to get a public/private key pair f
120127

121128
上面的 CA 之外,还需要获取用于服务账户管理的密钥对,也就是 `sa.key``sa.pub`
122129

130+
<!--
131+
The following example illustrates the CA key and certificate files shown in the previous table:
132+
-->
133+
下面的例子说明了上表中所示的 CA 密钥和证书文件。
134+
135+
```console
136+
/etc/kubernetes/pki/ca.crt
137+
/etc/kubernetes/pki/ca.key
138+
/etc/kubernetes/pki/etcd/ca.crt
139+
/etc/kubernetes/pki/etcd/ca.key
140+
/etc/kubernetes/pki/front-proxy-ca.crt
141+
/etc/kubernetes/pki/front-proxy-ca.key
142+
```
143+
123144
<!--
124145
### All certificates
125146
@@ -135,7 +156,7 @@ Required certificates:
135156

136157
| 默认 CN | 父级 CA | O (位于 Subject 中) | 类型 | 主机 (SAN) |
137158
|-------------------------------|---------------------------|----------------|----------------------------------------|---------------------------------------------|
138-
| kube-etcd | etcd-ca | | server, client | `localhost`, `127.0.0.1` |
159+
| kube-etcd | etcd-ca | | server, client | `<hostname>`, `<Host_IP>`, `localhost`, `127.0.0.1` |
139160
| kube-etcd-peer | etcd-ca | | server, client | `<hostname>`, `<Host_IP>`, `localhost`, `127.0.0.1` |
140161
| kube-etcd-healthcheck-client | etcd-ca | | client | |
141162
| kube-apiserver-etcd-client | etcd-ca | system:masters | client | |
@@ -147,14 +168,14 @@ Required certificates:
147168
[1]: any other IP or DNS name you contact your cluster on (as used by [kubeadm](/docs/reference/setup-tools/kubeadm/) the load balancer stable IP and/or DNS name, `kubernetes`, `kubernetes.default`, `kubernetes.default.svc`,
148169
`kubernetes.default.svc.cluster`, `kubernetes.default.svc.cluster.local`)
149170
150-
where `kind` maps to one or more of the [x509 key usage](https://godoc.org/k8s.io/api/certificates/v1beta1#KeyUsage) types:
171+
where `kind` maps to one or more of the [x509 key usage](https://pkg.go.dev/k8s.io/api/certificates/v1beta1#KeyUsage) types:
151172
-->
152173
[1]: 用来连接到集群的不同 IP 或 DNS 名
153174
(就像 [kubeadm](/zh/docs/reference/setup-tools/kubeadm/) 为负载均衡所使用的固定
154175
IP 或 DNS 名,`kubernetes``kubernetes.default``kubernetes.default.svc`
155176
`kubernetes.default.svc.cluster``kubernetes.default.svc.cluster.local`)。
156177

157-
其中,`kind` 对应一种或多种类型的 [x509 密钥用途](https://godoc.org/k8s.io/api/certificates/v1beta1#KeyUsage)
178+
其中,`kind` 对应一种或多种类型的 [x509 密钥用途](https://pkg.go.dev/k8s.io/api/certificates/v1beta1#KeyUsage)
158179

159180
<!--
160181
| kind | Key usage |
@@ -167,7 +188,6 @@ IP 或 DNS 名,`kubernetes`、`kubernetes.default`、`kubernetes.default.svc`
167188
| server | 数字签名、密钥加密、服务端认证 |
168189
| client | 数字签名、密钥加密、客户端认证 |
169190

170-
171191
{{< note >}}
172192
<!--
173193
Hosts/SAN listed above are the recommended ones for getting a working cluster; if required by a specific setup, it is possible to add additional SANs on all the server certificates.
@@ -226,6 +246,37 @@ Same considerations apply for the service account key pair:
226246
| sa.key | | kube-controller-manager | --service-account-private-key-file |
227247
| | sa.pub | kube-apiserver | --service-account-key-file |
228248

249+
<!--
250+
The following example illustrates the file paths [from the previous tables](/docs/setup/best-practices/certificates/#certificate-paths) you need to provide if you are generating all of your own keys and certificates:
251+
-->
252+
下面的例子展示了自行生成所有密钥和证书时所需要提供的文件路径。
253+
这些路径基于[前面的表格](/zh/docs/setup/best-practices/certificates/#certificate-paths)
254+
255+
```console
256+
/etc/kubernetes/pki/etcd/ca.key
257+
/etc/kubernetes/pki/etcd/ca.crt
258+
/etc/kubernetes/pki/apiserver-etcd-client.key
259+
/etc/kubernetes/pki/apiserver-etcd-client.crt
260+
/etc/kubernetes/pki/ca.key
261+
/etc/kubernetes/pki/ca.crt
262+
/etc/kubernetes/pki/apiserver.key
263+
/etc/kubernetes/pki/apiserver.crt
264+
/etc/kubernetes/pki/apiserver-kubelet-client.key
265+
/etc/kubernetes/pki/apiserver-kubelet-client.crt
266+
/etc/kubernetes/pki/front-proxy-ca.key
267+
/etc/kubernetes/pki/front-proxy-ca.crt
268+
/etc/kubernetes/pki/front-proxy-client.key
269+
/etc/kubernetes/pki/front-proxy-client.crt
270+
/etc/kubernetes/pki/etcd/server.key
271+
/etc/kubernetes/pki/etcd/server.crt
272+
/etc/kubernetes/pki/etcd/peer.key
273+
/etc/kubernetes/pki/etcd/peer.crt
274+
/etc/kubernetes/pki/etcd/healthcheck-client.key
275+
/etc/kubernetes/pki/etcd/healthcheck-client.crt
276+
/etc/kubernetes/pki/sa.key
277+
/etc/kubernetes/pki/sa.pub
278+
```
279+
229280
<!--
230281
## Configure certificates for user accounts
231282
@@ -285,3 +336,14 @@ These files are used as follows:
285336
| controller-manager.conf | kube-controller-manager | 必需添加到 `manifests/kube-controller-manager.yaml` 清单中 |
286337
| scheduler.conf | kube-scheduler | 必需添加到 `manifests/kube-scheduler.yaml` 清单中 |
287338

339+
<!--
340+
The following files illustrate full paths to the files listed in the previous table:
341+
-->
342+
下面是前表中所列文件的完整路径。
343+
344+
```console
345+
/etc/kubernetes/admin.conf
346+
/etc/kubernetes/kubelet.conf
347+
/etc/kubernetes/controller-manager.conf
348+
/etc/kubernetes/scheduler.conf
349+
```

0 commit comments

Comments
 (0)