在接触Docker和K8s的前阶段就耳闻目击到Rancher,可是没有进一步接触过。直到将K8s搭建完成。才进一步了学习与实践Rancher。html
Rancher是简便易用的容器管理。其中Rancher对Kubernetes的支持与维护特别用心,使其在生产环境中的基础设置里更易于搭建与使用。git
但实话实说,其一对于k8s的小白能经过rancher方便部署k8s,但在其封装下,不易理解k8s的内部实现。对于更多专业人士,推荐本身亲自搭建K8s;其二,对于生产中使用Rancher,建议须要更为专业的人士,不能将Rancher只是做为一个搭建平台而已。docker
Rancher 版本: v1.6.2shell
其中所需镜像:segmentfault
Docker 版本: 1.12.5框架
Rancher对支持的Docker版本有相关规定,请仔细阅读官网文档学习
Kubernetes 版本: v1.5.4spa
其中所需镜像:操作系统
这些镜像均需加载到所需的寄主机中.net
操做系统: Centos7
在寄主机192-168-1-175
上操做:
过一段时间,访问地址(http://192.168.1.175:8080/) 即可进入Rancher的界面。
随后在系统管理-访问控制
中添加本地帐户
Rancher搭建以Kubernetes模版为基础,其定义以rancher-catalog
中的docker-compose.yml
和rancher-compose.yml
为基础。
默认官方的rancher-catalog
以下图所示:
这些yml文件固然也能够本身编写,经过在Rancher界面中的第四栏选择系统管理-系统设置-应用商店
中,停用官方认证的Rancher,或者社区贡献,添加自定义的能够git clone
的URl。名称填写library
,地址填写https://xxxxx.git
,分支选择你须要的分支便可。
若是对Rancher和Kubernetes不是特别深刻的学习,请勿随意修改这里面的值。固然这里面会涉及到相关镜像,能够修改成本身的,方便拉取
命名空间kube-system中的dashboard,heapster,grafana,helm
等等,其配置文件都在镜像rancher/k8s:v1.5.4-rancher1-4
中的/etc/kubernetes/addons/
中,这些服务的启动就依靠这些配置文件。
若是你想修改这些YAML配置问题——例如我想把其中的imagePullPolicy: Always
这条去掉,避免始终去拉取相关镜像——大家须要从新制做这个镜像,则能够在rancher/kubernetes-package
这个GitHub项目,须要clone到相对应分支或者tag的源码,加以修改,并建立镜像,其建立的镜像就是rancher/k8s:v1.5.4-rancher1-4
以上操做本人实践过,耗时较长,尚未成功过。主要是卡死在某些步骤上,涉及到一些插件或者依赖包。解决不重建镜像,又能修改配置的方法,能够在Kubernetes-UI中实现,修改完yaml文件,而后进行UPDATE
在Rancher界面中的第一栏选择环境管理-添加环境
中,填写环境名称(k8stest)
和环境模版(Kubernetes)
,而后点击建立
,以下图
在Rancher界面中的第三栏选择基础框架-主机-添加主机
,认真阅读添加过程当中的每一条,再将第五点的shell命令复制到每一台寄主机(192-168-1-176,192-168-1-179,192-168-1-180)上
如此完成后,等全部服务启动完成,即Kubernetes的集群搭建完成。
主机信息图以下图:
在Rancher界面中的第二栏选择KUBERNETES-基础设施应用
中,能够看到全部的基础应用。以下图所示:
在应用kubernetes
中能够列表形式,连接图形式和编排文件形式(docker-compose.yml和rancher-compose.yml)来查看应用。
以连接图形式查看以下图所示:
命名空间kube-system中的服务这里并不能找到。须要在上述的应用
中找,以下图所示:
能够看出这里的镜像标签是端口号,内置的API是错误的。
在Rancher界面中的第二栏选择KUBERNETES-仪表板-Kubernete UI
,直接就跳入Dashboard的界面,以下图所示:
对于某些节点的清扫,通常用到如下命令: