首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >解决kubeadm部署kubernetes集群镜像问题

解决kubeadm部署kubernetes集群镜像问题

作者头像
菲宇
发布2019-06-13 11:46:35
3.6K1
发布2019-06-13 11:46:35
举报
文章被收录于专栏:菲宇菲宇菲宇

kubeadm 是kubernetes 的集群安装工具,能够快速安装kubernetes 集群。kubeadm init 命令默认使用的docker镜像仓库为k8s.gcr.io,国内无法直接访问,需要中转一下才可以使用。

首先查看需要哪些镜像

kubeadm config images list
[root@master ~]# kubeadm config images list
I1215 20:40:10.170825    2583 version.go:94] 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: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
I1215 20:40:10.170992    2583 version.go:95] falling back to the local client version: v1.13.1
k8s.gcr.io/kube-apiserver:v1.13.1
k8s.gcr.io/kube-controller-manager:v1.13.1
k8s.gcr.io/kube-scheduler:v1.13.1
k8s.gcr.io/kube-proxy:v1.13.1
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd:3.2.24
k8s.gcr.io/coredns:1.2.6

通过 docker.io/mirrorgooglecontainers中转一下https://hub.docker.com/u/mirrorgooglecontainers

批量下载及转换标签

kubeadm config images list |sed -e 's/^/docker pull /g' -e 's#k8s.gcr.io#docker.io/mirrorgooglecontainers#g' |sh -x  下载需要的镜像

docker images |grep mirrorgooglecontainers |awk '{print "docker tag ",$1":"$2,$1":"$2}' |sed -e 's#mirrorgooglecontainers#k8s.gcr.io#2' |sh -x  重命名镜像

docker images |grep mirrorgooglecontainers |awk '{print "docker rmi ", $1":"$2}' |sh -x 删除mirrorgooglecontainers镜像

coredns没包含在docker.io/mirrorgooglecontainers中,需要手工从coredns官方镜像转换下。

docker pull coredns/coredns:1.2.6
docker tag coredns/coredns:1.2.6 k8s.gcr.io/coredns:1.2.6
docker rmi coredns/coredns:1.2.6

查看镜像列表

[root@master ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE k8s.gcr.io/kube-proxy v1.13.1 fdb321fd30a0 2 days ago 80.2MB k8s.gcr.io/kube-apiserver v1.13.1 40a63db91ef8 2 days ago 181MB k8s.gcr.io/kube-controller-manager v1.13.1 26e6f1db2a52 2 days ago 146MB k8s.gcr.io/kube-scheduler v1.13.1 ab81d7360408 2 days ago 79.6MB k8s.gcr.io/coredns 1.2.6 f59dcacceff4 5 weeks ago 40MB k8s.gcr.io/etcd 3.2.24 3cab8e1b9802 2 months ago 220MB k8s.gcr.io/pause 3.1 da86e6ba6ca1 11 months ago 742kB

另外一种方法是使用kubeadm配置文件,通过在配置文件中指定docker仓库地址,便于内网快速部署。

生成配置文件

kubeadm config print-defaults --api-objects ClusterConfiguration >kubeadm.conf

将配置文件中的

imageRepository: k8s.gcr.io

改为你自己的私有docker仓库,比如

imageRepository: docker.io/mirrorgooglecontainers

kubeadm生成的配置文件目前不够完善,需要修改kubernetes版本

kubernetesVersion: v1.13.1

改为

kubernetesVersion: v1.13.1

然后运行命令

kubeadm config images list --config kubeadm.conf
kubeadm config images pull --config kubeadm.conf
kubeadm init --config kubeadm.conf

更多kubeadm配置文件参数详见

kubeadm config print-defaults
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年12月15日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档