k8s初始化init时出现Initial timeout of 40s passed

发布时间 2023-11-09 21:51:34作者: 低调码农哥!

 

   这个问题在搭建K8S集群时卡了很久,使用了网上各种方法,今天查看日志很快就解决了,记录一下

  • 在执行命令,初始化时:
kubeadm init --kubernetes-version=v1.27.3 --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=192.168.229.130 --cri-socket unix:///var/run/containerd/containerd.sock  --image-repository=registry.aliyuncs.com/google_containers

  一直报:Initial timeout of 40s passed

  • 通过查看最近日志命令:
journalctl -xeu kubelet

  显示如下关键信息:

"Failed to create sandbox for pod" err="rpc error: code = Unknown desc = failed to get sandbox image \"registry.k8s.io/pause:3.9\": 
Nov 09 20:51:04 k8s-master01 kubelet[2419]: E1109 20:51:04.758537    2419 kuberuntime_manager.go:1122] "CreatePodSandbox for pod failed" err="rpc error: code = Unknown desc = failed to get sandbox image \"registry.k8s.io/pause:3.9\":
Nov 09 20:51:04 k8s-master01 kubelet[2419]: E1109 20:51:04.758676    2419 pod_workers.go:1294] "Error syncing pod, skipping" err="failed to \"CreatePodSandbox\" for \"etcd-k8s-master01_kube-system(f8a4e376478b3967dd37cff6e30cd610)\" 
Nov 09 20:51:04 k8s-master01 kubelet[2419]: E1109 20:51:04.759457    2419 remote_runtime.go:176] "RunPodSandbox from runtime service failed" err="rpc error: code = Unknown desc 
  • 问题分析:pause容器还是用的k8s.gcr.io/pause:3.9,该镜像在国内服务器下载不成功。

  所以在初始化前修改/etc/containerd/config.toml 的镜像地址参数为国内aliyun地址:

vi /etc/containerd/config.toml

 

sandbox_image = "registry.aliyuncs.com/k8sxio/pause:3.9"
  • 然后重启containerd:
systemctl restart containerd

  再次执行k8s初始化命令就成功了

 

参考:http://blog.sway.com.cn/?p=1184