kubeadm init 命令给出错误

kubeadm init 命令给出错误

当我运行以下命令时:

sudo kubeadm init --pod-network-cidr=192.168.0.0/16 --apiserver-advertise-address=192.168.56.101

我收到以下错误:

[警告 IsDockerSystemdCheck]:检测到“cgroupfs”为 Docker cgroup 驱动程序。推荐的驱动程序是“systemd”。请按照以下指南操作https://kubernetes.io/docs/setup/cri/

[preflight] 提取设置 Kubernetes 集群所需的镜像
[preflight] 这可能需要一两分钟,具体取决于您的互联网连接速度
[preflight] 您也可以事先使用“kubeadm config images pull”错误执行阶段 preflight 执行此操作:
[preflight] 发生了一些致命错误:
[ERROR ImagePull]:无法提取镜像 k8s.gcr.io/etcd:3.3.10:输出:守护进程的错误响应:
获取https://k8s.gcr.io/v2/:拨号 tcp:查找 k8s.gcr.io:没有这样的主机,错误:退出状态 1
[ERROR ImagePull]:无法拉取图像 k8s.gcr.io/coredns:1.3.1:输出:守护进程的错误响应:获取 https://k8s.gcr.io/v2/:拨号 tcp:查找 k8s.gcr.io:没有这样的主机,错误:退出状态 1 [预检] 如果你知道自己在做什么,你可以使用以下命令进行非致命检查--ignore-preflight-errors=...

我该如何解决这个问题?

答案1

有关[WARNING IsDockerSystemdCheck]

根据官方文档建议将其用作systemdKubelet 和 Docker 的 cgroup 驱动程序。

为了实现这一点,只需配置你的docker守护进程使用"exec-opts": ["native.cgroupdriver=systemd"],以及kubeadm 会自动检测kubelet 的 cgroup 驱动程序,并/var/lib/kubelet/kubeadm-flags.env在运行时将其设置在文件中

尽管官方文档建议这样做,注意这个问题[#76531]这会导致systemdCPU 使用率增加和日志泛滥。您可以在此找到更多详细信息服务器故障问题


有关[ERROR ImagePull]

当你跑步时kubeadm init默认情况下,它从中提取 Kubernetes 镜像k8s.gcr.io

k8s.gcr.io:没有这样的主机错误意味着您的 DNS 无法解析主机名。您需要解决 DNS 问题并确保主机在安装期间具有有效的互联网连接。

如果你没有互联网连接,你必须预先拉取所需的控制平面镜像安装之前。

相关内容