原生加速中国区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查看:
点击外部入口访问应用:

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
kubeadm 安装 Kubernetes 1.6.2 过程中的一些坑
因为一些莫可名状的原因,国内网络使用 Kubeadm 颇有难度,这里大概说一下过程中的一些坑。 主体流程遵循官网指南:https://kubernetes.io/docs/getting-started-guides/kubeadm/ 1/4 准备工作 这里用包管理的方式安装 kubeadm、Docker 等组件。需要 注意一点点的是,如果用的非 Root 用户,要注意 sudo 的时候的环境代理设置问题。或者干脆在 apt/yum 的配置文件中写入代理服务器。 另外这里安装 Docker 之后,注意给 Docker 配置代理。或者可以直接想法子搞到下面列表中的镜像,并导入 Docker 之中: 镜像准备 下面提到的镜像基于目前的 1.6.2 版本,每次更新都会有不同。 Image Ver Component gcr.io/google_containers/kube-proxy-amd64 v1.6.2 Kubernetes gcr.io/google_containers/kube-controller-manager-amd64 v1.6.2 Kubernetes gcr.io/...
- 下一篇
视音频解码服务商Bitmovin是如何采用Kubernetes进行多级应用部署
在不同的公有云上运行大规模视频音频编解码平台是非常有挑战的。Bitmoving在过去的平台运维中积累了很多经验,但是也有不少困难。所以,kubernetes首先吸引我们的就是它对底层公有云平台的抽象,并且提供了定义完好的API接口。更为重要的是,kubernetes不只是提供了一种一般程度上的抽象,它是把运行容器平台所需要的工具和概念进行了全面的整合抽象,并且能够无缝的对接各种公有云的基础设施。 在我们的初始测试阶段,我们已经相当熟悉kubernetes的API调用了,当 我们的服务不仅需要部署到公有云中,而且需要部署到客户的私有数据中心中时,我们迅速决定利用kubernetes来完成我们从公有云服务到私有云服务的在技术上的统一。 这个就是我们后来推出的bitmovin Managed On-Premise encoding服务。因为kuberenets对用户来说屏蔽了底层基础设施的不同,我们可以采用一套API来驱动公有云服务或者私有云服务。当然如果要达成这样的目标,我们就无法采用像LoadBalancer Service这样的的组件,因为对企业用户来说,他们通常不愿意把内部端口暴露出...
相关文章
文章评论
共有0条评论来说两句吧...