Rancher集群化docker管理平台部署、特性及破坏性测试。
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。
5:创建一个Load Balance负载均衡器,设置端口映射,选择负载均衡的服务。
6:WEB-server的服务创建成功。一个stack包含了两个service。
网络+负载均衡
依赖镜像: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管理平台部署、特性及破坏性测试。相关推荐
- 【360开源】Wayne:企业级可视化多集群Kubernetes一站式管理平台
宣言 Wayne是由360搜索云平台团队开发的,一个通用的.基于Web的Kubernetes多集群一站式可视化管理平台.内置了丰富多样的功能,满足企业的通用需求,同时插件化的方式可以方便集成定制化功能 ...
- 发布一个免费的 Elasticsearch 多集群监控和管理平台 - 极限数据平台
随着单个 Elasticsearch 集群规模的越来越大,大家要么在拆集群的路上,要么是已经是多套集群了, 据路边社消息,一个公司超过5个集群的情况已经变得非常普遍,而管理多个集群着实是有点痛苦,比如 ...
- rancher安装mysql_四、rancher搭建Mysql集群化部署,做到同步备份
一.Rancher基础镜像查找: 1.基础镜像操作地址:https://hub.docker.com/r/library/mariadb/ 2.选择自己需要的镜像进行搜索,里面有对应版本:也有最新的如 ...
- docker集群——介绍Mesos+Zookeeper+Marathon的Docker管理平台
容器为用户打开了一扇通往新世界的大门,真正进入这个容器的世界后,却发现新的生态系统如此庞大.在生产使用中,不论个人还是企业,都会提出更复杂的需求.这时,我们需要众多跨主机的容器协同工作,需要支持各种类 ...
- PostgreSQL的集群化和容器化部署
2019独角兽企业重金招聘Python工程师标准>>> 对于PostgreSQL用户来说,随着数据增多.业务负载上升,需要将其进行容器化和集群化改造,以便于管理和伸缩规模.Postg ...
- 【云原生】第十篇--Docker主机集群化方案 Docker Swarm
Docker主机集群化方案 Docker Swarm 一.docker swarm介绍 二.docker swarm概念与架构 2.1 架构 2.2 概念 三.docker swarm集群部署 3.1 ...
- 旗鱼云梯SaaS化云服务器集群运维管理平台发布
如今互联网正在加速向5G时代迈进,5G网络具有大带宽.泛在网.低时延.低功耗的突出优势,必将在VR虚拟现实.AR增强现实.AI人工智能.无人驾驶.大数据.云计算等诸多新技术领域掀起一场新时代的互联网革 ...
- docker.10-Docker主机集群化方案 Docker Swarm
Docker主机集群化方案 Docker Swarm 一.docker swarm介绍 Docker Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个 ...
- .netcore 如何获取系统中所有session_集群化部署,Spring Security 要如何处理 session 共享?
前面和大家聊了 Spring Security 如何像 QQ 一样,自动踢掉已登录用户(Spring Boot + Vue 前后端分离项目,如何踢掉已登录用户?),但是前面我们是基于单体应用的,如果我 ...
最新文章
- 通讯波形记录——I2S、I2C、Uart、SPI
- maven项目update报错
- python详细安装教程linux-Linux(Ubuntu)系统安装Python
- 利用redis漏洞远程添加计划任务挖取比特币
- One-Dimensional Battle Ships CodeForces - 567D
- Spring Boot-切换嵌入式Servlet容器
- FreeSql (十八)导航属性
- P1028 [NOIP2001 普及组] 数的计算 python
- java swing 关闭_Java Swing 只关闭当前窗体的实现
- 无废话Git——概念与本地服务器提交
- confluence统计用户文章_首次,Flink公众号公开一些后台统计数据
- linux下如何查看某个容器的详细信息?
- java程序员表情包_听说,这些表情包只有程序员才懂
- 超详细软件著作权申请——软件设计说明书软件用户说明书
- 持续做正确的事,相信时间的复利
- linux vi把一个文件中的内容复制到另一个文件,vim - 将内容从一个文件复制并粘贴到vi中的另一个文件...
- java虚拟函数_java实现多态中的虚函数相关概念
- foxmail邮箱怎么导入邮件_Foxmail怎样导入和导出邮箱账户和邮件
- 数据结构:元祖、列表、字典、集合概念及区别
- SpringBoot项目部署到Tomcat中的两种方式(jar和war)