Docker Swarm管理(Docker技术集群与应用)

如上图所示,

三台主机:恢复到docker的快照;

然后上传到三台服务器所需的镜像;

同步会话。执行导入脚本将镜像导入到系统中;

然后取消会话的同步,设置各个主机的主机名;

然后同步会话修改hosts文件;

查看防火墙和内核安全机制;

实验环境永久关闭即可;

生产环境需添加相应的策略;tcp/udp

然后在任意一个节点创建集群,在哪个节点创建,哪个节点就是manager;

其他节点如何成为manager,提升权限即可;

先将swarm初始化;

会提示如下语句:

大概意思就是当前101节点成为了集群的manager;

如果其他节点也想添加到集群,要执行以下指令:

利用2377/tcp端口加入到manager节点的集群中;

docker swarm join --token SWMTKN-1-5i733918jgh6glcmae1afkr5mhafyjocyv6kn7o68gmlc6l4io-9dt4s9otn66zsecgxfdk6muy1 192.168.10.101:2377

复制提示的命令在其他节点执行一下;

提示这个节点加入到了一个集群且是worker;

查看docker主机的信息,从中找到集群的信息;

节点的ID

集群的ID

节点数量:3

数据通信端口:4789

其他节点也可以查看相关的信息,只不过会显示不是manager;

以及可以列出集群节点;

AVAILABILITY栏的三种状态:

active:能运行容器的。

pause:当前容器继续运行,新调度来的容器不进行接收。

drain:新调度的容器不接收,且原有的容器迁移到其他节点。

如何修改manager节点的工作方式:

如果想要容器运行在指定的节点上,那么就要针对该节点打一个标签;

标签是一个键值对的格式;适用于docker和k8s中。

然后查看swarm中指定节点的详细信息;

通过查看到Labels为复数,就可以得知每一个节点可以有多个标签;

然后尝试在swarm中运行容器给指定的节点;

其中要访问可信镜像站拉取一个nginx的镜像;

如何获取?可以查看之前的博文;

通过查看命令可以看出,于compose中的概念基本相同,都是以服务的方式运行一组容器;

查看指定的服务;

在指定运行的节点上查看运行的容器:

红色框框中是最终运行起来的容器的名字;

但是在worker节点查看服务会提示该节点不是swarm的manager;

请提升当前节点到manager;

然后可以在manager节点上提升另外两个节点为manager;

再查看就有权限了;

如何降权???

然后在manager节点上查看节点的信息;

但是leader仍然是创建swarm时所在的主机,即101;

其他节点也可以成为管理的入口;

如何解散集群和脱离集群;

了解即可不需要使用,如果使用了还要重新搭建集群,或者重新加入到集群中;

解散集群要在leader主机上执行;

而脱离集群在需要脱离集群的节点上执行即可;

如何创建副本;

查询:

查询跑在了哪个节点上;

查询服务的详细信息;

默认是json格式的;

可以使用--pretty(漂亮)的选项显示更直观的方式查看;

对服务进行扩容;

对服务缩容:

移除服务:

滚动更新:

先创建redis的服务,三个副本;

如何滚动更新:

针对镜像进行替换;

可高可低;

OverLay:

先创建网络;

然后创建容器的时候,加入网络;

数据卷管理:

单纯的数据卷的方式:

先创建数据卷;

在创建容器的时候加入到数据卷中;

但是这种方式;同一个服务中的两个副本的数据不能共享;

NFS的方式:

在manager节点作为服务器端,worker节点作为客户端;

然后同步会话,安装nfs的包;

之后创建共享目录;

然后取消回话同步,在manage节点上书写nfs的配置文件;

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值