K8s集群初始化遇到的问题

kubectl describe pod coredns-545d6fc579-s9g5s -n kube-system

找到原因1:CoreDNS Pod 处于 Pending 状态的原因是集群中的节点都带有 node.kubernetes.io/not-ready 污点

journalctl -u kubelet -f

14:57:59.178592 3553 remote_image.go:114] "PullImage from image service failed" err="rpc error: code = Unknown desc = error pulling image configuration: download failed after attempts=6: dial tcp 4.78.139.50:443: connect: connection refused" image="docker.io/calico/cni:v3.25.0"

找到原因2:Kubelet 在尝试从 docker.io 拉取 Calico 的 CNI 镜像时失败,连接被拒绝

查看calico.yaml中所需要的镜像,发现都是从docker hub中拉取的,目前由于政策原因,只能更换加速器

bash 复制代码
[root@k8s-master ~]# grep image calico.yaml | sort | uniq 
          image: docker.io/calico/cni:v3.25.0
          image: docker.io/calico/kube-controllers:v3.25.0
          image: docker.io/calico/node:v3.25.0
          imagePullPolicy: IfNotPresent

解决操作1:添加加速器

bash 复制代码
cat /etc/docker/daemon.json 
{
"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com","https://dockerpull.com","https://docker.aityp.com/"],
"exec-opts": ["native.cgroupdriver=systemd"]
}

之后重新拉取calico镜像

kubectl delete -f calico.yaml

kubectl apply -f calico.yaml

kubectl get pods -n kube-system

calico-node-dzq28 0/1 Init:0/3 0 5m40s

calico-node-vsnwj 0/1 Init:0/3 0 5m40s

**找到原因3:**可以看出有两个clico节点pod尚未初始化成功

kubectl describe pod calico-node-dzq28 -n kube-system

找到原因4: 根据 kubectl describe 的输出,显示 kubelet 一直在尝试拉取 docker.io/calico/cni:v3.25.0 镜像,但没有成功完成拉取。这通常意味着节点无法从 Docker 仓库拉取镜像。

**解决操作2:**前面只更换了master节点中docker的操作,故节点还是无法拉取镜像,只需给节点添加相应镜像

添加后,重启docker,在重新执行操作1,所有pod都是runnning

相关推荐
有谁看见我的剑了?5 小时前
k8s-Sidecar容器学习
学习·容器·kubernetes
傻傻虎虎6 小时前
【Docker】容器端口暴露+镜像生成实战
java·docker·容器
Don't Look Down7 小时前
Rustdesk server docker-compose 一键搭建教程
运维·docker·容器
2201_761199047 小时前
7.k8s四层代理service
云原生·容器·kubernetes
Sweety丶╮7949 小时前
【Ansible】将文件部署到受管主机知识点
云原生·ansible
清风笑烟语13 小时前
Ubuntu 24.04 搭建k8s 1.33.4
linux·ubuntu·kubernetes
能不能别报错13 小时前
K8s学习笔记(二):Pod
笔记·学习·kubernetes
羑悻的小杀马特15 小时前
Docker 容器化部署核心实战:从镜像仓库管理、容器多参数运行到 Nginx 服务配置与正反向代理原理解析
nginx·docker·容器·镜像仓库
en-route17 小时前
Kubernetes Ingress:使用 Apache APISIX 进行外部流量路由
容器·kubernetes
qsqya17 小时前
ceph/daemon安装部署
ceph·云原生·eureka