Rancher

什么是Rancher

官网
https://rancher.com/quick-start/

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

简单来说,Rancher就是docker的一个图像化管理界面,在Rancher中构建服务,就相当于是在拼接docker创建服务的命令;

安装Rancher

1.下载镜像
docker pull rancher/server:stable
2.运行rancher
docker run -d --restart=unless-stopped --name=rancher -p=9090:8080 rancher/server:stable
3.访问测试
http://ip:9090/

Rancher初始化

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

添加环境
  • 选中环境管理
    - 添加环境
    创建即可
选择环境

回到首页,选中刚才创建的环境

rancher 只支持docker18版本 rancher管理docker_端口映射

添加主机

在添加了环境之后,需要添加主机,让Rancher和docker建立关系

注意:需要有一台安装了docker的Linux主机

rancher 只支持docker18版本 rancher管理docker_端口映射_02

- 添加主机

复制脚本到Linux主机,让docker和Rancher建立关系

rancher 只支持docker18版本 rancher管理docker_docker_03

防火墙需要开启9090端口

firewall-cmd --permanent --zone=public --add-port=9090/tcp

重启防火墙

systemctl restart firewalld

rancher 只支持docker18版本 rancher管理docker_端口映射_04

添加应用

rancher 只支持docker18版本 rancher管理docker_端口映射_05

  • 创建
    添加名称,创建即可
    - 添加成功
添加mysql服务

应用添加成功,就可以添加我们的服务了。

rancher 只支持docker18版本 rancher管理docker_mysql_06

- 添加服务

rancher 只支持docker18版本 rancher管理docker_mysql_07

- 添加mysql的环境变量

设置连接数据库的密码

rancher 只支持docker18版本 rancher管理docker_docker_08

- 激活成功

rancher 只支持docker18版本 rancher管理docker_端口映射_09


对应的docker里面也有该服务的容器

rancher 只支持docker18版本 rancher管理docker_docker_10

- 连接数据库测试

rancher 只支持docker18版本 rancher管理docker_docker_11

扩容和缩容

扩容就相当于对服务做集群;

注意:需要扩容缩容的服务不能设置端口映射,因为没办法扩容出相同端口的容器;

设置扩容

rancher 只支持docker18版本 rancher管理docker_端口映射_12

添加接收器

rancher 只支持docker18版本 rancher管理docker_mysql_13

设置

rancher 只支持docker18版本 rancher管理docker_端口映射_14

触发地址

rancher 只支持docker18版本 rancher管理docker_mysql_15

测试
  • 复制触发地址,使用postman发送post请求测试扩容

rancher 只支持docker18版本 rancher管理docker_docker_16

  • 查看服务
    因为刚才创建mysql服务的时候,我们设置了端口映射,所以扩容之后会造成端口冲突,所以会启动失败,因此需要做扩容的服务不能够做端口映射
  • rancher 只支持docker18版本 rancher管理docker_mysql_17

  • 那么服务没做端口映射该怎么访问呢? 方式一:网关通过服务名访问 ,方式二:添加负载均衡