как отключить проблемный c модуль в автономном режиме для устранения неполадок - PullRequest
3 голосов
/ 14 февраля 2020

HI Я знаю, что есть способ вытащить проблемный c узел из loadbalancer для устранения неполадок. Но как я могу вытащить модуль из службы для устранения неполадок. Какие инструменты или команды могут это сделать?

Ответы [ 2 ]

5 голосов
/ 14 февраля 2020

Измените его метки, чтобы они больше не соответствовали 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
1 голос
/ 14 февраля 2020

Как упомянуто в "Рецептах Kubernetes Ореилли: техническое обслуживание и устранение неисправностей" страница здесь

Удаление стручка из службы

Проблема

У вас есть четко определенный сервис (см. Недоступный), поддерживаемый несколькими модулями. Но один из модулей работает неправильно, и вы хотели бы вынуть его из списка конечных точек, чтобы проверить его позже.

Решение

Пересчитайте модуль, используя опцию --overwrite - это позволит вам изменить значение метки запуска на модуле. Перезаписав эту метку, вы можете быть уверены, что она не будет выбрана селектором услуг (недоступно) и будет удалена из списка конечных точек. В то же время набор реплик, наблюдающий за вашими модулями, увидит, что модуль исчез, и запустит новую реплику.

Чтобы увидеть это в действии, начните с простого развертывания, созданного с помощью kubectl run (см. Не доступны):

Для команд, проверьте страницу рецептов, упомянутых выше. Также есть раздел, посвященный «Отладке модулей», который будет полезен

...