docker三剑客之swarm

一、swarm简介

Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源。Swarm和Kubernetes比较类似,但是更加轻,具有的功能也较kubernetes更少一些。

在这里插入图片描述docker swarm相关概念

  • 节点分为管理节点和工作节点
  • 任务是swarm中的最小的调度单位,目前来说就是一个单一的容器。
  • 服务是指一组任务的集合,服务定义了任务的属性。
    在这里插入图片描述

二、swarm实践

1.初始化集群
确保三台docker主机docker版本一样,若不一样,可先关闭docker服务,yum update docker-ce docker-ce-cli ,再开启docker服务。
查看版本是否一致:

[root@node2 docker]# rpm -q docker-ce
docker-ce-18.09.6-3.el7.x86_64
[root@node3 ~]# rpm -q docker-ce 
docker-ce-18.09.6-3.el7.x86_64
[root@node4 ~]# rpm -q docker-ce
docker-ce-18.09.6-3.el7.x86_64

nide2:docker swarm init
在这里插入图片描述2.根据提示在其他docker节点上执行命令:
在这里插入图片描述在这里插入图片描述查看节点已经添加上:
在这里插入图片描述3.加速部署,提前下载好镜像
将加速器scp到node3和node4上:
在这里插入图片描述远程复制过去后,重启服务
在这里插入图片描述
4.创建服务
在这里插入图片描述
在这里插入图片描述5.测试
为了效果明显,编辑默认发布页面并导入到容器中:

[root@node2 ~]# vim index.html 
[root@node2 ~]# docker container cp index.html 358df2e59d99:/usr/share/nginx/html 
[root@node2 ~]# cat index.html 
node2

[root@node3 ~]# vim index.html 
[root@node3 ~]# docker container cp index.html web_cluster.2.61gaxn31j8p51rw817dkfp4j5:/usr/share/nginx/html
[root@node3 ~]# cat index.html 
node3

[root@node4 ~]# docker container cp index.html web_cluster.3.mibpsq75mdrk5edszi7ug24kh:/usr/share/nginx/html
[root@node4 ~]# cat index.html 
node4

结果:
真机测试
在这里插入图片描述
6.拉伸。
如果外部访问量大。我们需要进行拉伸
在这里插入图片描述在这里插入图片描述

三、做一个监控

首先下载一个visualizer,下载地址:
将visualizer.tar 加载镜像里:
在这里插入图片描述
创建服务:

[root@node2 ~]#  docker service create \
>   --name=viz \
>   --publish=8080:8080/tcp \
>   --constraint=node.role==manager \
>   --mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
> dockersamples/visualizer
9y2672mk288001tprqoig4mdl
overall progress: 1 out of 1 tasks 
1/1: running   [==================================================>] 
verify: Service converged 

查看一下服务:
在这里插入图片描述在浏览器中输入:172.25.7.2:8080
在这里插入图片描述
现在把node的docker给挂掉:
[root@node4 ~]# systemctl stop docker
在这里插入图片描述再次开启:
[root@node4 ~]# systemctl start docker
在这里插入图片描述[root@node2 ~]# docker service scale web_cluster=30
web_cluster scaled to 30
overall progress: 30 out of 30 tasks
verify: Service converged
在这里插入图片描述镜像的更新:
在三个节点node2,node3,node4上分别加载镜像game2048。

[root@node2 ~]# docker service update --image game2048 --rollback-parallelism 5 --update-delay 2s web_cluster

在这里插入图片描述还没更新完毕,在浏览器输入ip可以直接玩game2048,不会影响用户使用
[root@node2 ~]# docker service update --image game2048 --rollback-parallelism 5 --update-delay 2s web_cluster
image game2048:latest could not be accessed on a registry to record
its digest. Each node will access game2048:latest independently,
possibly leading to different nodes running different
versions of the image.

web_cluster
overall progress: 30 out of 30 tasks
verify: Service converged

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值