http://8941355.blog.51cto.com/8931355/1712683

rancher是一个docker集群化管理平台,相对于mesos和k8s架构,rancher的部署管理非常简单方便。并且功能丰富。如下为本人绘制的逻辑架构图。

1:部署Rancher管理平台

规划:

server:10.64.5.184

agent1:10.64.5.185

agent2:10.64.5.186

agent3:10.64.5.187

agent4:10.64.5.188

部署方式:

docker容器启动

server端部署

依赖镜像:rancher/server:latest

1
# docker run -d --restart=always -v /home/heqinqin/data:/var/lib/mysql -p 8080:8080 rancher/server

agent部署

依赖镜像:rancher/agent:v0.8.2

浏览器访问server_ip:8080,点击Add host.执行下图中sever管理端生成的Add host命令,即可将host添加到server端管理。

添加两个host之后

2:部署stack和service

rancher管理容器是以stack为一个任务组,在stack下可以有多个service共同提供业务,而每个service可以包含多个容器。

下面来创建一个web集群,来提供网站服务

1:创建一个Stack,命名为WEB-Server

2:创建一个Service,命名为Nginx-cluster,运行十个nginx容器。

3:点击start启动service,开始部署container。

4:创建一个Load Balance负载均衡器

5:创建一个Load Balance负载均衡器,设置端口映射,选择负载均衡的服务。

6:WEB-server的服务创建成功。一个stack包含了两个service。

7:点击显示架构图,可清楚看到逻辑关系.

8:同理创建一个WordPress服务,如下。

3:Rancher的相关特性,功能

  • 网络+负载均衡

依赖镜像:rancher/agent-instance:v0.5.0

采用SDN技术所建容器为虚拟ip地址10段(常规为docker内部地址172段),各host之间容器采用ipsec隧道实现跨主机通信,使用的是udp的500和4500端口。

启动任务时,在各个host部署容器之前会起一个Network  Agent容器,负责组建网络环境。

  • 监控管理

包括:主机监控+和容器监控

监控内容:CPU+Memory+Network+storge

  • 用户管理和访问控制

支持多种访问控制权限管理。保证平台安全。

支持用户组及权限设置(如下图设置了运维OPS环境和开发DEV环境,实现管理隔离)。

  • 集成第三方软件镜像(官方会持续更新)

4:破坏性测试

server是以胖容器方式运行,其中包含了mysql数据库,经测试,数据库保存了任务数据以及任务逻辑关系。

破坏server端

1.

操作:在server端和agent端正常运行状态下,stop掉server容器,

结果:业务不受影响。start重启容器后恢复管理功能。

2.

操作:将server端容器rm删除掉(未将mysql数据映射至宿主机),重新再起一个server容器。

结果:1.当前业务不受影响

2.新server仍然能够识别和管理各个agent,因为agent端是连server的ip端口,ip不变就能连上

3.agent端原有的任务容器的命名和逻辑关系没有了。

3.

操作:将server端容器rm删除掉(将mysql数据/var/lib/mysql 映射至宿主机),重新再起一个server容器。

结果:新起的容器能够识别任务状态,命名,逻辑关系。恢复到之前的状态。

破坏agent端

4.

操作:host命令行下删除掉agent容器

结果:不影响当前业务状态,server端显示host失联,无法对该agent下发任务进行扩容和缩容。

重新启动agent后恢复正常。

5.

操作:server控制端删除agent端的业务容器(例如删除nginx容器)

结果:删除后数秒内,在另一个host上重新启动一个新的业务容器。

6.

操作:host命令行下删除agent端的业务容器(例如删除nginx容器)

结果:删除后数秒内,在当前host上重新启动一个新的业务容器。

7.

操作:host命令行下删除掉agent容器后,再删除一个业务容器

结果:server端因为与agent失联,导致无法更新该host上的容器变化,没有新启动任何容器。

测试未完。。。

---当前结论

1:server节点需要单独部署,并相对给予较高性能。

2:server节点宕机不会对现有业务造成影响,但是可能会对后期管理造成影响。

3:需要将server端数据保存至宿主机,并定期备份数据库数据。

4:server端对host的管理完全是依赖agent容器,当无法联系agent容器时,无法得知当前host上容器的变化,在终端显示的是最后一次agent通知的内容状态。

Rancher集群化docker管理平台部署、特性及破坏性测试。相关推荐

  1. 【360开源】Wayne:企业级可视化多集群Kubernetes一站式管理平台

    宣言 Wayne是由360搜索云平台团队开发的,一个通用的.基于Web的Kubernetes多集群一站式可视化管理平台.内置了丰富多样的功能,满足企业的通用需求,同时插件化的方式可以方便集成定制化功能 ...

  2. 发布一个免费的 Elasticsearch 多集群监控和管理平台 - 极限数据平台

    随着单个 Elasticsearch 集群规模的越来越大,大家要么在拆集群的路上,要么是已经是多套集群了, 据路边社消息,一个公司超过5个集群的情况已经变得非常普遍,而管理多个集群着实是有点痛苦,比如 ...

  3. rancher安装mysql_四、rancher搭建Mysql集群化部署,做到同步备份

    一.Rancher基础镜像查找: 1.基础镜像操作地址:https://hub.docker.com/r/library/mariadb/ 2.选择自己需要的镜像进行搜索,里面有对应版本:也有最新的如 ...

  4. docker集群——介绍Mesos+Zookeeper+Marathon的Docker管理平台

    容器为用户打开了一扇通往新世界的大门,真正进入这个容器的世界后,却发现新的生态系统如此庞大.在生产使用中,不论个人还是企业,都会提出更复杂的需求.这时,我们需要众多跨主机的容器协同工作,需要支持各种类 ...

  5. PostgreSQL的集群化和容器化部署

    2019独角兽企业重金招聘Python工程师标准>>> 对于PostgreSQL用户来说,随着数据增多.业务负载上升,需要将其进行容器化和集群化改造,以便于管理和伸缩规模.Postg ...

  6. 【云原生】第十篇--Docker主机集群化方案 Docker Swarm

    Docker主机集群化方案 Docker Swarm 一.docker swarm介绍 二.docker swarm概念与架构 2.1 架构 2.2 概念 三.docker swarm集群部署 3.1 ...

  7. 旗鱼云梯SaaS化云服务器集群运维管理平台发布

    如今互联网正在加速向5G时代迈进,5G网络具有大带宽.泛在网.低时延.低功耗的突出优势,必将在VR虚拟现实.AR增强现实.AI人工智能.无人驾驶.大数据.云计算等诸多新技术领域掀起一场新时代的互联网革 ...

  8. docker.10-Docker主机集群化方案 Docker Swarm

    Docker主机集群化方案 Docker Swarm 一.docker swarm介绍 Docker Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个 ...

  9. .netcore 如何获取系统中所有session_集群化部署,Spring Security 要如何处理 session 共享?

    前面和大家聊了 Spring Security 如何像 QQ 一样,自动踢掉已登录用户(Spring Boot + Vue 前后端分离项目,如何踢掉已登录用户?),但是前面我们是基于单体应用的,如果我 ...

最新文章

  1. 通讯波形记录——I2S、I2C、Uart、SPI
  2. maven项目update报错
  3. python详细安装教程linux-Linux(Ubuntu)系统安装Python
  4. 利用redis漏洞远程添加计划任务挖取比特币
  5. One-Dimensional Battle Ships CodeForces - 567D
  6. Spring Boot-切换嵌入式Servlet容器
  7. FreeSql (十八)导航属性
  8. P1028 [NOIP2001 普及组] 数的计算 python
  9. java swing 关闭_Java Swing 只关闭当前窗体的实现
  10. 无废话Git——概念与本地服务器提交
  11. confluence统计用户文章_首次,Flink公众号公开一些后台统计数据
  12. linux下如何查看某个容器的详细信息?
  13. java程序员表情包_听说,这些表情包只有程序员才懂
  14. 超详细软件著作权申请——软件设计说明书软件用户说明书
  15. 持续做正确的事,相信时间的复利
  16. linux vi把一个文件中的内容复制到另一个文件,vim - 将内容从一个文件复制并粘贴到vi中的另一个文件...
  17. java虚拟函数_java实现多态中的虚函数相关概念
  18. foxmail邮箱怎么导入邮件_Foxmail怎样导入和导出邮箱账户和邮件
  19. 数据结构:元祖、列表、字典、集合概念及区别
  20. SpringBoot项目部署到Tomcat中的两种方式(jar和war)

热门文章

  1. WPF 改进 WrapPanel 右侧填充
  2. 条码打印软件如何连接SQL Server数据库制作条形码
  3. c++结构体总结(结构体定义,结构体数组,结构体指针,结构体嵌套结构体,结构体做函数参数,结构体中 const使用场景)
  4. 模式匹配——BF算法
  5. 第一节项目整体管理学习笔记
  6. 轻松玩抠图:图像去除背景方法与技巧
  7. 我的编程能力从这时候开始突飞猛进的
  8. 【国内某社交软件的加解密分析】
  9. 遇到Initialization failure:0x0000000C错误,其他解决办法
  10. springmvc系列第2篇:整合mybatis