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

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

# 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通知的内容状态。



时间: 2024-08-02 02:48:40

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

ONOS集群---基于docker部署

ONOS HA 部署流程 高可靠性的网络环境在生产中随处可见,ONOS的一大亮点是支持集群.为了能够快速的搭建起ONOS的集群环境,官网提供了基于docker的部署镜像.当我们部署完成docker环境以后,可以很方便的使用docker来部署一个ONOS的集群.[关于docker的环境部署,参考:http://www.cnblogs.com/BurlyLuo/p/8283815.html] ONOS使用Hazelcast架构实现对集群成员的管理,在集群模式下,网络中的控制器共享状态信息,共同管理网

在 Linux 部署多节点 Kubernetes 集群与 KubeSphere 容器平台

KubeSphere 是在 Kubernetes 之上构建的以应用为中心的企业级容器平台,所有供为用户提供简单易用的操作界面以及向导式操作方式.同时,KubeSphere Installer 提供了 快速部署生产级别的 Kubernetes 集群和全栈化容器平台的功能,能够快速帮助企业用户快速搭建一套以应用为中心的 DevOps 平台. KubeSphere 支持部署和运行在包括公有云.私有云.VM.BM 和 Kubernetes 等任何基础设施之上,可以部署在公有云托管的 Kubernetes

RabbitMQ集群化部署

压测环境上RabbitMQ主库采用三台集群化部署,部署在172.16.103.127, 172.16.103.138, 172.16.103.129三台机器上. 安装目录:/opt/rabbitmq/rabbitmq_3.6.2 集群化部署 1.设置hosts解析,所有节点配置相同 vi /etc/hosts 172.16.103.129 mq-n129172.16.103.128 mq-n128172.16.103.127 mq-n127 2.设置节点间认证的cookiescp /root/.

【2】微服务架构-kong的集群化部署

一:Kong的集群方案 Kong支持集群方案,可以加入多个Kong节点来保障服务的高可用性以及提高负载的能力,如下面官方图所示,多个kong组成的集群需要使用共享数据库,以保证集群数据的一致性. (1)集群状态 检查集群的状态 $kong cluster reachability 检查群集的成员 $kong cluster members (2)集群配置 集群配置包含以下几项 cluster_listen         用于与群集中其他节点之间通信的地址和端口. 默认值: 0.0.0.0:79

【摘自大型网站技术架构书】应用服务器集群的session管理

由于负载均衡服务器可能会将请求分发到集群任何一台服务器上,所以保证每次请求能够获得正确的session比单机时复杂. 集群环境下,session管理的主要几种手段 1.session复制 session复制是早期的企业级的使用比较多的一种服务器集群session管理机制.应用服务器开启web容器的session复制功能,在集群中的几台服务器之间同步session对象,使得每台服务器上都保存所有的session信息,这样任何一台宕机都不会导致session的数据丢失,服务器使用session时,直

应用服务器集群的session管理

1.什么是session a.web应用中将这些多次请求修改使用的上下文对象称作会话(session) b.Session 对象存储特定用户会话所需的信息.这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去. c.当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象.当会话过期或被放弃后,服务器将终止该会话 2.session的应用场景 在高可用的架构中,

RedHadoop创始人童小军在北京开讲“Hadoop2.0集群优化与管理”啦!

一.活动介绍 目前Hadoop的应用越来越广泛,开始被很多企业采用,且Hadoop人才十分稀缺和抢手,待遇也远比Java..Net开发好.为了帮助您快速掌握Hadoop的前沿技术,了解企业应用Hadoop的性能优化,CSDN特别邀请您参加我们精心策划的Hadoop2.0运维管理与集群安装监控管理实训班.届时,在历时一天的实训班上,RedHadoop创始人童小军将为您分享Hadoop企业应用成功案例.讲解Hadoop技术架构知识与小窍门. 期待您的加入,名额有限,感兴趣的小伙伴们欲报从速哦!另外,

利用ansible来做kubernetes 1.10.3集群高可用的一键部署

请读者务必保持环境一致 安装过程中需要下载所需系统包,请务必使所有节点连上互联网. 本次安装的集群节点信息 实验环境:VMware的虚拟机 IP地址 主机名 CPU 内存 192.168.77.133 k8s-m1 6核 6G 192.168.77.134 k8s-m2 6核 6G 192.168.77.135 k8s-m3 6核 6G 192.168.77.136 k8s-n1 6核 6G 192.168.77.137 k8s-n2 6核 6G 192.168.77.138 k8s-n3 6核

生产环境swarm集群规划和管理

swarm集群角色 swarm集群中有两种角色,manager node和 worker ndoe. manager的功能: 维护集群状态 任务调度 为swarm集群提供HTTP API 可以创建只有一个manager节点的swarm集群,但是swarm集群中如果一个manager节点都没有,则不能拥有worker节点.默认情况下,所有manage都是worker worker node的功能: Worker节点也是Docker Engine的实例,其唯一目的是执行容器.工作节点不参与Raft分