Portainer统一本地和阿里云所有服务器的管理
portainer运行在集群管理节点上,本地portainer管理主机如下:
10.10.9.197 S2 10.10.9.10 push 10.10.9.42 eca 10.10.9.63 dbs 10.10.9.68 payment 10.10.9.66 file 10.10.9.67 node1 10.10.9.172 test
1.portainer部署
- 拉取portainter镜像
docker pull portainer/portainer - 连接到集群(以集群服务模式部署)
docker service create \ --name portainer \ --replicas 1 --publish 9000:9000 \ --constraint 'node.role == manager' \ --mount type=volume,src=portainer,dst=/data \ --mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \ portainer/portainer \ -H unix:///var/run/docker.sock
2.所有docker主机开放2375端口(除运行portainer的主机)
Ubuntu14.04:
修改 /etc/default/docker 配置,在DOCKER_OPTS参数中添加如下设置 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sockcentos:
vim /lib/systemd/system/docker.service # 修改ExecStart所在的这一行为如下内容 ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock重启docker 服务
sudo service docker restart
3.端口访问控制
设置只允许运行portainer的主机(10.10.10.69)访问2375端口
sudo iptables -I INPUT -p tcp --dport 2375 -j DROP sudo iptables -I INPUT -p tcp -s 10.10.10.69 --dport 2375 -j ACCEPT在69主机和其他主机上运行下面命令进行测试
docker -H ip:2375 info (只有69主机可以成功执行命令)
4.iptables 规则自动保存与自动加载
编辑 /etc/network/interface 文件,在末端插入命令
#iptables rules automatically loaded pre-up iptables-restore < /etc/iptables.up.rules 网卡启动前加载规则 post-down iptables-save > /etc/iptables.up.rules 网卡关闭后保存规则