在我们从阿里云上下载好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