Сбой менеджера сертификатов kubelet после ротации сертификатов

Сбой менеджера сертификатов kubelet после ротации сертификатов

Сегодня наш кластер лаборатории k8s перестал работать на кластере. Когда я копал, это было из-за того, что сертификаты истекли.

Я пересоздал сертификаты и конфигурации, но когда я перезапускаю kubelet, мы все равно попадаем connection refusedна apiserver. Apiserver работает, но порт 6443 не открыт. При отладке журналов в выводе появляется следующая ошибка (возможно, это отвлекающий маневр, но не уверен):

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

Это kubeadmсозданный кластер. Я использовал kubeadmдля повторной генерации всех сертификатов (кроме CA). Были использованы следующие команды:

# 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

Я создал конфигурации с помощью:

# 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

Я все еще просматриваю логи. Думаю, это корень моей проблемы, но я не уверен, как ее решить. Любая помощь была бы здоровой! TIA

решение1

Проблема, если я правильно помню, была в том, что был сертификат, который вышеупомянутые команды не обновляли, но требовали. Это был сертификат sa. К счастью, прежде чем я начал работать над этим, я сделал резервную копию всех сертификатов, /var/tmpи saсертификат был там и все еще действителен. Когда я скопировал сертификат saобратно в каталог сертификатов и перезапустил, kubeletвсе снова заработало.

Связанный контент