falha no gerenciador de certificados kubelet após a rotação do certificado

falha no gerenciador de certificados kubelet após a rotação do certificado

Hoje nosso cluster k8s de laboratório parou de permitir o trabalho no cluster. Quando investiguei, foi porque os certificados expiraram.

Regenerei os certificados e configurações, mas quando reinicio o kubelet, ainda chegamos connection refusedao apiserver. O apiserver está em execução, mas a porta 6443 não está aberta. Ao depurar logs, o seguinte erro aparece na saída (talvez uma pista falsa, mas não tenho certeza):

Current certificate CN (system:node:lab-02) does not match requested CN (system:node:control-plane-xm2c9)

Este é um kubeadmcluster criado. Eu costumava kubeadmregenerar todos os certificados (exceto a CA). Os seguintes comandos foram usados:

# kubeadm init phase certs apiserver --apiserver-cert-extra-sans control-plane-xm2c9 --apiserver-advertise-address 192.168.2.78
# kubeadm init phase certs apiserver-etcd-client
# kubeadm init phase certs apiserver-kubelet-client

Eu criei as configurações com:

# kubeadm init phase kubeconfig admin --apiserver-advertise-address 192.168.2.78
# kubeadm init phase kubeconfig kubelet  --apiserver-advertise-address 192.168.2.78
# kubeadm init phase kubeconfig controller-manager --apiserver-advertise-address 192.168.2.78
# kubeadm init phase kubeconfig scheduler --apiserver-advertise-address 192.168.2.78

Ainda estou vasculhando os registros. Acho que essa é a raiz do meu problema, mas não sei como resolvê-lo. Qualquer apoio seria bom! TIA

Responder1

O problema, se bem me lembro, era que havia um certificado de que os comandos mencionados acima não eram atualizados, mas eram necessários. Foi o sacertificado. Felizmente, antes de começar qualquer trabalho nisso, fiz backup de todos os certificados /var/tmpe o sacertificado estava lá e ainda era válido. Quando copiei o sacertificado de volta para o diretório cert e reiniciei kubelet, tudo funcionou novamente.

informação relacionada