kubeadm init命令初始化kubernetees集群时如何传入自定义镜像,解决初始化无法pull到国外镜像问题

众所周知,我们使用kubeadm init 初始化一个新的集群的时候,经常因为国外镜像无法pull到而失败,我们可以通过初始化时给命令加上--config=config.yaml参数,给命令传入额外参数,里面定义我们

的自定义镜像地址和k8s版本(以便确认tag版本)。当然哈有其他更多参数,具体可以参考相关api文档,这里我们值定义镜像地址和k8s版本。

新建config.yaml内容如下:

[root@k8s-m ~]# cat config.yaml 
apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
imageRepository: "registry.aliyuncs.com/google_containers"
kubernetesVersion: 1.22.2

我们可以用kubeadm config images list --config=config.yaml 确认地址和tag都正确后再执行初始化命令。

 

[root@k8s-m ~]# kubeadm  config images list --config=config.yaml 
registry.aliyuncs.com/google_containers/kube-apiserver:v1.22.2
registry.aliyuncs.com/google_containers/kube-controller-manager:v1.22.2
registry.aliyuncs.com/google_containers/kube-scheduler:v1.22.2
registry.aliyuncs.com/google_containers/kube-proxy:v1.22.2
registry.aliyuncs.com/google_containers/pause:3.5
registry.aliyuncs.com/google_containers/etcd:3.5.0-0
registry.aliyuncs.com/google_containers/coredns:v1.8.4

 

官方文档:kubeadm init 使用自定义镜像

 

其他备注:

添加kubenetes源后安装指定版本的kubelet kubeadm kubectl

 

[root@k8s-n1 ~]# cat /etc/yum.repos.d/kubernetes.repo 
[kubernetes]
name=Kubernetes
#kubernetes的镜像在国外,速度比较慢,这里切换成国内的镜像源
#baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-$basearch
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
#gpgkey=https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
        http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
exclude=kubelet kubeadm kubectl

 

yum install -y kubelet-1.22.2 kubeadm-1.22.2 kubectl-1.22.2 --disableexcludes=kubernetes

 

posted @ 2023-03-04 10:25  忙碌在路上  阅读(264)  评论(0编辑  收藏  举报