![更新 HA k8s 叢集的 apiserver 憑證](https://rvso.com/image/756224/%E6%9B%B4%E6%96%B0%20HA%20k8s%20%E5%8F%A2%E9%9B%86%E7%9A%84%20apiserver%20%E6%86%91%E8%AD%89.png)
我有由 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
請記住,您需要在所有控制平面節點上運行它。