ПРИВЕТ Я знаю, что есть способ вытащить проблемный узел из балансировщика нагрузки для устранения неполадок. Но как я могу вывести модуль из эксплуатации для устранения неполадок. Какие инструменты или команды могут это сделать?
как отключить проблемный модуль для устранения неполадок
Ответы (2)
Как упоминалось в статье Oreilly «Рецепты Kubernetes: обслуживание и устранение неполадок», здесь а>
Удаление модуля из службы
Проблема
У вас есть четко определенный сервис (см. Недоступный), поддерживаемый несколькими модулями. Но один из модулей ведет себя некорректно, и вы хотите удалить его из списка конечных точек, чтобы проверить его позже.
Решение
Изменить метку модуля с помощью параметра --overwrite - это позволит вам изменить значение метки выполнения на модуле. Перезаписывая эту метку, вы можете гарантировать, что она не будет выбрана селектором служб (недоступно) и будет удалена из списка конечных точек. В то же время набор реплик, наблюдающий за вашими модулями, увидит, что модуль исчез, и запустит новую реплику.
Чтобы увидеть это в действии, начните с простого развертывания, созданного с помощью kubectl run (см. Недоступно):
Чтобы узнать о командах, проверьте страницу рецептов, упомянутую выше. Также есть раздел, посвященный "Модулям отладки", который будет полезен.
Измените его метки, чтобы они больше не соответствовали selector:
в Service
; мы делали это все время. Вы даже можете вернуть его в ротацию, если хотите проверить гипотезу. Я не помню точно, как быстро это вступит в силу, но полагаю, что «очень быстро» - хорошее приближение. :-)
## for example:
$ kubectl label pod $the_pod -app.kubernetes.io/name
## or, change it to non-matching
$ kubectl label pod $the_pod app.kubernetes.io/name=i-am-debugging-this-pod