更新 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

请记住,您需要在所有控制平面节点上运行它。

相关内容