使用kubeadm初始化k8s集群的一些问题解决办法

1、由于访问不到国外地址报错:

could not fetch a Kubernetes version from the internet: unable to get URL "https://dl.k8s.io/release/stable-1.txt": Get "https://storage.googleapis.com/kubernetes-release/release/stable-1.txt": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
Code language: PHP (php)

解决办法:init时指定使用阿里云镜像仓库

$ kubeadm init --image-repository registry.aliyuncs.com/google_containers

2、由于阿里云镜像仓库coredns标签tag与谷歌镜像仓库不一致导致报错:

Pulling repository registry.aliyuncs.com/google_containers/coredns Error: image google_containers/coredns:v1.8.4 not found

解决办法:先拉取阿里云镜像,再修改tag

$ docker pull registry.aliyuncs.com/google_containers/coredns:1.8.4 $ docker tag registry.aliyuncs.com/google_containers/coredns:1.8.4 registry.aliyuncs.com/google_containers/coredns:v1.8.4 然后再次运行: $ kubeadm init --image-repository registry.aliyuncs.com/google_containers

列出所有需要的镜像:

$ kubeadm --image-repository registry.aliyuncs.com/google_containers config images list
Code language: PHP (php)

3、服务器有多个网卡时,api-server没有绑定到期望的地址上

解决办法:init时指定api-server需要绑定的IP地址,如

$ kubeadm init --image-repository registry.aliyuncs.com/google_containers --apiserver-advertise-address=192.168.0.11