-1

我正在运行 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-cewith 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).

谢谢!

`

4

3 回答 3

1

查看错误,我认为您绝对应该看到@David 建议的日志。现在您的设置无法访问在 127.0.0.1:10255 上运行的 kubelet。这里的端口 10255 表明了这一点。

所以我认为你的 kubelet 没有正确安装或配置。我建议您通过点击命令“service kubelet restart”重新启动 kubelet,然后运行“kubeadm reset”以清理损坏的设置,最后运行“kubeadm init”。我想在此处添加一点,尽管它与您的问题无关,但您应该在 kubeadm init 中添加“--pod-network-cidr=”。正如许多网络插件所要求的那样。

于 2018-01-22T04:13:01.790 回答
0

我已经更新了所有节点上的以下配置并重新启动了 docker 和 kubelet -

    cat << EOF > /etc/docker/daemon.json
    {
      "exec-opts": ["native.cgroupdriver=cgroupfs"]
    }
    EOF

重新开始


    sudo systemctl restart docker
    sudo systemctl restart kubelet

于 2021-08-17T11:51:56.820 回答
0

我的系统需要

cat << EOF > /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=cgroupfs"]
}
EOF
于 2018-01-23T03:25:53.827 回答