как отключить проблемный модуль для устранения неполадок

ПРИВЕТ Я знаю, что есть способ вытащить проблемный узел из балансировщика нагрузки для устранения неполадок. Но как я могу вывести модуль из эксплуатации для устранения неполадок. Какие инструменты или команды могут это сделать?


person Gabriel Wu    schedule 14.02.2020    source источник


Ответы (2)


Как упоминалось в статье Oreilly «Рецепты Kubernetes: обслуживание и устранение неполадок», здесь

Удаление модуля из службы

Проблема

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

Решение

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

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

Чтобы узнать о командах, проверьте страницу рецептов, упомянутую выше. Также есть раздел, посвященный "Модулям отладки", который будет полезен.

person Vidyasagar Machupalli    schedule 14.02.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
person mdaniel    schedule 14.02.2020