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
本文来自博客园,作者:忙碌在路上,转载请注明原文链接:https://www.cnblogs.com/netsa/p/17177779.html