我正在运行 Ubuntu 16.0.4。
我正在使用kubeadm
.
我目前正在使用kubeadm init
.
我收到以下错误:
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10255/healthz' failed with error: Get http://localhos
t:10255/healthz: dial tcp 127.0.0.1:10255: getsockopt: connection refused.
我已关闭交换,并apt-get install docker.io
在删除之前安装的 with 后安装了 docker docker-ce
with apt-get remove docker-ce && apt-get autoremove --purge docker-ce
。
我知道有些人在安装时遇到了问题,docker-ce
并且他们已经开始使用全新的环境(请参阅https://github.com/kubernetes/kubernetes/issues/55281)。我真的很想避免这样做。
我怎样才能超越这个错误?
谢谢。
更新。运行journalctl -u kubelet -f
产生:
error: failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd"
这让我相信我需要
cat << EOF > /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=cgroupfs"]
}
EOF
我重新docker
开始systemctl restart docker
然后重试kubeadm reset && kubeadm init
这有效并解决了我的问题。
我想指出,这些kubeadm
说明似乎告诉你目前要做一些完全不同的事情。
他们告诉你这样做:
cat << EOF > /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
那只是让我走错了路。
之后我没有看到注释:
Or ensure the --cgroup-driver kubelet flag is set to the same value as Docker (e.g. cgroupfs).
谢谢!
`