Swarm集群

 

 

 

 

集群环境:

服务器

角色

docker版本

系统版本

9.1.1.128

Manager

docker 18.09-ce

Ubuntu:18.04

9.1.1.129

Agent01

docker 18.09-ce

Ubuntu:18.04

9.1.1.131

Agent02

docker 18.09-ce

Ubuntu:18.04

 

一、安装docker[每个服务器执行]

 

1.获取最新版本的 Docker 安装包

wget -qO- https://get.docker.com/ | sh

 

2.启动docker 后台服务和开机自启

sudo service docker start

sudo systemctl enable docker

 

3.镜像加速

请在该配置文件中加入[/etc/docker/daemon.json](没有该文件的话,请先建一个)

{

  "registry-mirrors": ["http://hub-mirror.c.163.com"]

}

 

二、安装swarm

拉取swarm镜像

Docker pull swarm

 

 

Node节点管理

初始化集群【Manage执行】:

docker swarm init --advertise-addr 9.1.1.128

init:初始化swarm集群;

–- advertise-addr 指定与其他node通信的地址

其他节点加入【Agent01 Agent02】:

作为管理节点【以便Leader节点挂了,能选出新的Leader

docker swarm join --token

 SWMTKN-1-4pgv25ml63amdnkg32ib4saexdpohh8q9wwtpdksdragwa2s14-472jqfsd16i38g61oklpgf0jm

9.1.1.128:2377

 

本人测试【Agent01作为作为管理节点,Agent02作为工作节点】:Manager挂了,另外两个节点不能选举出Leader

查看集群节点【每个节点都能看到】

docker node ls

  • demote:从集群中降级一个或多个节点;
  • inspect:在一个或多个节点上显示详细信息;
  • ls:列出群中的节点;
  • promote:将一个或多个节点提升为Manager
  • ps:列出在一个或多个节点上运行的任务,默认为当前节点;
  • rm:从群中删除一个或多个节点;只能删除down状态的节点,如何要删除active状态的,需要加上–force
  • update:更新节点;

Eg: [Agent02降为工作节点]

 

docker node demote Agent02

 

 

Service服务管理

创建服务:

 docker service create --replicas 1  --name test01 busybox top

 

参数数明:

--replicas :创建的副本数
--name:容器名称取名为test01
busybox:这个是docker hub中的一个官方镜像;
top:通过busybox镜像运行容器后执行的top命令,因为busybox镜像运行后没有任何进程在跑,如果不在后台跑个进程容器会自动退出,如果你用其它的官方镜像就不需要这种操作,所以我们随便跑个top进程;

 

 

查看副本运行情况

docker service ps test01

 

显示服务详细信息

docker service inspect test01

 

扩展服务数量副本怎么扩展为3个

docker service scale test01=3

 

更新服务某些项限制为0.5个cpu

docker service update --limit-cpu=0.5  test01

 

滚动更新、回滚更新服务版本

1.创建服务

docker service  create --replicas 3 --name web_test -p 80:80 nginx:1.11.5

2.更新到版本1.11.6

docker service update --image nginx:1.11.6 web_test

3.回滚服务版本[版本回滚到1.11.5]

docker service update --rollback web_test

 

posted @ 2019-05-10 13:38  Cool_Yang  阅读(342)  评论(0编辑  收藏  举报