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.