Как изменить конфиг kube-proxy?

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

  1. kubectl edit cm kube-proxy-config -n kube-system = ›добавить metricsBindAddress =› подождать пару секунд и открыть конфиг - там пустой metricsBindAddress
  2. kubectl edit ds kube-proxy -n kube-system = ›добавить --metrics-bind-address в команду =› подождите пару секунд = ›команда была сброшена на значение по умолчанию

Как изменить конфиг kube-proxy и сохранить эти изменения?

Kubernetes версии 1.17

ОБНОВЛЕНИЕ (как вы можете, через несколько секунд metricsBindAddress был изменен на пустую строку):  введите описание изображения здесь

ОБНОВЛЕНИЕ 2 (обратите внимание на metricsBinAddress, он меняется через ~ 40-50 секунд): введите описание изображения здесь

ОКОНЧАТЕЛЬНОЕ ОБНОВЛЕНИЕ: ответ от облачного провайдера (Яндекс) - kube-proxy pod it is on the host's network, so to prevent security problems, it listens exclusively on the loopback address and therefore the parameter will be reset

p.s. https://github.com/helm/charts/tree/master/stable/prometheus-operator#kubeproxy - я хочу сделать kube-proxy доступным для prometheus


person Suleiman    schedule 20.01.2021    source источник
comment
Я использую версию 1.18, и редактирование metricsBindAddress работает нормально.   -  person Alif Biswas    schedule 20.01.2021
comment
@AlifBis, мой коллега тоже попробовал, и у него та же проблема. вы можете изменить metricsBindAddress, подождать пару секунд и попробовать изменить еще раз? в моем случае и в случае с коллегами он показывает "" вместо адреса, который я установил   -  person Suleiman    schedule 20.01.2021
comment
По-прежнему показывает то же самое. Кстати, диаграмма руля, которую вы упомянули в сообщении, устарела. Вы уверены, что это не вызывает никаких проблем?   -  person Alif Biswas    schedule 20.01.2021
comment
@AlifBiswas нет, я не думаю, что устаревшая диаграмма может сбросить конфигурацию kube-proxy. Может это мой облачный провайдер .. Спасибо   -  person Suleiman    schedule 20.01.2021
comment
Какую именно версию вы используете в своем кластере? Я пробовал v1.17.17, у меня только kube-proxy configmap, а вы редактируете configmap с именем kube-proxy-config. Какую среду вы используете, ее локальную или облачную? Вы используете какую-то конкретную конфигурацию или это новый кластер, и вы просто хотите отредактировать kube-proxy configmap?   -  person PjoterS    schedule 20.01.2021
comment
@PjoterS Server Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.12", GitCommit:"5ec472285121eb6c451e515bc0a7201413872fa3", GitTreeState:"clean", BuildDate:"2020-09-16T13:32:12Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"} | Depending on the cluster, the relevant part config.conf will be in ConfigMap kube-system/kube-proxy or kube-system/kube-proxy-config (c) github.com/helm/charts/tree/ master / stable / Облачная среда, это свежий кластер   -  person Suleiman    schedule 20.01.2021


Ответы (2)


Я отправляю это Community Wiki, потому что основная причина проблемы была определена.

Обычно для изменения metricsBindAddress: можно отредактировать ConfigMap и delete kube-proxy pod или использовать rollout restart на DaemonSet.

Основная причина этой проблемы заключалась в том, что это изменение было заблокировано средой OP - Яндекс Облако.

OP получил отзыв от Yandex Support

kube-proxy pod находится в сети хоста, поэтому для предотвращения проблем с безопасностью он прослушивает исключительно адрес обратной связи, и поэтому параметр будет сброшен

person Community    schedule 21.01.2021

Первое редактирование:

kubectl edit cm/kube-proxy -n kube-system

.....
metricsBindAddress: 0.0.0.0:10249
.....

Потом,

kubectl rollout restart ds kube-proxy -n kube-system

Вы должны перезапустить модули, иначе они не получат конфигурацию. Вы можете проверить статус:

kubectl rollout status ds kube-proxy -n kube-system
person Kaan    schedule 20.01.2021
comment
Я делал это несколько раз, но сбрасывается metricsBindAddress. Я обновил первый пост, вы понимаете, о чем я говорю - person Suleiman; 20.01.2021