我有由 kubeadm 创建的 HA k8s 集群。我想更新 API 服务器证书以添加其他 SAN。为此,我遵循了另一个邮政,但我对 HA 集群做了以下操作:
删除了 API 服务器证书在所有控制平面节点上
已检索当前 kubeadm 配置映射
kubectl get configmap kubeadm-config \ --namespace kube-system \ --output jsonpath={{ .data.ClusterConfiguration }}
- 用必要的配置部分进行扩展
apiServer: certSANs: - localhost - 127.0.0.1
- 使用更新的配置生成新证书在所有控制平面节点上
kubeadm init phase certs apiserver --config <config_path>
重新启动 API 服务器容器在所有控制平面节点上
更新了集群内配置
kubeadm init phase upload-config kubeadm --config <config_path>
问题是这些步骤是否正确或者还有其他更简单的方法?
答案1
我想到最快的方法是这样的:
# remove current apiserver certificates
sudo rm /etc/kubernetes/pki/apiserver.*
# generate new certificates
sudo kubeadm init phase certs apiserver --apiserver-cert-extra-sans=localhost,127.0.0.1
请记住,您需要在所有控制平面节点上运行它。