1 什么是Rancher

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

2 Rancher安装

(1)下载Rancher 镜像

  1. docker pull rancher/server

(2)创建Rancher容器

docker run ‐d ‐‐name=rancher ‐‐restart=always ‐p 9090:8080 rancher/server

restart为重启策略

  • no,默认策略,在容器退出时不重启容器
  • on-failure,在容器非正常退出时(退出状态非0),才会重启容器
  • on-failure:3,在容器非正常退出时重启容器,最多重启3次
  • always,在容器退出时总是重启容器
  • unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器

    (3)在浏览器输入地址: http://192.168.184.136:9090 即可看到高端大气的欢迎页

    图片.png
    点击Got It 进入主界面
    图片.png

    (4)切换至中文界面

    点击右下角的English 在弹出菜单中选择中文
    图片.png
    切换后我们就可以看到亲切的中文界面啦~
    图片.png

    3 Rancher初始化

    3.1 添加环境

    Rancher 支持将资源分组归属到多个环境。 每个环境具有自己独立的基础架构资源及服务,并由一个或多个用户、团队或组织所管理。例如,您可以创建独立的“开发”、“测试”及“生产”环境以确保环境之间的安全隔离,将“开发”环境的访问权限赋予全部人员,但限制“生产”环境的访问权限给一个小的团队。
    (1)选择“Default —>环境管理” 菜单
    图片.png
    (2)填写名称,点击“创建”按钮
    图片.png
    (3)按照上述步骤,添加十次方测试环境和生产环境
    图片.png
    (4)你可以通过点击logo右侧的菜单在各种环境下切换
    图片.png

    3.2 添加镜像库

    192.168.108.140

    3.3 添加主机

    (1)选择基础架构—>主机 菜单,点击添加主机
    图片.png
    (2)拷贝脚本
    图片.png
    (3)在服务器(虚拟机)上运行脚本
    图片.png
    (4)点击关闭按钮后,会看到界面中显示此主机。我们可以很方便地管理主机的每个容器的开启和关闭

图片.png

3.4 添加应用

点击应用—>全部(或用户) ,点击“添加应用”按钮
图片.png
填写名称和描述
图片.png
点击“创建”按钮,列表中增加了新增的应用
图片.png

4 应用部署

4.1 MySQL部署

镜像:centos/mysql-57-centos7 增加数据库服务
图片.png
注意:添加环境变量 MYSQL_ROOT_PASSWORD=123456
图片.png
点击创建按钮,完成创建 上述操作相当于以下docker命令

docker run ‐di ‐‐name mysql ‐p 3306:3306 ‐e MYSQL_ROOT_PASSWORD=123456
centos/mysql‐57‐centos7

完成后服务列表中存在并且状态为激活 使用SQLyog测试链接,执行建表语句

4.2 RabbitMQ部署

镜像:rabbitmq:management 端口映射5671 5672 4369 15671 15672 25672
图片.png
浏览器访问 http://192.168.184.136:15672/

4.3 Redis部署

进入应用,点击添加服务 名称redis ,镜像redis ,端口映射6379
图片.png
创建后使用客户端测试链接

redis‐cli ‐h 192.168.184.136

测试成功

5 微服务容器部署

5.1 Eureka微服务容器化部署

(1)在用户应用界面中点击“添加服务”
图片.png
(2)填写名称、描述、镜像和端口映射,点击创建按钮
名称eureka 镜像 192.168.184.135:5000/tensquare_eureka:1.0-SNAPSHOT
图片.png
(3)服务添加成功
图片.png
(4)我们现在访问以下我们的系统
http://192.168.184.136:6868/ 可以正常访问

5.2 配置中心微服务部署

创建容器
添加服务config 镜像 192.168.184.135:5000/tensquare_config:1.0-SNAPSHOT
映射端口:12000
测试 浏览器输入 http://192.168.184.135:12000/base-dev.yml 可以查看到配置文件内

5.3 基础微服务部署

(1)添加服务base-service 镜像tensquare_base:1.0-SNAPSHOT 端口映射9001
图片.png
(2)测试微服务 浏览器打开网址 http://192.168.184.136:9001/label 看是否可以看
到标签列表

6 扩容与缩容

6.1 扩容

(1)在Rancher将创建的base-service(基础信息微服务)删除
(2)重新创建base-service ,不设置端口映射
图片.png
(3)在选择菜单API —>WebHooks ,点击“添加接收器”按钮
图片.png
(4)填写名称等信息,选择要扩容的服务,点击创建按钮
图片.png
(5)接收器列表中新增了一条记录 ,点击触发地址将地址复制到剪切板
图片.png
(6)使用postman测试:
图片.png
测试后,发现容器由原来的1个变为了3个
图片.png
打开erueka,发现服务也有3个
图片.png

6.2 缩容

刚才我们实现了扩容,那么如何减少容器数量呢?我们来试试如何缩容
(1)添加接收器 ,选择缩容,步长为1表示每次递减1个 ,点击创建按钮
图片.png
(2)创建成功后,复制触发地址
图片.png
(3)使用postman测试
图片.png