默认情况下,Kubernetes 集群需要用到证书,而 RKE 会自动为所有集群组件生成证书。您也可以使用。
使用RKE 部署 Kubernetes时,可以在命令后面添加额外的选项,命令 RKE 使用自定义证书部署 Kubernetes。
无论您使用默认路径还是其他路径保存证书,都要确保该路径下已有以下证书和密钥:
名称 | 证书 | 密钥 |
---|---|---|
Master CA | kube-ca.pem | N/A |
Kube API | kube-apiserver.pem | kube-apiserver-key.pem |
Kube Controller Manager | kube-controller-manager.pem | kube-controller-manager-key.pem |
Kube Scheduler | kube-scheduler.pem | kube-scheduler-key.pem |
Kube Proxy | kube-proxy.pem | kube-proxy-key.pem |
Kube Admin | kube-admin.pem | kube-admin-key.pem |
Kube Node | kube-node.pem | kube-node-key.pem |
Apiserver Proxy Client | kube-apiserver-proxy-client.pem | kube-apiserver-proxy-client-key.pem |
Etcd Nodes | kube-etcd-x-x-x-x.pem | kube-etcd-x-x-x-x-key.pem |
Kube Api Request Header CA | kube-apiserver-requestheader-ca.pem* | kube-apiserver-requestheader-ca-key.pem |
Service Account Token | N/A | kube-service-account-token-key.pem |
*:和 kube-ca.pem 相同。
运行
rke cert generate-csr
命令,生成cluster.yml
文件中提及的节点需要的证书。默认情况下,RKE 会将 CSR 和密钥保存在路径。如果您需要将它们保存在其他路径,请在命令后添加使用--cert-dir <PathName>
选项,将<PathName>
替换成其他路径名称。
结果: 生成了多个 CSR 和密钥。它们被部署在您指定的路径。如果您没有指定路径,它们则会被部署在。CSR 文件中包含了证书需要用到的 Alternative DNS 地址和 IP Names。您可以使用它们给证书颁发机构颁发的证书签名。完成此过程后,RKE 可以使用这些自定义证书。