Rancher 2.0 - Устранение неполадок и устранение "проблемы с диспетчером диспетчера нездоровых"

У меня проблема с контроллером-диспетчером и планировщиком, который не отвечает, это не связано с обнаруженными мной проблемами на github ( rancher # 11496, azure # 173,…)

Два дня назад у нас было переполнение памяти одним POD на одном узле в нашем кластере высокой доступности с 3 узлами. После того, как это веб-приложение ранчера стало недоступным, мы нашли скомпрометированный модуль и масштабировали его до 0 по сравнению с kubectl. Но это заняло некоторое время, чтобы выяснить все.

С тех пор ранчо webapp работает правильно, но от контроллера-менеджера и планировщика не работают постоянные предупреждения. Оповещения не состоят, иногда они оба работают, иногда их URL проверки работоспособности отказывают в соединении.

NAME                 STATUS      MESSAGE                                                                                     ERROR
controller-manager   Unhealthy   Get http://127.0.0.1:10252/healthz: dial tcp 127.0.0.1:10252: connect: connection refused
scheduler            Healthy     ok                                                                                     
etcd-0               Healthy     {"health": "true"}                                                                     
etcd-2               Healthy     {"health": "true"}                                                                     
etcd-1               Healthy     {"health": "true"}

Перезапуск контроллера-менеджера и планировщика на скомпрометированном узле не был эффективен. Даже перезагрузка всех компонентов с

docker restart kube-apiserver kubelet kube-controller-manager kube-scheduler kube-proxy не был эффективен либо.

Может кто-нибудь помочь мне разобраться с действиями по устранению неполадок и устранению этой проблемы без простоев при запуске контейнеров?

Узлы размещаются в DigitalOcean на серверах с 4 ядрами и 8 ГБ ОЗУ каждый (Ubuntu 16, Docker 17.03.3).

Заранее спасибо!

2 ответа

Первой областью, которую нужно рассмотреть, будут ваши журналы... Можете ли вы экспортировать следующие журналы и прикрепить?

/var/log/kube-controller-manager.log

Диспетчер контроллеров является конечной точкой, поэтому вам нужно будет выполнить команду "получить конечную точку". Можете ли вы запустить следующее:

kubectl -n kube-system получить конечные точки kube-controller-manager

а также

kubectl -n kube-system опишите конечные точки kube-controller-manager

а также

kubectl -n kube-system получить конечные точки kube-controller-manager -o jsonpath='{.metadata.annotations.control-plane.alpha.kubernetes.io/leader}'

Пожалуйста, запустите эту команду на главных узлах

      sed -i 's|- --port=0|#- --port=0|' /etc/kubernetes/manifests/kube-scheduler.yaml
sed -i 's|- --port=0|#- --port=0|' /etc/kubernetes/manifests/kube-controller-manager.yaml

systemctl restart kubelet

После перезапуска кублета проблема решится.

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