K8S集群初始化kubeadm搭建报错


一、初始化kubeadm

sudo kubeadm init --kubernetes-version=1.22.4 \
--apiserver-advertise-address=master IP地址 \
--image-repository registry.aliyuncs.com/google_containers \
--service-cidr=service IP地址/16 \
--pod-network-cidr=pod IP地址/16

1、首先查看kubeadm版本  kubeadm config images list

 2、开始初始化kubeadm

 二、报错

1、[ERROR ImagePull]: failed to pull image k8s.gcr.io/coredns/coredns:v1.8.4: output: Error response from daemon: Get https://k8s.gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
, error: exit status 1

2、[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`

To see the stack trace of this error execute with --v=5 or higher

3、[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

 

 三、解决办法:

1、问题分析:这个是docker.service需要配置一个环境变量,进入目录cd /usr/lib/systemd/system/,找到docker.service文件,修改一下参数,

2、 vi docker.service ,添加如下命令 

Environment="NO_PROXY=127.0.0.1/8,127.0.0.1/16"

 3、systemctl daemon-reload //刷新配置 systemctl restart docker //重启docekr服务 systemctl show --property=Environment docker //查看docker配置的代理信息

 4、重新执行

sudo kubeadm init --kubernetes-version=1.22.4 \
--apiserver-advertise-address=master IP地址 \
--image-repository registry.aliyuncs.com/google_containers \
--service-cidr=service IP地址/16 \
--pod-network-cidr=pod IP地址/16

 

 上面两张kubeadm初始化截图没有报错,一般问题不大,最后验证一下

5、查看nodes节点 kubectl get nodes,验证是否成功

  

注:个人觉得3个报错都是那个docker环境变量没设置导致的,如果有别的解决方法,欢迎大家共同探讨

相关