Как установить новый уровень ведения журнала на kube-proxy, в работающем кластере

Есть ли способ изменить уровень ведения журнала в работающем кластере, особенно для отдельного компонента системы, такого как kube-proxy?

Я вижу некоторые обсуждения, связанные с этим:
https://github.com/kubernetes/test-infra/pull/4311, и кажется, что какой-то механизм был задействован, но мне непонятно, как использовать этот механизм.

Этот вопрос возник, потому что мы устраняем проблемы с подключениями к службе NodePort (которая должна проходить через kube-proxy), и на уровне по умолчанию --v = 2 kube-proxy, похоже, не регистрирует ни одно из подключений, которые он проксирует. , поэтому стремимся его увеличить.


person S V    schedule 09.04.2018    source источник


Ответы (1)


вроде бы какой-то механизм был на месте, но мне непонятно как использовать этот механизм

Я не увидел в этом PR ничего, что могло бы заставить меня поверить в то, что существует динамический (то есть без завершения kube-proxy) механизм для изменения уровней журнала. Мне известно, что ни в одном из компонентов kubernetes нет механизма настройки динамического ведения журнала.

Однако kube-proxy (традиционно) работает в контейнере докеров, как и любой другой модуль, и, следовательно, может быть перезапущен при завершении. Так что просто обновите его --v в манифесте, уничтожьте контейнер (тот, у которого нет Pod в его имени), и kubelet запустит kube-proxy резервное копирование, теперь с новым уровнем --v.

(который должен пройти через kube-proxy)

Для ясности, kube-proxy управляет только iptables правилами в своей конфигурации по умолчанию, поэтому мне известно, что через него не проходит никакой трафик. Вот почему безопасно просто перезапустить kube-proxy по желанию.

Вы можете проверить правила, которые он вводит, с помощью обычной команды iptables -t nat -L, и kube-proxy даже достаточно полезен, чтобы добавлять комментарии к правилам, показывая, какую службу Kubernetes они представляют.

person mdaniel    schedule 12.04.2018