一、背景与环境
在一个四节点规模的docker swarm集群上,使用Portainer的Agent模式进行集群管理。
1、 docker被收购后,官方已经放弃docker swarm。。。但这里因为是小规模集群,使用K8S得不偿失,而K3S/MicroK8S等轻量级工具出现时间不长,尚无成熟落地案例。因此这里依然使用docker swarm作为docker集群管理工具。
2、 Portainer是一个docker集群管理UI工具,有CE版和商业版。其中CE版本已经足够使用,这里使用的是CE版。
4个节点的操作系统均为CentOS7,CentOS7使用的防火墙是firewalld,如果是生产环境不能关闭防火墙,则应该规划好各个节点哪些服务和端口允许访问。例如,每个节点都执行以下配置(默认使用public区域):
http/https用于一些web服务的访问,2375是各个节点docker API的远程访问端口,2377是swarm实现负载均衡需要各个节点暴露和监听的端口,9001是各个节点的Portainer-Agent的访问端口。
二、安装Portainer
本文并不详细讲述如何搭建docker swarm集群,只是在后续章节介绍一下部分注意事项。
在已经搭建好docker swarm集群之后(例如这里在四个节点上搭建了docker swarm集群,两个manager节点,两个worker节点),执行以下操作。
2.1 安装Portainer:
选择一个manager节点,例如manager01,安装portainer:
1、 为何要先创建一个overlay网络?是为了保持后续创建的全局服务port