Swarm搭建Docker集群 试验步骤

Swarm搭建Docker集群 试验步骤

1、环境准备

1.1 所用版本如下

centos 7
docker
swaram
这里用两台机器来搭建,分别如下:
swarm01 192.168.0.240
swarm02 192.168.0.239

1.2 安装docker

# yum search docker
# yum install -y docker
# systemctl start docker
# systemctl status docker

1.3 加入开机自启

# systemctl enable docker

1.4 更改docker的镜像源

安装好之后,更改docker的镜像源,修改或新增 /etc/docker/daemon.json

# vi /etc/docker/daemon.json

修改成如下:

{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
或
{ 
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] 
}

然后重启

# systemctl restart docker.service

1.5 修改主机名

然后分别修改两台机器的主机名,更改成swarm01,swarm02

# hostnamectl set-hostname swarm01

1.6 关闭SELinux

[root@swaram01 ~]# getenforce
Disabled
[root@swaram01 ~]# /usr/sbin/sestatus -v
SELinux status:                 disabled

修改

# vi /etc/selinux/config

将SELINUX=enforcing改为SELINUX=disabled

注意: 设置后需要重启才能生效

1.7 编辑hosts文件

# vi /etc/hosts

设置两台主机的对应关系

192.168.182.110 swarm01
192.168.182.111 swarm02

1.8 关闭防火墙

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

1.9 修改docker监听端口

Swarm是通过监听2375端口进行通信的,所以在使用Swarm进行集群管理之前,需要设置一下2375端口的监听。所有主机节点docker开启2375监听,docker版本不同,配置方式不一样

# vim  /lib/systemd/system/docker.service

在ExecStart加入:

-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

在这里插入图片描述

1.10 重启docker服务

# systemctl daemon-reload    ##使配置文件生效
# systemctl restart docker

2、Swarm安装和集群创建

2.1 Swarm镜像下载

在两台机器上分别安装Swarm

# docker pull swarm

2.2 初始化Swarm

# docker swarm init --advertise-addr  192.168.0.240

上面命令执行后,该机器自动加入到swarm集群。这个会创建一个集群token,获取全球唯一的 token,作为集群唯一标识。后续将其他节点加入集群都会用到这个token值。
其中,–advertise-addr参数表示其它swarm中的worker节点使用此ip地址与manager联系。命令的输出包含了其它节点如何加入集群的命令。

2.3 添加集群节点

然后在swaram02机器上执行以下命令

# docker swarm join --token SWMTKN-1-3ur2cf9vu9vu80t28fusd8x60xmijnvlz5apzr23q22rg00w7v-08jesl2gz16d27j9xcsfkhoxs     192.168.0.240:2377

在这里插入图片描述

2.4 查看集群节点

# docker node list

在这里插入图片描述

3、swarm集群常用操作

3.1 节点信息查看

# docker node ls                                //查看集群节点
# docker node ls -q                             //查看节点ID
# docker node ls -f name=swarm01                //筛选满足条件(支持参数 name id)

在这里插入图片描述

3.2 修改节点

# docker node ls       
# docker node promote swarm02      //节点升级: worker -> manager

在这里插入图片描述

# docker node demote swarm02        //节点降低:manager-> worker

在这里插入图片描述

指定参数修改
--advertise-addr: ip
--listen-addr: ip与端口
--availability: 节点的有效性("active"|"pause"|"drain")
--role:worker manager
# docker node update --role worker swarm02     

在这里插入图片描述

3.3 移除节点

# docker swarm leave				//在准备移除的节点上进行操作

在这里插入图片描述

# docker node rm localhost.localdomain 		//在控制节点上操作

在这里插入图片描述
工作节点执行docker node leave之后在集群节点状态变为Down,这样在集群节点执行docker node rm便可。

# docker node rm -f localhost.localdomain       //如果需要强制移除节点,要添加 -f 参数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值