Rancher应用于swarm集群管理的调研

Rancher简单概述

提供多容器集群环境部署到管理的整套方案,而不仅限于面板监控等个别功能

适合场景

容器集群快速部署,做多个集群统一管理入口。

一个典型的Rancher高可用环境管理多容器集群

arch

重要约束

对整个集群的管理要从部署开始控制,对已经手动部署的swarm集群不能直接纳入

功能覆盖

部署swarm集群的简单几步骤

step

其中第2步中添加的主机是需要安装好支持版本的docker,并且互相开通必备端口访问。

第3、4步全部由脚本自动完成,在每个主机上安装开启了多个基础组件(容器形式),因为国内网络问题,耗时稍长。基础组件中包含了一个portainer,作为集群管理控制面板。

包括 主机、容器、存储、密文、证书、镜像库。

除了证书以为其他管理功能和portainer重合。

可以用于基础设施应用的部署(非集群上service)

功能缺失

这点portainer可以做到,目前Rancher对swarm的支持还实验阶段,也许以后可以。

结论

从部署上看,单个swarm集群的手工方式已经足够简单,Rancher的便捷意义不大,批量多套swarm环境,确实会简化一些工作。对K8S可能会减轻更多工作。

从管理多个容器集群的角度看,Rancher提供了统一的管理入口和管理方式,提供各种环境和服务的模板,并且有操作审计的功能,这些都很有意义。但选用Rancher,也意味以后的集群资源的管理以rancher为枢纽,使用rancher化的方式,和原生手工的方法略有差别,比如它有自己的编排脚本rancher-compose.yml。

日后Rancher对swarm集群服务的支持增加,它也许会提供给我们一些有借鉴意义的管理方法,例如如何对外暴露访问性,添加负载均衡等等。

目前线上环境使用rancher的主要约束是必须要铲掉已有swarm集群,用Rancher重新部署。

测试环境 Rancher 访问地址:http://192.168.240.68:8080