K8S初始化问题报错解决集合
首先使用了两个节点,K8s版本是1.27.2(最好声明使用指定版本)使用的容器运行时是Containerd1.6.21。系统使用的是Debian11,由于之前使用Wireguard组网搭建K3s的,所以也继续沿用,本次搭建中遇到比较多问题,请检查好日志的报错。
1. 第一个报错:初始化集群失败
等了好久时间最后初始化失败,查看kubelet日志
发现一条重要信息
"RunPodSandbox from runtime service failed" err="rpc error: code = DeadlineExceeded desc = failed to get sandbox image \"registry.k8s.io/pause:3.6\":
发现启动sanbox失败,然而使用阿里云镜像源拉取的镜像里面也有这个镜像但是名称为和版本都不对
图中第二个镜像是我重新打tag后的
ctr -n k8s.io i tag 原tag 新tag
关于这个containerd配置文件有描述:
然后kubeadm reset,再重新初始化,因为之前已经拉取好镜像,正常启动是很快的如果又慢下来请查看日志。
而有的我看网上很多因为etcd的地址问题而导致初始化失败,后面我在部署网络插件会有介绍。
2. 第二个问题:部署flannel在第二个node上flannel的pod会一直启动失败,状态为CrashLoopBack0ff
首先说明我是使用Wireguard组网,网卡为wg0,需要修改一下下载的kube-flannel.yaml配置,地址
指定一下网卡
一开始使用kubectl describe命令看不出什么问题出来,只是描述容器一直在创建启动停止创建启动停止
使用kubectl logs发现
{etcdEndpoints:http://127.0.0.1:4001,http://127.0.0.1:2379 etcdPrefix:/coreos.com/network etcdKeyfile: etcdCertfile: etcdCAFile: etcdUsername: etcdPassword: version:fals
发现无法访问master节点上的etcd,修改配置文件/etc/kubernetes/manifests/下的etcd.yaml
如果是还是eth0网卡的IP修改为wg0的IP,关键点为这两个地方修改为0.0.0.0
重新启动,查看pod
多出flannel网卡,互相ping测试一下
还需注意节点的INTERNAL-IP
kubectl edit node "节点名称" ## 修改对应值
最后
使用初始化命令需要注意
kubeadm init --kubernetes-version=1.27.2 --control-plane-endpoint=10.20.0.25 --control-plane-endpoint=10.20.0.25 --image-repository registry.aliyuncs.com/google_containers --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16
写详细完整点会避免后续可能会出现的的一些问题,比如我开始没有指定“--pod-network-cidr=10.244.0.0/16”这个参数导致我启动flannel时报错
评论已关闭