节点 | Docker版本 | 角色 |
---|---|---|
192.168.0.101 | 18.06.2 | manager |
192.168.0.102 | 18.06.2 | worker |
- 关于Docker的安装可参考这篇文章:
https://blog.csdn.net/ywd1992/article/details/82897394 - Portainer镜像
链接:https://pan.baidu.com/s/1-EHCt8DeTyMSE4ChViVFXg 提取码:s180
各节点需关闭防火墙或开放相关端口,需关闭selinux
1、修改主机名及hosts
因集群在选举角色时需要用到主机名来指定不同的角色,所以机器需要事先修改为不同的主机名用以区分,避免出错
hostnamectl set-hostname manager
hostnamectl set-hostname worker1
hostnamectl set-hostname worker2
...
设置hosts(所有节点)
vim /etc/hosts
192.168.0.101 manager
192.168.0.102 worker1
2、修改docker.service文件
vim /etc/systemd/system/docker.service
在“ExecStart=/usr/bin/dockerd”后添加“-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock”
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
重新启动docker服务
systemctl daemon-reload
systemctl restart docker
3、选举集群manager节点
在集群中要被选举为manager的docker节点中运行以下命令
docker swarm init --advertise-addr 192.168.0.101
使用如下命令可查看node
docker node ls
使用如下命令可查看当前节点的信息,包括swarm状态及其管理的节点数量
docker info
4、将其他节点加入集群
加入集群需要使用上文中选举manager时生成的那行命令,如果忘记了,可使用如下命令进行查询
docker swarm join-token manager
或
docker swarm join-token worker 直接添加为worker
在需要加入集群的节点的机器中运行如下命令
docker swarm join --token SWMTKN-1-5le5ibcw8rxi7wu2a9an4qzhjckrct4gg613knvazymwkrkx7q-74eigtvsalhldyu0k1mnclf5p 192.168.0.101:2377
通过docker node ls我们可以看到默认加入集群的节点也是manager
在manager节点运行如下命令可以将新加入集群的节点释放掉manager资格,成为专职的worker,需要注意的是因为是通过主机名区分的,所以需要事先修改主机名,避免修改角色出错
docker node update worker1 --role worker
5、部署Portainer(manager节点操作)
load portainer镜像
docker load < portainer.tar
启动portainer
docker run -d -p 9000:9000 --restart=always --name portainer portainer/portainer:latest
6、portainer web配置
浏览器访问ip+9000端口打开portainer页面
(1)设置密码
(2)配置集群的管理方式,选择Remote,配置一个Name,Endpoint URL填写集群中manager节点的URL,注意端口对应,一般为2375
(3)点击左侧的“Endpoints”可以将集群中其他节点加入