预置条件

一、配置防火墙

CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。

1、关闭firewall:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

2、安装iptables防火墙

安装iptables

yum install iptables-services

编辑防火墙配置文件

vi /etc/sysconfig/iptables

 

3、开启宿主机之间的端口

TCP端口2377集群管理端口

TCP与UDP端口7946节点之间通讯端口

TCP与UDP端口4789 overlay网络通讯端口

-A INPUT -p tcp -m state --state NEW -m tcp --dport 2377 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp –dport 7946 -j ACCEPT

-A INPUT -p udp -m state --state NEW -m udp --dport 7946 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp –dport 4789 -j ACCEPT

-A INPUT -p udp -m state --state NEW -m udp --dport 4789 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 9080 -j ACCEPT

4、重启防火墙使配置生效

systemctl restart iptables.service

设置防火墙开机启动

systemctl enable iptables.service

二、关闭selinux

sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

setenforce 0

三、修改主机名

hostnamectl set-hostname <hostname>
创建集群节点

创建manager node:

docker swarm init --advertise-addr <MANAGER-IP>

 

注意:为了swarm集群的高可用,避免单点故障可以多建立几个manager节点

创建worker node:

Docker swarm join –join-token <MANAGER-IP>:<PROT>

 
节点操作相关命令

需要在manager node上做以下操作

查看集群节点列表:

docker node ls

 

查看工作节点加入token:

docker swarm join-token worker

查看管理节点加入token:

docker swarm join-token manager

查看docker集群节点详细信息:

docker node inspect <NODE-ID> [--pretty]

更改节点的可用性:

设置节点不可用:

docker node update --availability drain <NODE-ID>/<hostname>

(如果不想把任务分配到manager节点可用设置为drain)

设置节点可用:

docker node update --availability active <NODE-ID>/<hostname>

节点升级worker to manager:

docker node promote <NODE-ID>/<hostname>

节点降级manager to worker:

docker node demote <NODE-ID>/<hostname>

退出集群:

worker node 上操作

docker swarm leave

manager node 上操作(整个集群节点都会被清除)

docker swarm leave --force

 

       移除节点信息:

docker node rm <NODE-ID>/<hostname>
————————————————
版权声明:本文为 「Tomorrow YE」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。