一、Rancher简介

Rancher是一个开源的企业级全栈化容器部署及管理平台。Rancher为容器提供一系列基础架构服务:CNI兼容的网络服务、存储服务、主机管理、负载均衡、防火墙……Rancher让上述服务跨越公有云、私有云、虚拟机、物理机环境运行,真正实现一键式应用部署和管理。
官网:https://www.cnrancher.com/

==============================================================


二、安装Rancher

(0)搜索Rancher 镜像

[root@localhost ~]# docker search rancher

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_ci/cd


(1)下载Rancher 镜像

[root@localhost ~]# docker pull rancher/server

查看镜像:

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_docker_02


(2)创建Rancher容器(默认启动)

[root@localhost ~]# docker run -di --name=rancher -p 9090:8080 rancher/server:latest

查看已启动镜像:

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_mysql_03


(3)浏览器访问Rancher

访问地址:http://192.168.116.161:9090,进入Rancher主页(如下图):

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_docker_04

点击 “Got It” 按钮进入主界面,点击右下角的 “English” 下拉菜单切换至 “简体中文”:

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_mysql_05


三、Rancher初始化

3.1、添加环境

Rancher 支持将资源分组归属到多个环境。 每个环境具有自己独立的基础架构资源及服务,并由一个或多个用户、团队或组织所管理。
       例如: 您可以创建独立的“开发”、“测试”及“生产”环境,以确保环境之间的安全隔离,将“开发”环境的访问权限赋予全部人员,但限制“生产”环境的访问权限给一个小的团队。

选择“Default -->环境管理” 菜单,然后点击“添加环境”按钮,填写名称、描述、选择环境模板,最后点击“创建”按钮,完成环境创建。

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_rancher_06


创建后如下(可多创建几个环境):

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_rancher_07


3.2、添加主机

(1)主页面选择 “基础架构–>主机” 菜单,点击 “添加主机” 按钮(按下图操作):

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_rancher_08


此时进入如下界面:

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_ci/cd_09


(2)服务器主机(linux)安装Rancher代理

注意: 安装代理操作前必须关闭防火墙:systemctl stop firewalld,否则会报如下错:

INFO: Attempting to connect to: http://192.168.116.161:9090/v1
ERROR:

复制Rancher代理脚本,在Linux主机执行,操作见下图:

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_ci/cd_10

点击 “关闭” 按钮后,Rancher界面会显示此主机相关信息:

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_docker_11

我们可以在Rancher上很方便地管理主机的每个容器:

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_ci/cd_12


3.3、添加应用

(1)点击 “应用–>全部/用户”,点击“添加应用”按钮,填写名称和描述,点击“创建”按钮(如下图)

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_mysql_13

创建后界面如下:

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_docker_14


(2)点击 “应用–>全部/用户”,查看列表中新增(或全部)的应用:

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_ci/cd_15


四、Rancher部署应用

4.1、MySQL部署

这里以docker上已安装的mysql为例,如下图:

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_ci/cd_16


其中,MySQL的镜像名:mysql,版本:5.7


(1)在Rancher界面,单击进入刚刚我们创建的应用springboot-demo中,单击“添加服务” 按钮:

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_微服务_17


(2)填写mysql服务相关信息(如下3张图),最后点击“创建”按钮

注: 以下操作相当于执行创建容器命令:

docker run -di --name mysql -p 33060:3306 -e MYSQL_ROOT_PASSWORD=1234
mysql:5.7

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_docker_18


Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_docker_19

注: 如上图,环境变量 MYSQL_ROOT_PASSWORD=1234 为MySQL 服务 root 用户的密码。

点击“创建”按钮后,MySQL57服务即创建成功:

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_rancher_20

(3)在docker中可以看到mysql容器已创建并运行:

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_ci/cd_21


4.2、RabbitMQ部署

安装镜像:rabbitmq:management
6个端口需要映射:5671、5672、4369、15671、15672、25672

(1)在Rancher界面,单击进入刚刚我们创建的应用springboot-demo中,单击“添加服务” 按钮:

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_mysql_22


(2)填写rabbitmq服务相关信息(如下2张图),最后点击“创建”按钮

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_docker_23

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_微服务_24

创建完成界面如下:

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_mysql_25


(3)浏览器访问rabbitmq

访问地址:http://192.168.116.161:15672/

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_docker_26


4.3、Redis部署

(1)在Rancher界面,单击进入刚刚我们创建的应用springboot-demo中,单击“添加服务” 按钮:

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_rancher_27


(2)填写redis服务相关信息(如下2张图),最后点击“创建”按钮

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_rancher_28


Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_mysql_29


创建完成界面如下:

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_mysql_30


(3)测试连接redis

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_docker_31


4.4、微服务部署(这里省略,后续补充)

略。


五、Rancher扩容与缩容(学完微服务需更新此章节)

5.1、扩容

(1)在某个应用中,继续 “添加服务”

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_rancher_27

(2)填写服务相关信息(如下2张图),最后点击“创建”按钮

这里以微服务镜像(以下使用的springboot_demo镜像不是微服务镜像,后续有问题)为例,不设置端口映射(原因: 扩容即容器数量增加后,端口处理交给Rancher

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_ci/cd_33


Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_微服务_34

创建完成界面如下:

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_rancher_35


(3)选择菜单"API -->WebHooks" ,点击“添加接收器”按钮

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_ci/cd_36

(4)填写名称等信息,选择要扩容的服务,点击"创建"按钮

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_ci/cd_37

接收器列表中新增了一条记录 :

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_docker_38


(5)触发扩容测试

点击接收器列表的 “触发地址” ,复制接收器访问地址:

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_docker_39

使用postman访问测试,发现访问后,容器由原来的1个变为了3个。


5.2、缩容

部分操作可参照上面 扩容

(1)选择菜单"API -->WebHooks" ,点击“添加接收器”按钮

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_ci/cd_36

(2)填写名称等信息,选择要扩容的服务,点击"创建"按钮

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_rancher_41

接收器列表中新增了一条记录 :

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_ci/cd_42


(3)触发缩容测试

点击接收器列表的 “触发地址” ,复制接收器访问地址:

Docker持续集成(四):容器管理工具Rancher(微服务部署,后续补充)_docker_39

使用postman访问测试,发现访问后,容器由原来的3个变为了2个,每访问一次减少一个。