当前位置: 首页 > article >正文

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的配置文件;


http://www.kler.cn/a/301691.html

相关文章:

  • 使用Axios函数库进行网络请求的使用指南
  • Flume 单机与集群部署详细教程
  • 低代码平台:跨数据库处理的重要性与实现方式
  • OpenHarmony-1.启动流程
  • DAY120java审计第三方组件依赖库挖掘FastjsonShiroLog4jH2DB
  • 深度学习中的Pixel Shuffle和Pixel Unshuffle:图像超分辨率的秘密武器
  • k8s的配置
  • 【网络安全】漏洞挖掘之CVE-2019-9670+检测工具
  • 如何使用Flask渲染模板
  • 比 GPT-4 便宜 187 倍的Mistral 7B (非广告)
  • 明基相机sd卡格式化还能恢复数据吗?可以这样操作
  • 漫谈设计模式 [16]:中介者模式
  • L3学习打卡笔记
  • QT进行音频录制
  • elementUI中el-form 嵌套el-from 如何进行表单校验?
  • 【C++ 智能指针】RAII和四种智能指针你理解吗?
  • Python学习笔记--类型、运算符、循环
  • 物联网之PWM呼吸灯、脉冲、LEDC
  • 【Linux】 LTG:移动硬盘部署Ubuntu24.04
  • vue 父组件给子组件传值
  • 基于深度学习的创新设计的生成AI
  • 哪一种反爬虫策略更加人性化,不让用户感知到
  • 02.06、回文链表
  • 离散制造与流程制造的差异分析
  • 熟悉Kafka组成模块、Kafka消息提交的方式及优缺点
  • 在js中观察者模式讲解