众所周知,我们使用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
可随意转载,欢迎署名!