Я пытаюсь добиться, чтобы срок действия моего кластера kubernetes составлял 5 лет, поэтому я сделал свои ca.crt, apiserver.crt, kubelet-client.crt, front-proxy.crt сроком на 5 лет и поместил их в / etc / kubernetes / pki .
Кроме того, я включил свой кублет с ротацией сертификатов клиента
Environment="KUBELET_CERTIFICATE_ARGS=--rotate-certificates=true --cert-dir=/var/lib/kubelet/pki --feature-gates=RotateKubeletClientCertificate=true"
Для проверкимой кластер работает нормально Я изменил дату в моей системе на 1 день до истечения 1 года, и чередование сертификатов выполнено правильно
Oct 22 06:00:16 ip-10-0-1-170.ec2.internal kubelet[28887]: I1022 06:00:16.806115 28887 reconciler.go:154] Reconciler: start to sync state
Oct 22 06:00:23 ip-10-0-1-170.ec2.internal kubelet[28887]: I1022 06:00:23.546154 28887 transport.go:126] certificate rotation detected, shutting down client connections to start using new credentials
Но как только мой кластер проходит один год, он начинает показывать ошибку на любом kubectl getКоманда node / pods: «ошибка: вы должны войти в систему на сервере (не авторизовано)»
Возможная проблема, которую я могу представить, заключается в том, что / etc / kubernetes / admin.conf имеет только одну проблему-годичные сертификатыСпасибо за вашу помощь