#kubernetes
#kubernetes
Вопрос:
У меня есть 2 подчиненных и 1 главный узел кластера kubernetes.Когда узел не работает, требуется примерно 5 минут, чтобы kubernetes увидел этот сбой.Я использую динамическую инициализацию для томов, и этого времени для меня немного много.Как я могу уменьшить время обнаружения сбоя? Я нашел сообщение об этом: https://fatalfailure.wordpress.com/2016/06/10/improving-kubernetes-reliability-quicker-detection-of-a-node-down/
В нижней части сообщения говорится, что мы можем сократить это время обнаружения, изменив эти параметры:
kubelet: node-status-update-frequency = 4 с (из 10 с)
диспетчер контроллера: node-monitor-period = 2 с (из 5 с)
диспетчер контроллера: node-monitor-grace-period = 16 с (из 40 с)
диспетчер контроллера: pod-execution-timeout = 30 с (из5 м)
я могу изменить параметр node-status-update-frequency из kubelet, но у меня нет никакой программы или команды диспетчера контроллера в командной строке.Как я могу изменить эти параметры? Любые другие предложения по сокращению времени простоя обнаружения будут оценены.
Ответ №1:
..но у меня нет никакой программы диспетчера контроллера или команды в cli.Как я могу изменить эти параметры?
Вы можете изменить / добавить этот параметр в controller-manger
файл systemd unit и перезапустить демон. Пожалуйста, проверьте справочные страницы для controller-manager
здесь.
Если вы развертываете controller-manager
как микросервис (pod), проверьте файл манифеста для этого модуля и измените параметры в command
разделе контейнера (например, как это)
Комментарии:
1. Об этом может быть файл манифеста: /etc/kubernetes/manifests/kube-controller-manager . yaml Могу ли я добавить эти флаги и применить этот файл манифеста? Полезно ли это? kubectl apply -f kube-controller-manager.yaml
2. Да, вы можете изменить этот манифест. Возможно, после этого вам потребуется перезапустить kubelet.
3. К сожалению, файл манифеста выдает crashloopbackoff. Я также пробовал /etc/systemd/system/kubelet.service.d/10-kubeadm.conf, но это не дает никакого эффекта. когда я даю команду describe, она ничего не показывает: повторный перезапуск неудачного контейнера
4. @AdiSoyadi, о чем это говорит? Я точно не помню, можете ли вы проверить, как развертываются эти модули, т.е.
replicaset
илиdeamonset
вkube-system
пространстве имен. Затем откройте файл манифеста дляreplicaset
/daemonset
и отредактируйте.
Ответ №2:
На самом деле это kube-controller-manager. Вы также можете уменьшить период —attach-detach-conservate-sync-period с 1 м до 15 или 30 секунд для kube-controller-manager . Это позволит выполнять более быстрые действия по присоединению-отсоединению томов. То, как вы изменяете эти параметры, зависит от того, как вы настроили кластер.
Комментарии:
1. Спасибо за ответ. Моя настоящая проблема в том, что я не могу найти какую-либо документацию о kube-controller-manager, и я не знаю, как ее настроить и как ее использовать. Мой кластер: 2slavex1master в локальном кластере.(virtualbox)
2. Привет, не могли бы вы отредактировать / etc /kubernetes /manifests /kube-controller-manager. yaml и добавьте необходимые флаги, как описано сообществом @Veerendra здесь