通过Travis CI自动触发拉取官方k8s镜像并推送到阿里云容器镜像仓库
利用境外Travis CI服务器协助我们拉取gcr.io的镜像,打上tag并推送至阿里云,实现容器镜像的境内mirrors
- 2018.8.15 已同步 dashboard 镜像
- 2018.9.1 已同步 ingress-nginx 镜像
整个过程无需翻墙,只需修改脚本k8s-images.sh
最后几行,
将:
#server
pull_images
set_tags
push_images
#local
#local_pull_images
#reset_tags
修改为:
#server
#pull_images
#set_tags
#push_images
#local
local_pull_images
reset_tags
执行脚本即可实现容器镜像拉取
- 关闭swap
- 关闭selinux
- 关闭防火墙
- 集群里的每个节点的/etc/hosts都要有所有节点ip和与其对应的hostname
- docker安装完毕
- 让系统内核开启网络转发
安装docker可以参考docker安装脚本
不要瞎看网上的教程,kubeadm安装不同于二进制安装,只需安装必须的kubeadm和kubelet等组件,其他如etcd等服务都是通过kubeadm自动创建,无需自行安装!
./install-generic/install-kubeadm_el7.sh
安装脚本附带详细注释,安装出现任何疑问可以查看
- 如果你的机器可以翻越GFW,请忽略本步骤
- 如果你的机器不能翻越GFW,请先执行脚本
k8s-images.sh
./install-generic/install-k8s-master.sh
这个时候节点join进来并不会ready,需要你安装网络组件
安装脚本附带详细注释,安装出现任何疑问可以查看
- 部署 CNI
选择需要的集群网络方案:
flannel
或calico
,安装脚本在install-networks
目录下,如果你当前拉取速度过慢也可以考虑使用network-images.sh
脚本加速拉取镜像 同样的,修改最后几行, 将
#server
pull_images
set_tags
push_images
#local
#local_pull_images
#reset_tags
修改为:
#server
#pull_images
#set_tags
#push_images
#local
local_pull_images
reset_tags
- 部署 ingress-nginx 拉取脚本存于/ingress-nginx,使用方法同上