由于节点以某种方式配置错误(所需组被禁用),kubelet 不健康

问题描述 投票:0回答:1

我想在使用 ubuntu 操作系统的虚拟机上设置 kubernetes。我已经安装了 docker、kubeadm、kubelet 和 kubectl。运行此命令后:

sudo kubeadm init --pod-network-cidr=10.10.0.0/16

有错误: 不幸的是,出现了错误: 超出上下文期限 此错误可能是由以下原因引起的:

  • kubelet 未运行
  • 由于节点以某种方式配置错误,kubelet 不健康(需要禁用 cgroup) 如果您使用的是 systemd 支持的系统,您可以尝试使用以下命令来解决错误:
  • 'systemctl stalus kubelet'
  • 'journalctl -xeu kubelet' 此外,控制平面组件在由容器运行时启动时可能会崩溃或退出。 要进行故障排除,请使用您首选的容器运行时 CLI 列出所有容器 以下是一个如何使用以下命令列出所有正在运行的 Kubernetes 容器的示例: 临界值: 'crictl --runtime-endpoint unix: ///var/run/containerd/containerd.sock ps -a | grep 库贝 | grep -v 暂停' 找到发生故障的容器后,您可以检查 与 'crictl --runtime-endpoint unix:///var/run/containerd/containerd.sock 记录 CONTAINERID' 错误执行阶段等待控制平面:无法初始化 Kubernetes 集群 埃格 要查看此错误的堆栈跟踪,请使用 - -v=5 或更高版本执行

如何解决这个错误?

docker ubuntu kubernetes virtual
1个回答
0
投票

如果您使用 flannel,则必须将 pod 网络 cni IP 安装为 10.244.0.0/16。

检查containerd的日志会有很大帮助。

journalctl -xeu containerd

正如 kubelet 日志中所述,通过传递 --v=5 来检查 go 代码错误的确切位置。

sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --v=5

我的猜测是你没有在 /etc/containerd/config.toml 中启用 systemd cgroups。

[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
SystemdCgroup = true

并重启containerd

© www.soinside.com 2019 - 2024. All rights reserved.