准备k8s集群镜像

准备k8s集群镜像

一、在安装kubernetes集群之前,必须要提前准备好集群需要的镜像,所需平面镜像可以通过下面命令查看

kubeadm config images list准备k8s集群镜像_第1张图片

二、由于网络原因registry.k8s.io这个镜像仓库源访问不了,就需要变通一下切换镜像仓库地址为阿里云的地址,并打上镜像标签

准备k8s集群镜像_第2张图片

kubeadm init | Kubernetes准备k8s集群镜像_第3张图片

三、更换镜像方法步骤

  • 变更为阿里镜像地址: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

下载过程中又提示有一个镜像下载失败了

image

其他的镜像是下载成功了的

image

修改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

四、终于全部下载完成

准备k8s集群镜像_第4张图片

五、集群初始化

下面操作只在master节点操作,本地已经有需要的依赖了,但是仍然回去拉取镜像。而如果把image-repository参数加上则可以跳过,直接使用已存在的镜像

kubeadm init \
--kubernetes-version=v1.25.4 \
	--pod-network-cidr=10.244.0.0/16 \
	--service-cidr=10.96.0.0/12 \
	--apiserver-advertise-address=192.168.48.200
	--image-repository registry.cn-hangzhou.aliyuncs.com/google_containers

你可能感兴趣的:(kubernetes,kubernetes,运维,docker,容器)