原生加速中国区Kubernetes安装

教你如何在中国区加速部署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查看:

点击外部入口访问应用:

K8S中文社区微信公众号

评论 1

登录后评论

立即登录  

  1. #1

    我starting service 老是报错

    第六感6年前 (2018-01-30)