Atualizar certificados apiserver para cluster HA k8s

Atualizar certificados apiserver para cluster HA k8s

Eu tenho um cluster HA k8s que foi criado por kubeadm. Gostaria de atualizar o certificado do servidor API para adicionar SANs adicionais. Para tanto segui alguns passos descritos em outropublicar, mas o que fiz para o cluster HA:

  • Certificados de servidor API removidosem todos os nós do plano de controle

  • Mapa de configuração atual do kubeadm recuperado

kubectl get configmap kubeadm-config \
  --namespace kube-system \
  --output jsonpath={{ .data.ClusterConfiguration }}
  • Estendido com parte de configuração necessária
apiServer:
  certSANs:
    - localhost
    - 127.0.0.1
  • Novos certificados gerados com configuração atualizadaem todos os nós do plano de controle

kubeadm init phase certs apiserver --config <config_path>

  • Contêiner do servidor API reiniciadoem todos os nós do plano de controle

  • Configuração atualizada no cluster

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

A questão é se essas etapas estão corretas ou existe outra maneira mais simples?

Responder1

A maneira mais rápida que encontrei é esta:

# 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

Lembre-se de que você precisa executá-lo em todos os nós simples de controle.

informação relacionada