无法使用 kubeadm 设置 kubelet healthz 绑定地址

Cannot set kubelet healthz bind address with kubeadm

我正在尝试如下配置 kubelet 的 healthz 绑定地址:

kubeadm init --config <(cat <<EOF
apiVersion: kubeadm.k8s.io/v1alpha2
kind: MasterConfiguration
kubernetesVersion: stable-1.11
kubeletConfiguration:
  healthzBindAddress: 0.0.0.0
EOF
)

但我得到以下信息

# cat /var/lib/kubelet/config.yaml  | grep healthz
healthzBindAddress: 127.0.0.1
healthzPort: 10248

我是不是漏掉了什么?

# kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.7", GitCommit:"65ecaf0671341311ce6aea0edab46ee69f65d59e", GitTreeState:"clean", BuildDate:"2019-01-24T19:29:00Z", GoVersion:"go1.10.7", Compiler:"gc", Platform:"linux/amd64"}

对于Kubernetes v1.13,可以从kubeadm

获取配置
kubeadm config print init-defaults --component-configs KubeProxyConfiguration,KubeletConfiguration > kubeadm-init.config

编辑 --healthz-bind-address 0.0.0.0,healthz 服务器服务的 IP 地址(所有 IPv4 接口设置为 0.0.0.0,所有 IPv6 接口设置为 ::)(默认 127.0.0.1) .

并上传kubeadm config upload from-file [flags]

可以参考kubeadm config的Kubernetes文档。

编辑

在 Kubernetes v1.11 中,选项 --component-configs 被调用 --api-objects 并且可用值为 MasterConfiguration, NodeConfiguration.

这在 kubeadm config 的 Kubernetes v1.11 文档中引用。