当前位置:运维
当使用kubeadm命令初始化集群时,默认会去官方镜像仓库(k8s.gcr.io)拉取镜像。但是国内网络由于众所周知的原因无法访问官方镜像仓库,导致集群初始化失败。
1.查看需要拉取的镜像
kubeadm config images list
#上述命令可能会卡顿,因为它需要访问dl.k8s.io地址获取版本,因此可以手动指定版本
kubeadm config images list --kubernetes-version 1.10.0
上述命令会产生类似如下输出:
k8s.gcr.io/kube-apiserver:v1.10.0
k8s.gcr.io/kube-controller-manager:v1.10.0
k8s.gcr.io/kube-scheduler:v1.10.0
k8s.gcr.io/kube-proxy:v1.10.0
k8s.gcr.io/pause:3.0
k8s.gcr.io/etcd:3.2.24
k8s.gcr.io/coredns:1.2.2
2.拉取目标镜像到本地
docker pull registry.cn-hangzhou.aliyuncs.com/osoulmate/flannel:v0.10.0-amd64
docker pull registry.cn-hangzhou.aliyuncs.com/osoulmate/kube-apiserver-amd64:v1.10.0
docker pull registry.cn-hangzhou.aliyuncs.com/osoulmate/kube-controller-manager-amd64:v1.10.0
docker pull registry.cn-hangzhou.aliyuncs.com/osoulmate/kube-proxy-amd64:v1.10.0
docker pull registry.cn-hangzhou.aliyuncs.com/osoulmate/kube-scheduler-amd64:v1.10.0
docker pull registry.cn-hangzhou.aliyuncs.com/osoulmate/pause-amd64:3.0
3.给镜像打上默认镜像标签
docker tag registry.cn-hangzhou.aliyuncs.com/osoulmate/kube-apiserver-amd64:v1.10.0 k8s.gcr.io/kube-apiserver:v1.10.0
4.推送到私有仓库(可选)
kubeadm init --image-repository registry.aliyuncs.com/google_containers
千知博客