首页 > 解决方案 > 如何更改 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秒后改变): 在此处输入图像描述

最后更新:来自云提供商(Yandex)的回答 -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

ps https://github.com/helm/charts/tree/master/stable/prometheus-operator#kubeproxy - 我想让 prometheus 可以访问 kube-proxy

标签: kuberneteskube-proxy

解决方案


第一次编辑:

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

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

然后,

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

您必须重新启动 pod,否则它们无法获得配置。您可以通过以下方式检查状态:

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

推荐阅读