前言:
关于Rancher安装请参考Rancher-Server部署,此文操作过程是基于以上部署环境进行演示。关于Rancher是做什么,能完成哪些功能,有哪些优据点请自行了解。
本文主要介绍以下几点
- 什么是环境
- 如何添加环境
- 什么是应用栈
- 如何添加,删除,修改应用栈
- 什么是服务
- 如何添加,删除,升级服务
- 什么是主机
- 如何添加,删除,管理主机
什么是环境:
一般情况下项目分为测试环境,开发环境和线上环境。或者不同的项目组使用不同的环境,比如A项目环境,B项目环境。由此可见Rancher支持统一管理多环境需求,针对不同环境,可以使用不同的环境模板,比如开发环境中使用的网络模式可以为ipsec,而测试环境和线上环境可以使用vxlan网络模式。不同的环境之间完全隔离,但可以实现统一管理,还可以针对不同的用户分配不同的环境,比如Admin用户可以管理所有环境,那么Admin用户可以查看所有环境的配置并管理,A用户只能管理测试环境,那么A用户登录只能查看到测试环境的配置,无法查看其它环境的配置。
什么是应用栈:
在我的理解,应用栈就是一组相同的服务的集合,比如DB应用栈,WEB应用栈,注册中心应用栈,LB负载均衡应用栈等
什么是服务:
服务就是由一组(至少1个)相同镜像,相同配置启动的容器,并提供相同的服务。比如可以由nginx镜像创建一个web服务,这个服务里面至有1个以上的容器,并暴露同样的端口到宿主机(如果暴露端口那么需要调度这些容器分别在不同主机上运行,否则会端口冲突),映射同样的目录等这些配置,这就是服务
什么是主机:
在我们安装好Rancher-Server后我们至少必须添加1台主机,因为我们的容器就是在这些主机上面运行的。所以可以理解为一台主机,就是Rancher-Server管理了一个Agent节点。主机可以是虚拟机,也可以是物理机,主机不限地理位置,只要能与Server端通讯及可进行管理
通过上面的简单介绍我们已经明白了一些基础概念,那么接下来就开始以图片的方式演示这些功能的基本使用方法:
首先在访问我们的Server管理平台默认情况下不需要输入密码,这样是不安全的,所以我们还应该配置认证,另外可根据个人使用习惯调整显示语言为中文(90%支持中文)操作方法如下:
- 首次打开管理平台会提示一个欢迎界面,主要是基本界面和一个文档的链接,去掉“√”点击Got It及可
- 默认语言可能显示为英文,这时候单击右下角的“English”选择“简体中文”及可显示为中文
- 光标放在“系统管理”选上“访问控制”打开如下图所示:然后选择“LOACL”,再配置好第一个管理员用户,后点击“启动访问控制”即可
- 添加主机步骤如下:
单击“基础架构”>“主机”然后点击“添加主机”,首先添加主机会提示主机默认注册的URL,默认是使用IP地址,如果是集群环境,把URL改为DNS可解析的域名。然后保存,进入到添加主机界面,只需要在第4步填写被添加主机的IP地址,然后复制下面的连接到被添加主机上面执行,然后点击关闭,等待会就会就会出现一台主机在操作界面
- 主机界面描述:通过以下界面我们可以看到,上面显示了主机的计算机名,IP地址,Docker版本号,以及CPU,内存硬盘等信息,下面还有主机上面所运行的容器,容器所属的应用栈(Stack)信息,默认我们在启动一个Agent的时候就会启动一些基础的容器,比如健康检查,高度,网络管理等,这些需要启动的窗口,都可以通过我们的环境配置来指定默认启动些窗口,后面会介绍,如何环境管理。
通过此界面主机的右上角三个点的按钮可以对主机进行编辑,修改描述信息,添加标签,查看主机管理API等信息,还可以直接点击主机名,查看主机的负载压力等更详细的信息
- 现在继续按上面的方法,再添加一台主机,这样就可以组成一个小型的集群环境,过程不再演示
- 接下来我们需要添加医院应用栈,单击“应用栈”然后点击“添加应用栈”输入栈名和描述信息,点击创建即可,创建好默认进入到当前栈配置里面,我这里创建的是Web应用栈
- 下图显示的就是栈配置,我们可以单击图片中的“添加服务”来启动我们的容器,比如我们现在要启动两个Nginx镜像,然后实现负载均衡
- 单击上图“添加服务”如现如下所示窗口:填写好名称,也就是容器启动时指定的名称,选择镜像中填写需要从哪个镜像启动,如果没有找到该镜像会自动从默认站点pull该镜像启动,一般情况下推荐搭建个私有仓库,然后选择要暴露的端口,这里我们先不暴露,后面通过创建负载均衡来调度,然后下面还有一些配置,根据自己需求进行设置,最后点击创建即可,如果需要从网上下载镜像,这样速度有点慢,需要等一会,服务就会显示为“Active”状态,说明启动成功
- 刚才我们在创建服务的时候默认只启动了一个容器,我们可以点击刚创建“nginx”服务进去,然后点击左侧的“+-”来对容器进行增加或者删除(如下图所示),同样还可以单击服务最右侧的三个点按钮对服务进行升级,升级也就是更改一些容器启动的配置信息,界面如同添加服务一样
- 这时候我们的容器还无法访问,因为没有暴露端口,所以这时候我们还需要按照前面的方法新增一个LB的应用栈,然后再到LB应用栈里面新增一个“负载均衡”服务,再添加服务的时候选择“添加负载均衡器”,如下图所示:输入Name,然后在第一个Port下面输入需要暴露的端口,然后在Target处选择刚创建的nginx服务,然后再最后的Port输入对应到容器里面的端口,点击创建及可
- 我们的创建nginx服务,和负载均衡器的时候我们都没有指定在哪台主机上面运行,系统会自动调度,根据压力负载进行调度,也可以为主机创建标签,然后根据标签自已调度。当负载均衡器启动成功后如下图所示,单击中间的端口号就可以直接访问我们的nginx欢迎页面了,这里我们默认我们负载均衡器也是只运行了一个,我们可以在每台主机上面运行一个相同的负载均衡器,然后在前端再加个nginx负载均衡,这样就实现交叉负载均衡,此负载均衡器会根据后端服务容器的增加减少,然后配置文件也会做自动的同步更新,默认使用的是haproxy调试
- 新建用户:单击“系统管理”然后“访问控制”再然后“管理账号”最后“添加账号”添加一个普通账号一会创建环境时使用,账号类型选择“用户”
- 添加环境:把光标左上角放到“Default”(默认环境名称为Default)然后点击“环境管理”打开如下所示界面,根据下图所示可以看出,我们总共只有一个Default环境,有5个默认的环境模板,我们可以在这里添加环境模板,或者就基于现有模板添加新的环境
- 我们这里就直接使用现有模板就可以了,单击“Add Environment”,然后输入环境名称,选择环境所使用的模板,然后再到最下面配置,输入刚创建的用户名,单击最后边的“+”号,添加到下面,然后再选择此账号的对此环境的权限,单击创建及可
通过以上简单的学习我们已经完成了一些简单功能的实现,很多有意思的功能还需要大家自行测试,发现,后续还会继续分享一些简单的使用如API,vxlan,外部DNS,容器之间相互通讯等问题,更多高级使用后续也会作为单独的知识点进行分享