更新 HA k8s 集群的 apiserver 证书

Ana*_*oli 2 kubernetes kubeadm

我有由 kubeadm 创建的 HA k8s 集群。我想更新 API 服务器证书以添加其他 SAN。为此,我遵循了另一篇文章中描述的一些步骤,但我对 HA 集群做了什么:

  • 删除了所有控制平面节点上的API 服务器证书

  • 检索当前的 kubeadm 配置映射

kubectl get configmap kubeadm-config \
  --namespace kube-system \
  --output jsonpath={{ .data.ClusterConfiguration }}
Run Code Online (Sandbox Code Playgroud)
  • 用必要的配置部分扩展它
apiServer:
  certSANs:
    - localhost
    - 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
  • 在所有控制平面节点上生成具有更新配置的新证书

kubeadm init phase certs apiserver --config <config_path>

  • 在所有控制平面节点上重新启动 API 服务器容器

  • 更新了集群内配置

kubeadm init phase upload-config kubeadm --config <config_path>

问题是这些步骤是否正确,或者还有其他更简单的方法吗?

Mat*_*att 5

我想出的最快的方法是:

# 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
Run Code Online (Sandbox Code Playgroud)

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