Kubernetes 1.8 Kubeadm 配置 kubelet 未在节点上启动

Kubernetes 1.8 Kubeadm configuration kubelet not starting on node

我已经使用 kuebadm 配置了 1.8 集群 1 master,2 nodes。当我关闭并重新启动节点时,kubelet 没有启动,它正在编译证书。相同的步骤适用于旧版本的 Kubernetes。

Oct  2 22:02:32 k8sn-01 kubelet: I1002 22:02:32.854542    2795 client.go:75] Connecting to docker on unix:///var/run/docker.sock
Oct  2 22:02:32 k8sn-01 kubelet: I1002 22:02:32.854569    2795 client.go:95] Start docker client with request timeout=2m0s
Oct  2 22:02:32 k8sn-01 kubelet: I1002 22:02:32.860544    2795 feature_gate.go:156] feature gates: map[]
Oct  2 22:02:32 k8sn-01 kubelet: W1002 22:02:32.860638    2795 server.go:289] --cloud-provider=auto-detect is deprecated. The desired cloud provider should be set explicitly
Oct  2 22:02:32 k8sn-01 kubelet: W1002 22:02:32.861608    2795 server.go:381] invalid kubeconfig: invalid configuration: [unable to read client-cert /var/run/kubernetes/kubelet-client.crt for default-auth due to open /var/run/kubernetes/kubelet-client.crt: no such file or directory, unable to read client-key /var/run/kubernetes/kubelet-client.key for default-auth due to open /var/run/kubernetes/kubelet-client.key: no such file or directory]
Oct  2 22:02:32 k8sn-01 kubelet: error: failed to run Kubelet: no client provided, cannot use webhook authorization
Oct  2 22:02:32 k8sn-01 systemd: kubelet.service: main process exited, code=exited, status=1/FAILURE
Oct  2 22:02:32 k8sn-01 systemd: Unit kubelet.service entered failed state.
Oct  2 22:02:32 k8sn-01 systemd: kubelet.service failed.

不确定为什么在重启后缺少证书。我删除并重新创建了集群多次相同的结果。

NAME      STATUS     ROLES     AGE       VERSION
k8sm-01   Ready      master    10m       v1.8.0
k8sn-01   NotReady   <none>    6m        v1.8.0
k8sn-02   NotReady   <none>    6m        v1.8.0

有解决此问题的提示吗?

谢谢 SR

这是由于https://github.com/kubernetes/kubernetes/issues/53288

对于 kubeadm,这个问题刚刚通过更新包(rpm 1.8.0-1,deb 1.8.0-01)中的配置更改得到解决

如果您已有处于此状态的节点,则必须删除现有的 /etc/kubernetes/kubelet.conf 文件,其中还包含对已删除证书文件的引用。