Kubeadm初始化报错

在我们从阿里云上下载好Kubeadm的时候,我们需要去对其初始化

kubeadm init --kubernetes-version=v1.21.1 --image-repository=registry.aliyuncs.com/google_containers --pod-network-cidr=172.16.0.0/16 --apiserver-advertise-address=192.168.29.200
参数:
--kubernetes-version=v1.21.1 :指定初始化的kubernetes版本,不指定则默认更新最新版的。如果下载的是旧版本的kubeadm版本的话,需要指定
如果不指定会报版本异常


参数:--image-repository=registry.aliyuncs.com/google_containers  :由于kubeadm的初始化需要去国外的k8s.gcr.io仓库下拉取镜像,但是国内并不能访问到该仓库,
所以我们需要添加该参数指定远程仓库为国内的阿里云仓库否则会报如下错误:
You can also perform this action in beforehand using 'kubeadm config images pull'
error execution phase preflight: [preflight] Some fatal errors occurred:
[ERROR ImagePull]: failed to pull image registry.aliyuncs.com/google_containers/coredns/coredns:v1.8.0: output: 
Error response from daemon: pull access denied for registry.aliyuncs.com/google_containers/coredns/coredns, repository does not exist or may require 'docker login' , error: exit status 1 [preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...` To see the stack trace of this error execute with --v=5 or higher [root@master1 ~]# kubeadm config images pull failed to pull image "k8s.gcr.io/kube-apiserver:v1.21.1": output: Error response from daemon: Get https://k8s.gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) , error: exit status 1

 

 

 

 


 

总结:

在我们对Kubeadm进行初始化的时候,首先要注意指定版本号,如若指定版本号与本地不匹配的话会提示高低版本错误。

其次在初始化的时候Kubeadm会去国外仓库k8s.io拉取对应版本号的所需镜像。那由于某些原因,我们并无法访问到国外的仓库,

此时我们可以自己去国内镜像仓库(阿里云等)拉取镜像。然后初始化的时候就会优先加载匹配本地仓库,当匹配到对应合适的镜像即不用去访问远程仓库。

 

posted @ 2021-05-19 15:43  _kerry  阅读(2517)  评论(0编辑  收藏  举报