当我运行以下命令时:
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]
:
根据官方文档建议将其用作systemd
Kubelet 和 Docker 的 cgroup 驱动程序。
为了实现这一点,只需配置你的docker守护进程使用"exec-opts": ["native.cgroupdriver=systemd"]
,以及kubeadm
会自动检测kubelet 的 cgroup 驱动程序,并/var/lib/kubelet/kubeadm-flags.env
在运行时将其设置在文件中
尽管官方文档建议这样做,注意这个问题[#76531]这会导致systemd
CPU 使用率增加和日志泛滥。您可以在此找到更多详细信息服务器故障问题。
有关[ERROR ImagePull]
:
当你跑步时kubeadm init
,默认情况下,它从中提取 Kubernetes 镜像k8s.gcr.io
。
这k8s.gcr.io:没有这样的主机错误意味着您的 DNS 无法解析主机名。您需要解决 DNS 问题并确保主机在安装期间具有有效的互联网连接。
如果你没有互联网连接,你必须预先拉取所需的控制平面镜像安装之前。