初次接触容器的人们很快意识到,从CLI管理Docker并不是最直观的方法。即使用户只能通过CLI执行某些任务,GUI也可以帮助管理大量容器并简化操作。这篇文章将比较两个最著名的Container GUI:Portainer vs Rancher。
并非所有人都知道Portainer和Rancher在过去有共同点。实际上,Rancher从1.5版开始发布了一个默认的UI,用于管理Swarm:Portainer。从2.x版本开始,Rancher更加专注于Kubernetes(及其集群工具),并且不再支持Docker Swarm。
请在下面的表格中找到一些主要的比较主题。
话题 | Portainer烤盘 | Rancher牧场主 |
官方网站 | ||
网站 | 简化Docker管理 | 在各处运行Kubernetes |
第一个网站说明 | 它是功能强大的开源管理工具集,可让您轻松构建,管理和维护Docker环境。 | Rancher是用于采用容器的团队的完整软件堆栈。它解决了管理多个Kubernetes集群的运营和安全挑战,同时为DevOps团队提供了用于运行容器化工作负载的集成工具。 |
任务 | Portainer的开发旨在帮助客户采用Docker容器技术并缩短实现价值的时间。 | Rancher旨在在其运行的任何地方管理Kubernetes。它可以轻松地从头开始部署新集群,启动EKS,GKE和AKS集群,甚至导入现有的Kubernetes集群。 |
API支持 | 是 | 是 |
可以使用模板 | 是(基于json) | 是(基于Yaml) |
内置备份 | 没有 | 是 |
内置灾难恢复 | 没有 | 是 |
集群管理 | 基于Docker Swarm | 基于Kubernetes |
项目空间管理 | 是(RBAC功能) | 是 |
GUI类型 | Web GUI(默认端口:9000) | Web GUI(默认端口:80/443) |
Docker映像(尺寸)–兼容Raspberry PI | portainer / portainer:linux-arm64-1.22.0 | rancherpi / rancher:v2.3.0-rc1-linux-arm64 |
安装默认命令 | docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/ data portainer / portainer:linux-arm64-1.22.0 | sudo docker run -d –restart =除非停止-p 80:80 -p 443:443 rancherpi / rancher:v2.3.0-rc1-linux-arm64 |
关于Portainer vs Rancher的经验的思考
两种产品都是简化容器高级管理需求的绝佳解决方案。
该表的第一部分已经显示了两个GUI之间的主要区别。Portainer旨在简化Docker管理,您可以在将Docker CLI移至网页时看到它。Rancher专注于为企业提供服务:团队工作管理,备份和灾难恢复工具,更完整的集群管理。
我发现Rancher命名空间实现是一个很棒的功能:这对于大型公司在管理复杂的环境中非常有用,因为在复杂的环境中,多个团队可能会参与许多并行项目。Portainer最近在RBAC中添加了此功能。
请注意,如果选择Rancher,则安装将使用默认的Web端口(80和443)。如果需要在同一主机上公开Web应用程序,则可能需要在安装docker run命令中编辑主机端口。Rancher的另一个注释是,一旦容器停止,您可能需要映射持久性以保存数据。
Rancher还具有出色且轻巧的操作系统(称为RancherOS),该操作系统应基于BusyBox。如果要使用此OS,则可以自由选择GUI。通过RancherOS(安装在Raspberry Pi上)的Portainer的示例在此处提供。
最后,我个人认为它们都是管理容器环境的有效工具。
Portainer完全可以满足小型环境的需求,尤其是在基于不良硬件的情况下。它与Raspberry Pi完美配合,如果要管理家庭环境/小型实验室/小型公司,它可能是最佳选择。它还将重点关注具有低成本扩展功能,能够添加新功能的大型企业,并且还可以在Rancher上用作替代协调器。
另一方面,Rancher直接关注中型到大型环境的需求,尤其是在基于复杂体系结构的环境中。如果您想向公司开放容器的世界,并使用kubernetes一流的编排工具,那么它可能是最佳选择。