准备k8s集群镜像
一、在安装kubernetes集群之前,必须要提前准备好集群需要的镜像,所需平面镜像可以通过下面命令查看
kubeadm config images list
二、由于网络原因registry.k8s.io这个镜像仓库源访问不了,就需要变通一下切换镜像仓库地址为阿里云的地址,并打上镜像标签
三、更换镜像方法步骤
- 变更为阿里镜像地址:registry.cn-hangzhou.aliyuncs.com/google_containers
-
把所需要的镜像定义为一个数组
-
从数组中循环去取对应的镜像名,拼接上阿里镜像地址,然后进行下载
-
下载完成后,打上标签
-
然后删除掉之前没有镜像的标签
注意:使用kubeadm config images list 后,再拷贝所需镜像的时候回,一定要删除镜像前缀:registry.k8s.io/ 之前没注意忘记了删除,导致下载不下来,以为是阿里镜像地址变了,还折腾找了半天其他地址
如registry.k8s.io/kube-apiserver:v1.25.3 改为: kube-apiserver:v1.25.3
#创建一个shell脚本
cd /usr/local
vim pull_images.sh
#定义一个镜像数组 如 a=(1 2 3 ) 访问第一个索引的话,使用 ${a[0]},访问全部 ${a[@]}
images=(kube-apiserver:v1.25.3
kube-controller-manager:v1.25.3
kube-scheduler:v1.25.3
kube-proxy:v1.25.3
pause:3.8
etcd:3.5.4-0
coredns/coredns:v1.9.3
)
for i in ${images[@]}
do
#下载镜像
nerdctl pull registry.cn-hangzhou.aliyuncs.com/google_containers/${i}
#打上标签
nerdctl tag registry.cn-hangzhou.aliyuncs.com/google_containers/${i} registry.k8s.io/${i}
#删除之前镜像
nerdctl rmi registry.cn-hangzhou.aliyuncs.com/google_containers/${i}
done
下载过程中又提示有一个镜像下载失败了
其他的镜像是下载成功了的
修改shell脚本里的coredns镜像配置为,最终shell脚本为
#定义一个镜像数组 如 a=(1 2 3 ) 访问第一个索引的话,使用 ${a[0]},访问全部 ${a[@]}
images=(kube-apiserver:v1.25.3
kube-controller-manager:v1.25.3
kube-scheduler:v1.25.3
kube-proxy:v1.25.3
pause:3.8
etcd:3.5.4-0
coredns:v1.9.3
)
for i in ${images[@]}
do
#下载镜像
nerdctl pull registry.cn-hangzhou.aliyuncs.com/google_containers/${i}
#打上标签
nerdctl tag registry.cn-hangzhou.aliyuncs.com/google_containers/${i} registry.k8s.io/${i}
#删除之前镜像
nerdctl rmi registry.cn-hangzhou.aliyuncs.com/google_containers/${i}
done