После перезагрузки K8s Master, apiserver выдает ошибку "x509: срок действия сертификата истек или он еще не действителен"

У меня есть мультимастерная настройка кластера kubernetes с использованием Kubespray. Я запустил приложение, используя helm, что значительно увеличило нагрузку на master. это сделало мастера почти недоступными. После этого я по одному выключаю мастеров и увеличиваю на них ОЗУ и ЦП. Но после перезагрузки модули apiserver и scheduler не запускаются. Они находятся в состоянии "CreateContainerError".

APIserver регистрирует множество ошибок с сообщением x509: certificate has expired or is not yet valid,

Есть другие потоки для этой ошибки, и большинство из них предлагает исправить сертификаты apiserver или кластера. Но это новый кластер, и сертификаты действительны до 2020 года.

Вот некоторые детали моего кластера.

CentOS Linux release: 7.6.1810 (Core)
Docker version: 18.06.1-ce, build e68fc7a

Kubernetes версия

Client Version: v1.13.2
Server Version: v1.13.2

1 ответ

Решение

Вполне возможно, что во время завершения работы / перезагрузки контейнеры док-станции для apiserver и планировщика вышли с ненулевым статусом выхода, таким как 255. Я предлагаю вам сначала удалить все контейнеры с ненулевым статусом выхода, используя команду docker rm. Сделайте это на всех мастерах, а также на рабочих узлах.

По умолчанию kubernetes запускает новые модули для всех служб (apiserver, shceduler, контроллер-менеджер, dns, сеть pod и т. Д.) После перезагрузки. Вы можете увидеть недавно запущенные контейнеры для этих сервисов, используя пример команд docker:

docker ps -a | grep "kube-apiserver" OR
docker ps -a | grep "kube-scheduler"

Я полагаю, что после удаления вышедших контейнеров новые модули для apiserver и планировщика должны работать в кластере должным образом и находиться в состоянии "Выполняется".

Другие вопросы по тегам