如何更改 kube-proxy 配置?
How to change kube-proxy config?
我尝试更改 kube-proxy configMap 和 kube-proxy 命令以设置 metricsBindAddress
但 kubernetes 会在几秒钟后重置这些更改(没有任何警告)。
kubectl edit cm kube-proxy-config -n kube-system
=> 添加 metricsBindAddress
=> 等待几秒钟并打开配置 - 有空的 metricsBindAddress
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
p.s。 https://github.com/helm/charts/tree/master/stable/prometheus-operator#kubeproxy - 我想让 prometheus 可以访问 kube-proxy
第一次编辑:
kubectl edit cm/kube-proxy -n kube-system
.....
metricsBindAddress: 0.0.0.0:10249
.....
然后,
kubectl rollout restart ds kube-proxy -n kube-system
你必须重新启动 pods 否则他们得不到配置。
您可以通过以下方式查看状态:
kubectl rollout status ds kube-proxy -n kube-system
我发布这个 Community Wiki
因为问题的根本原因已经确定。
通常 metricsBindAddress:
的更改可以通过编辑 ConfigMap 和 delete kube-proxy pod
或在 DaemonSet
上使用 rollout restart
来实现。
此问题的根本原因是此更改被 OP 的环境阻止 - Yandex Cloud。
OP 收到来自 Yandex Support
的反馈
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
我尝试更改 kube-proxy configMap 和 kube-proxy 命令以设置 metricsBindAddress
但 kubernetes 会在几秒钟后重置这些更改(没有任何警告)。
kubectl edit cm kube-proxy-config -n kube-system
=> 添加metricsBindAddress
=> 等待几秒钟并打开配置 - 有空的 metricsBindAddresskubectl 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
p.s。 https://github.com/helm/charts/tree/master/stable/prometheus-operator#kubeproxy - 我想让 prometheus 可以访问 kube-proxy
第一次编辑:
kubectl edit cm/kube-proxy -n kube-system
.....
metricsBindAddress: 0.0.0.0:10249
.....
然后,
kubectl rollout restart ds kube-proxy -n kube-system
你必须重新启动 pods 否则他们得不到配置。 您可以通过以下方式查看状态:
kubectl rollout status ds kube-proxy -n kube-system
我发布这个 Community Wiki
因为问题的根本原因已经确定。
通常 metricsBindAddress:
的更改可以通过编辑 ConfigMap 和 delete kube-proxy pod
或在 DaemonSet
上使用 rollout restart
来实现。
此问题的根本原因是此更改被 OP 的环境阻止 - Yandex Cloud。
OP 收到来自 Yandex Support
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