【问题标题】:Kubeadm init issueKubeadm 初始化问题
【发布时间】:2020-09-24 17:44:26
【问题描述】:

Kubeadm 初始化问题。

配置数据版本:

os -rhel7.5
env -onprem server
docker - 19
kube - 18

控制台输出:

[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory "/etc/kubernetes/manifests". This can take up to 4m0s
[kubelet-check] Initial timeout of 40s passed.
[kubelet-check] It seems like the kubelet isn't running or healthy.
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get http://localhost:10248/healthz: dial tcp [::1]:10248: connect: connection refused.
[kubelet-check] It seems like the kubelet isn't running or healthy.
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get http://localhost:10248/healthz: dial tcp [::1]:10248: connect: connection refused.
[kubelet-check] It seems like the kubelet isn't running or healthy.
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get http://localhost:10248/healthz: dial tcp [::1]:10248: connect: connection refused.
[kubelet-check] It seems like the kubelet isn't running or healthy.
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get http://localhost:10248/healthz: dial tcp [::1]:10248: connect: connection refused.

出了什么问题以及如何解决?

【问题讨论】:

  • 嗨,欢迎来到 StackOverflow!请格式化您的问题,以便可以正确理解。格式正确且解释清楚的问题会比格式错误的问题更快地得到答案。
  • 你能检查一下kubelet是否按照错误指示运行吗?您可以使用systemctl status kubelet 命令来做到这一点。
  • 不,kubelet 没有运行
  • 请尝试再次运行init,然后检查kubelet错误:sudo journalctl -xeu kubelet并用它更新问题。您是否禁用了SELinux

标签: kubernetes kubectl


【解决方案1】:

根据您提供的信息,您可以在此处完成几件事。

首先可以检查一下docker的原生cgroupdriver和kubelet是否一致。 您可以通过运行查看 kubelet 的配置:

cat /var/lib/kubelet/kubeadm-flags.env 

要检查 docker 配置,您可以简单地使用:

docker info | grep Cgroup

如果你需要改变它,你可以这样做:

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

要更改 kubelet cgroup 驱动程序,您必须:

`vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf`

并更新KUBELET_CGROUP_ARGS=--cgroup-driver=&lt;systemd or cgroupfs&gt;

第二种可能的解决方案是禁用交换。 您可以使用以下命令执行此操作:

sudo swapoff -a
sudo sed -i '/ swap / s/^/#/' /etc/fstab

之后重启一台机器,然后执行kubeadm reset并尝试使用kubeadm init初始化集群。

【讨论】:

    猜你喜欢
    • 2020-01-10
    • 2018-09-17
    • 2019-08-27
    • 2019-02-02
    • 2018-08-02
    • 1970-01-01
    • 2021-07-19
    • 2020-12-25
    • 2017-02-21
    相关资源
    最近更新 更多