视频加载失败

K8S安装记录

813 字
4 分钟
K8S安装记录

配置#

master:
rocky04 192.168.31.105 rocky04
nodes
rocky01 192.168.31.104 rocky01
rocky02 192.168.31.102 rocky02
rocky03 192.168.31.103 rocky03

问题#

1.k8s系统pods启动失败#

k8s弃用docker改用ctr拉取镜像

  • 1.20 版本(2020 年底):宣布 dockershim 弃用,开始打印警告日志
  • 1.24 版本(2022 年 5 月):正式从 kubelet 中移除 dockershim,这是关键分界点
  • 1.24 之后:默认推荐使用 containerd 或 CRI-O 作为容器运行时

基本上全是因为ctr拉取镜像超时,导致k8s的system pods启动超时。
k8s目前1.24版本及以后默认使用ctr拉取镜像,经实测,国内无论是修改镜像源还是直接拉取基本上都会超时无法拉取,
目前唯一解决方案是直接通过docker拉取,然后用docker save 保存为tar压缩包,然后再用ctr导入。
注意
ctr导入镜像包后,如果拉取的不是官方镜像,基本上就会启动失败,因为k8s启动的时候默认是读取的官方镜像名称,需要通过ctr tag 把拉取的镜像重新命名

相关命令
kubectl get pods -n kube-system // 查看k8s系统pods 去掉kube-system就是查看pods

查看k8s系统pods
查看k8s系统pods

查看k8s的pods
查看k8s的pods

kubectl describe pod -n kube-system calico-node-hd466| grep -A 10 "Events"// 查看每个pod具体报错

查看每个pod具体报错
查看每个pod具体报错

docker save -o <压缩包名称> <镜像名称>
ctr -n k8s.io images import nginx.tar // ctr导入nginx的镜像
ctr -n k8s.io images tag <原镜像> <新镜像> // ctr重新命名镜像
ctr -n k8s.io images ls | grep <镜像名> // ctr查看镜像

260814更新:
经实测,在配置k8s新node节点的时候,只需要把yum的源改成清华的镜像源,再更新ctr的配置文件就能直接安装kubelet、kubeadm、kubectl等组件。

2.新节点加入k8s集群#

k8s新nodes加入时,需要通过yum命令下载组件,下载前需要先配置yum的国内镜像源
路径:/etc/yum.repos.d/kubernetes.repo
推荐配置清华源
清华源

yum配置文件
yum配置文件

清华源
清华源

重要提示
配置yum文件的时候一定要把版本改成安装的版本,否则是无法拉取成功的

重点提示
重点提示

导入命令
yum install -y kubelet-1.32.13 kubeadm-1.32.13 kubectl-1.32.13 --disableexcludes=kubernetes

配置的nginx测试集群打开方式
curl -L http://192.168.31.105:30502

总结#

本次安装是依照教学视频+AI的方式进行安装,总共耗时估计为6个小时左右。得出以下结论:

  1. 但凡是AI给的镜像源之类的链接,99%都是乱编的,根本拉不下来。
  2. 在遇见ctr拉取超时的问题时,已经明确告诉AI多次,但是还是会给出乱编的镜像源让你去拉取,还是需要自己搜索解决方案
  3. 在启动k8s的系统pods时,明明是因为缺少对应的镜像源导致启动失败,AI还是会给你虚假的镜像源让你重新拉取
  4. AI目前最好是只按照它给的思路,具体问题还是需要查日志来进行排查,而且报错日志发给AIAI多半也是乱编解决方案,本次安装大部分时间都浪费在用AI乱编的解决方案上了

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

K8S安装记录
http://blog.cnylxs.xyz/posts/study-02-K8S/
作者
ylxs
发布于
2026-08-11
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
ylxs
I'm ylxs.
公告
ylxs的个人博客
分类
标签
最新动态
站点统计
文章
14
分类
2
标签
12
总字数
34,324
运行时长
0
最后活动
0 天前
站点信息
构建平台
EdgeOne Pages
博客版本
ylxs v1.0.0
文章许可
CC BY-NC-SA 4.0