教你如何在中国区加速部署k8s,且实现自定义设置拥有k8s镜像的仓库与其命名空间。
概述
Kubernetes是一个强大的容器编排工具,帮助用户在可伸缩性系统上可靠部署和运行容器化应用。在容器领域内,K8s已毋庸置疑成为了容器编排和管理的社区标准,连Docker官方都已宣布支持K8s。在容器编排领域的战火已然分出结果,尘埃落定,K8s得到了包括Google、Huawei、Microsoft、IBM、AWS、Rancher、Redhat、CoreOS等在内的容器玩家的一致认可。
Rancher容器管理平台原生支持K8s,使用户可以简单轻松地部署K8s集群。
然而对于中国玩家而言,由于谷歌镜像仓库的原因,很多时候K8S的使用体验并不顺滑。在往期发布的文章(《Rancher-k8s加速安装文档》)中,我们有讲解过如何通过修改应用商店地址来实现加速部署kubernetes。虽然这种方法能够实现kubernetes的加速部署,但是因为自定义的商店仓库无法与官方仓库实时同步,很多组件(网络、健康检查等)将无法保证及时的更新。因此,为了解决这个问题,我们在官方catalog模板的基础上做了修改,增加了可以自定义仓库地址和命名空间的功能。这样,我们在部署kubernetes时可以自定义设置拥有kubernetes镜像的仓库与其命名空间。
环境准备
安装前准备(重要):
- Rancher-server:v1.6.11现在还是rc版本,安装过程中可能会有一些错误提示。
- 如果出现这个警告,需要删除所有容器并更换Docker版本,Docker尽量选择1.12.3
- 配置好各节点间的hosts文件;
- 如果是克隆的主机,请检查有没有/var/lib/rancher/state/这个文件夹,如果有则删除;
- 如果以前有通过Rancher安装过kubernetes,请执行命令:
docker rm -f -v $(docker ps -aq) docker volume rm $(docker volume ls) rm -rf /var/etcd/
- 如果选择vxlan网络部署,需要在/etc/hosts文件有:’本机IP localhost’这一行,如果没有则添加;
- 禁止swap: sudo swapoff –a(此命令为临时禁止,永久禁止参考https://www.xtplayer.cn/2017/10/3162)(重要);
- 其他注意事项请参考:https://kubernetes.io/docs/setup/independent/install-kubeadm/;
操作说明
启动Rancher server
通过docker命令运行rancher server 并打印启动日志;
Sudo docker run -d --restart always –name rancher-server -p 8080:8080 rancher/server: v1.6.11-rc3 && sudo docker logs -f rancher-server
容器初始化完成后,通过主机IP:8080访问WEB。
kubernetes环境管理
登录Rancher web后,按照标准流程我们应该去系统管理中做一些基础配置,因我们这里是演示环境,所以省去这一步。
进入环境管理,准备添加环境模板
点击添加环境模板,
点击编辑设置后,在弹出的页面中,更改如下几个参数:
私有仓库地址:registry.cn-shenzhen.aliyuncs.com
AAONS组件命名空间:rancher_cn
kubernetes-helm命名空间:rancher_cn
参数设置完,点击页面下方的设置按钮返回环境模板编辑页面。
保持环境模板其他参数不变,点击页面下方的创建按钮。
回到环境管理,点击添加环境,最后点击创建
这样就用刚刚创建的模板创建了一个K8S环境
添加节点
切换到刚刚创建的环境
现在状态是这样,点击添加主机,
因为是第一次添加主机,系统会要求你确认节点注册地址,我们直接点击保存。
复制代码到三个node上执行
安装完毕:
仪表盘
应用栈
主机视图
进入基础架构 | 容器视图,取消勾选 显示系统容器
正常状态,非系统容器应该有14个。
部署演示示例
进入Dashdorad
页面右上角,点击创建,创建一个示例服务NGINX
点击Overview查看:
点击外部入口访问应用: