更新 HA k8s 叢集的 apiserver 憑證

更新 HA k8s 叢集的 apiserver 憑證

我有由 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

請記住,您需要在所有控制平面節點上運行它。

相關內容