您的位置:首页 > 运维架构 > Docker

Docker创建Docker Swarm集群节点

2017-07-21 14:07 495 查看

预置条件

一、配置防火墙

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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息