默认情况下,Kubernetes 集群需要用到证书,而 RKE 会自动为所有集群组件生成证书。您也可以使用。

使用RKE 部署 Kubernetes时,可以在命令后面添加额外的选项,命令 RKE 使用自定义证书部署 Kubernetes。

无论您使用默认路径还是其他路径保存证书,都要确保该路径下已有以下证书和密钥:

名称证书密钥
Master CAkube-ca.pemN/A
Kube APIkube-apiserver.pemkube-apiserver-key.pem
Kube Controller Managerkube-controller-manager.pemkube-controller-manager-key.pem
Kube Schedulerkube-scheduler.pemkube-scheduler-key.pem
Kube Proxykube-proxy.pemkube-proxy-key.pem
Kube Adminkube-admin.pemkube-admin-key.pem
Kube Nodekube-node.pemkube-node-key.pem
Apiserver Proxy Clientkube-apiserver-proxy-client.pemkube-apiserver-proxy-client-key.pem
Etcd Nodeskube-etcd-x-x-x-x.pemkube-etcd-x-x-x-x-key.pem
Kube Api Request Header CAkube-apiserver-requestheader-ca.pem*kube-apiserver-requestheader-ca-key.pem
Service Account TokenN/Akube-service-account-token-key.pem

*:和 kube-ca.pem 相同。

  1. 运行rke cert generate-csr命令,生成cluster.yml文件中提及的节点需要的证书。默认情况下,RKE 会将 CSR 和密钥保存在路径。如果您需要将它们保存在其他路径,请在命令后添加使用 --cert-dir <PathName>选项,将<PathName>替换成其他路径名称。

结果: 生成了多个 CSR 和密钥。它们被部署在您指定的路径。如果您没有指定路径,它们则会被部署在。CSR 文件中包含了证书需要用到的 Alternative DNS 地址和 IP Names。您可以使用它们给证书颁发机构颁发的证书签名。完成此过程后,RKE 可以使用这些自定义证书。