Docker九 | Swarm mode

目录

Swarm基本概念

节点

服务和任务

创建Swarm集群

创建管理节点 

增加工作节点

 查看集群

部署服务

新建服务 

 查看服务

服务伸缩

增加服务 

 减少服务

删除服务


Swarm基本概念

节点

节点分为管理节点(manager)和工作节点(worker)

管理节点

管理节点用于Swarm集群的管理,docker swarm命令大多只能在管理节点执行。一个swarm集群可以有多个管理节点,但只有一个管理节点可以成为leader

工作节点

工作节点是任务执行节点,管理节点将服务下发至工作节点执行,管理节点也默认为工作节点。节点退出集群命令 docker swarm leave 可以在工作节点执行

服务和任务

任务(Task) 是Swarm中的最小调度单位,目前来说是一个单一的容器

服务(Service)是指一组任务的集合,服务定义了任务的属性。服务有如下两种模式:

  • replicated services按照一定规则在各个工作节点上运行指定个数的任务
  • global services每个工作节点上运行一个任务

两种模式通过docker service create的--mode参数指定

创建Swarm集群

创建管理节点 

本次创建包含一个管理节点和两个工作节点的最小Swarm集群 

在192.168.117.131下执行docker swarm init命令的节点自动成为管理节点

[root@localhost ~]# docker swarm init --advertise-addr 192.168.117.131
Swarm initialized: current node (mn0xmlobseurosjh9ylsex0uq) is now a manager.To add a worker to this swarm, run the following command:docker swarm join --token SWMTKN-1-3x9heaku0p7o99e56rwng3opbvtgbrtfnpavdewbrpgu8joojn-cjv34fhoz2aaqeewe6ga0ceof 192.168.117.131:2377To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

增加工作节点

在192.168.117.130和192.168.117.132下执行如下命令使之成为工作节点加入到集群中

docker swarm join --token SWMTKN-1-3x9heaku0p7o99e56rwng3opbvtgbrtfnpavdewbrpgu8joojn-cjv34fhoz2aaqeewe6ga0ceof 192.168.117.131:2377

成功会有如下反应

 查看集群

在管理节点执行如下命令

[root@localhost ~]# docker node ls
ID                            HOSTNAME                STATUS    AVAILABILITY   MANAGER STATUS   ENGINE VERSION
mn0xmlobseurosjh9ylsex0uq *   localhost.localdomain   Ready     Active         Leader           24.0.7
pifvf9mr1ggvez9o92067gv60     localhost.localdomain   Ready     Active                          24.0.6
xdedgykahub32jyh09yeupbim     localhost.localdomain   Ready     Active                          24.0.6

部署服务

新建服务 

 在创建的Swarm集群中运行nginx服务

[root@localhost ~]# docker service create --replicas 3 -p 80:80 --name nginx nginx:1.13.7-alpine
hzb8ckdfjjrq7lmrgplhclblm
overall progress: 3 out of 3 tasks 
1/3: running   
2/3: running   
3/3: running   
verify: Service converged 

发现三种ip节点都可以访问nginx

 查看服务

 查看当前Swarm集群运行的服务

[root@localhost ~]# docker service ls
ID             NAME      MODE         REPLICAS   IMAGE                 PORTS
hzb8ckdfjjrq   nginx     replicated   3/3        nginx:1.13.7-alpine   *:80->80/tcp

查看某个服务的详情

[root@localhost ~]# docker service ps nginx 
ID             NAME      IMAGE                 NODE                    DESIRED STATE   CURRENT STATE            ERROR     PORTS
s18jve694hof   nginx.1   nginx:1.13.7-alpine   localhost.localdomain   Running         Running 15 minutes ago             
kukdiwkwzbk0   nginx.2   nginx:1.13.7-alpine   localhost.localdomain   Running         Running 15 minutes ago             
dutte36gcuqq   nginx.3   nginx:1.13.7-alpine   localhost.localdomain   Running         Running 15 minutes ago  

查看某个服务的日志

[root@localhost ~]# docker service logs nginx

服务伸缩

增加服务 

[root@localhost ~]# docker service scale nginx=5
nginx scaled to 5
overall progress: 5 out of 5 tasks 
1/5: running   
2/5: running   
3/5: running   
4/5: running   
5/5: running   
verify: Service converged 
[root@localhost ~]# 

 减少服务

[root@localhost ~]# docker service scale nginx=2
nginx scaled to 2
overall progress: 2 out of 2 tasks 
1/2: running   
2/2: running   
verify: Service converged 
[root@localhost ~]# 

删除服务

[root@localhost ~]# docker service rm nginx
nginx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/589058.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取相机当前数据吞吐量(C#)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK里函数来获取相机当前数据吞吐量(C#) Baumer工业相机Baumer工业相机的数据吞吐量的技术背景CameraExplorer如何查看相机吞吐量信息在NEOAPI SDK里通过函数获取相机接口吞吐量 Baumer工业相机通过NEOAPISDK获…

Django 学习教程-介绍与安装

系列 Django 学习教程-第一个 Django 应用-CSDN博客 介绍 Django 是一个高级 Python Web 框架,它鼓励快速开发和干净、实用的设计。 它由经验丰富的开发人员构建,解决了 Web 开发的大部分麻烦,因此您可以专注于在编写应用程序时无需重新发…

自定义事件

自定义事件 自定义事件 AAA"fn1":向子组件的事件池中注入AAA事件,方法是父组件的fn1 发布订阅:子组件某个操作把父组件中的某个方法执行了 参数可以传多个 $listeners* $listeners:事件池中的方法 { aaa:fn1, bbb:fn2 }…

RestClient操作索引库_创建索引库(二)

ES官方提供了各种不同语言的客户端,用来操作ES。这些客户端的本质就是组装DSL语句, 通过http请求发送给ES。 官方文档地址: https://www.elastic.co/quide/en/elasticsearch/client/index.html 目录 一、初始化JavaRestClient 1.1.依赖引入 1.2.初始化…

关于k8s

Kubernetes(通常被称为K8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。它最初由Google开发,并于2014年发布为开源项目,现在由云原生计算基金会(CNCF)负责维护。 Kub…

JS-图片预览

方法一 用URL.createObjectURL()将一个file或Blob类型的对象转为UTF-16的字符串 objectURL URL.createObjectURL(Fileobject); URL.createObjectURL()静态方法会创建一个 DOMString,其中包含一个表示参数中给出的对象的URL。这个 URL 的生命周期和创建它的窗口中…

java代码配置连接OPCUA

pom依赖如下 <dependency><groupId>org.eclipse.milo</groupId><artifactId>sdk-client</artifactId><version>0.6.9</version> </dependency><dependency><groupId>org.eclipse.milo</groupId><artifa…

举例说明计算机视觉(CV)技术的优势和挑战

高效性&#xff1a;计算机视觉技术可以处理大量的图像和视频数据&#xff0c;并快速地从中提取有用的信息。它可以在几秒钟内完成复杂的图像处理任务&#xff0c;而这些任务对于人类来说可能需要很长时间才能完成。精确性&#xff1a;计算机视觉技术可以准确地识别和分析图像中…

Mybatis枚举类型处理和类型处理器

专栏精选 引入Mybatis Mybatis的快速入门 Mybatis的增删改查扩展功能说明 mapper映射的参数和结果 Mybatis复杂类型的结果映射 Mybatis基于注解的结果映射 Mybatis枚举类型处理和类型处理器 再谈动态SQL Mybatis配置入门 Mybatis行为配置之Ⅰ—缓存 Mybatis行为配置…

C++ 具名要求-基本概念-指定该类型对象可以默认构造

指定该类型对象可以默认构造 要求 以下情况下&#xff0c;类型 T 满足可默认构造 (DefaultConstructible) &#xff1a; 给定 任意标识符 u&#xff0c; 下列表达式必须合法且拥有其指定的效果 表达式后条件T u对象 u 被默认初始化。T u{}对象 u 被值初始化或聚合初始化。…

MySQL之复合查询

目录 单表查询回顾 多表查询 自连接 子查询 在from子句中使用子查询 合并查询 单表查询回顾 在讲解多表查询前&#xff0c;我们先回顾一下单表查询&#xff0c;这是因为多表查询本质上依然是单表查询&#xff08;其原因在下文中讲解多表查询时再说明&#xff09;&#x…

【vue】Easy Player实现视频播放:

文章目录 一、效果&#xff1a;二、文档&#xff1a;三、实现&#xff1a;【1】安装插件&#xff1a;【2】引入js文件&#xff1a;【3】使用&#xff1a; 四、方法&#xff1a; 一、效果&#xff1a; 二、文档&#xff1a; GitCode - EasyPlayer.js npm-easydarwin/easyplayer…

uni-app 前后端调用实例 基于Springboot 下拉刷新实现

锋哥原创的uni-app视频教程&#xff1a; 2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中...共计23条视频&#xff0c;包括&#xff1a;第1讲 uni…

关于“Python”的核心知识点整理大全54

目录 18.4 创建其他网页 18.4.1 模板继承 1. 父模板 base.html 注意 2. 子模板 index.html 注意 18.4.2 显示所有主题的页面 1. URL模式 urls.py 2. 视图 views.py 3. 模板 topics.html 18.4.3 显示特定主题的页面 1. URL模式 urls.py 2. 视图 views.py 往…

Delphi6函数大全3-SysUtils.pas

Delphi6函数大全3-SysUtils.pas首部 function FindNext(var F: TSearchRec): Integer; $[SysUtils.pas功能 返回继续文件搜索说明 搜索成功则返回0参考 function Windows.FindNextFile例子 <参见FindFirst>━━━━━━━━━━━━━━━━━━━━━首部…

KFold解释和代码实现

KFold解释和代码实现 文章目录 一、KFold是什么&#xff1f;二、 实验数据设置2.1 实验数据生成代码2.2 代码结果 三、实验代码3.1 实验代码3.2 实验结果3.3 结果解释 四、总结 一、KFold是什么&#xff1f; 0&#xff0c;1&#xff0c;2&#xff0c;3&#xff1a;每一行表示测…

【从浅到深的算法技巧】3.数组

1.1.5数组 数组能够顺序存储相同类型的多个数据。除了存储数据&#xff0c;我们也希望能够访问数据。访问数组中的某个元素的方法是将其编号然后索引。如果我们有N个值&#xff0c;它们的编号则为0至N-1。这样对于0到N-1之间任意的i,我们就能够在Java代码中用a[i]唯一地表示第i…

小程序for循环中key值的作用?

在小程序的 for 循环中&#xff0c;key 值有两个主要作用&#xff1a; 识别列表项的唯一性&#xff1a;当在列表渲染时使用 for 循环&#xff0c;每个列表项都应该具有一个唯一的 key 值。这个 key 值用于帮助小程序识别每个列表项的唯一性&#xff0c;以便在列表发生变化时进行…

OpenWrt 编译入门(小白版)

编译环境 示例编译所用系统为 Ubuntu 22.04&#xff0c;信息如下 编译时由于网络问题&#xff0c;部分软件包可能出现下载问题&#xff0c;还请自备网络工具或尝试重新运行命令 编译步骤 下图为官网指示 编译环境设置&#xff08;Build system setup&#xff09; 这里根据我…

【小沐学NLP】Python实现K-Means聚类算法(nltk、sklearn)

文章目录 1、简介1.1 机器学习1.2 K 均值聚类1.2.1 聚类定义1.2.2 K-Means定义1.2.3 K-Means优缺点1.2.4 K-Means算法步骤 2、测试2.1 K-Means&#xff08;Python&#xff09;2.2 K-Means&#xff08;Sklearn&#xff09;2.2.1 例子1&#xff1a;数组分类2.2.2 例子2&#xff1…