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.mzph.cn/news/879277.shtml

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

相关文章

Java JUC(一) 线程概念与常用方法

Java JUC(一) 线程概念与常用方法 一. JUC 基本概念 Java JUC(Java Util Concurrent) 是Java平台提供的一个并发编程工具包(java.util.concurrent),全称为Java Concurrency Utilities。这个工具…

深入剖析 MQTT 协议:物联网通信的核心力量

摘要: 本文全面深入地探讨了 MQTT(Message Queuing Telemetry Transport)协议。详细阐述了 MQTT 协议的起源与发展背景,介绍其基本概念、特点及工作原理。深入分析了 MQTT 的架构组成,包括客户端、代理服务器及主题的作…

Jenkins部署若依项目

一、配置环境 机器 jenkins机器 用途:自动化部署前端后端,前后端自动化构建需要配置发送SSH的秘钥和公钥,同时jenkins要有nodejs工具来进行前端打包,maven工具进行后端的打包。 gitlab机器 用途:远程代码仓库拉取和…

《C++初始化列表陷阱:谨慎前行,避免潜在风险》

一 在 C编程中,初始化列表是一个强大的工具,它允许在对象创建时直接初始化成员变量。然而,就像任何强大的工具一样,如果使用不当,初始化列表也可能会带来一些陷阱。在本文中,我们将深入探讨 C中的初始化列表…

研1日记10

1. 日志 6.python接口自动化测试_日志类的封装与使用_哔哩哔哩_bilibili 简单的写法:python日志模块的封装(loguru)_哔哩哔哩_bilibili 2.open()函数 在Python中,使用open()函数打开文件时,第二个参数指定了文件的打开模式。w和a是两种常…

MongoDB 原子操作

MongoDB 原子操作 MongoDB 是一种流行的 NoSQL 数据库,以其灵活的数据模型和强大的查询语言而闻名。在处理数据时,MongoDB 提供了多种原子操作,确保了数据的一致性和安全性。本文将深入探讨 MongoDB 中的原子操作,包括其重要性、使用场景以及如何在实际应用中实现这些操作…

基于Linux的ARMxy工控机IEC61850协议实践

工业自动化水平的不断提高,对设备间高效、可靠通信的需求日益增长。IEC61850标准作为电力系统自动化领域的重要国际标准之一,其应用范围正在从传统的电力行业向更广泛的工业自动化领域扩展。本文将探讨基于ARM架构的工业计算机如何在Linux操作系统环境下…

解码未来:H.265与H.266技术对比及EasyCVR视频汇聚平台编码技术优势

随着视频技术的不断发展,视频编码标准也在不断更新迭代。H.265(也称为HEVC,High Efficiency Video Coding)和H.266(也称为VVC,Versatile Video Coding)作为当前和未来的主流视频编码标准&#x…

BrainSegFounder:迈向用于神经影像分割的3D基础模型|文献速递--Transformer架构在医学影像分析中的应用

Title 题目 BrainSegFounder: Towards 3D foundation models for neuroimagesegmentation BrainSegFounder:迈向用于神经影像分割的3D基础模型 01 文献速递介绍 人工智能(AI)与神经影像分析的融合,特别是多模态磁共振成像&am…

golang学习笔记11——Go 语言的并发与同步实现详解

推荐学习文档 golang应用级os框架,欢迎star基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总golang学习笔记01——基本数据类型golang学习笔记02——gin框架及基本原理golang学习笔记03——gin框架的核心数据结构golang学…

[前端][JS]html中js不同位置的区别

里面&#xff0c;写到下面&#xff0c;这三种有什么区别&#xff1f; javascript代码写在<head>里面&#xff1a; 由于这时候网页主体&#xff08;body&#xff09;还未加载&#xff0c;所以这里适合放一些不是立即执行的自定义函数&#xff0c;立即执行的语句则很可能…

【机器学习】马尔可夫随机场的基本概念、和贝叶斯网络的联系与对比以及在python中的实例

引言 马尔可夫随机场&#xff08;Markov Random Field&#xff0c;简称MRF&#xff09;是一种用于描述变量之间依赖关系的概率模型&#xff0c;它在机器学习和图像处理等领域有着广泛的应用 文章目录 引言一、马尔科夫随机场1.1 定义1.2 特点1.3 应用1.4 学习算法1.5 总结 二、…

【数据分析预备】Pandas

Pandas 构建在NumPy之上&#xff0c;继承了NumPy高性能的数组计算功能&#xff0c;同时提供更多复杂精细的数据处理功能 安装 pip install pandas导入 import pandas as pdSeries 键值对列表 # 创建Series s1 pd.Series([5, 17, 3, 26, 31]) s10 5 1 17 2 3 3 26 4 31 dt…

Windows更新之后任务栏卡死?桌面不断闪屏刷新?

前言 小白这几天忙于工作&#xff0c;更新就变得异常缓慢。但就算这么忙的情况下&#xff0c;晚上休息的时间还是会给小伙伴们提供咨询和维修服务。 这不&#xff0c;就有一个小伙伴遇到了个很奇怪的问题&#xff1a;电脑Windows更新之后&#xff0c;任务栏点了没反应&#xf…

C++当中的多态(三)

&#xff08;六&#xff09;虚表的本质 其实我们大家应该都已经猜到了&#xff1a;我们虚表的本质就是一个函数指针数组。通过访问这个函数指针数组就可以得到我们想要的虚函数的地址&#xff0c;之后通过这个地址就可以调用我们相应的虚函数。我们这个函数指针数组是以nullptr…

如何使用python运行Flask开发框架并实现无公网IP远程访问

文章目录 1. 安装部署Flask2. 安装Cpolar内网穿透3. 配置Flask的web界面公网访问地址4. 公网远程访问Flask的web界面 本篇文章主要讲解如何在本地安装Flask&#xff0c;以及如何将其web界面发布到公网进行远程访问。 Flask是目前十分流行的web框架&#xff0c;采用Python编程语…

Vue3如何查看项目是否安装了vue-router路由依赖,及安装方法

查找vue3项目的依赖 如果当前的vue3项目是基于vite构建工具创建的&#xff0c;那么在创建的过程中会询问是否需要安装一些依赖&#xff0c;一般情况下可以根据项目的需求自定义安装。 如果在vue3的项目创建完之后&#xff0c;确实忘记了自己之前都安装过哪些项目的依赖&#…

云服务器部署DB-GPT项目

本文收录于《DB-GPT项目》专栏&#xff0c;专栏总目录&#xff1a; 点击这里。 文章目录 项目介绍 一、登录云服务器 1. 进入控制台 2.点击容器实例&#xff08;点数字&#xff09; 二、创建容器实例 1. 等待容器实例创建好&#xff0c;创建好的容器实例如下&#xff1a;…

海康威视相机在QTcreate上的使用教程

文章目录 前言&#xff1a;基础夯实&#xff1a;效果展示&#xff1a;图片展示&#xff1a;视频展示&#xff1a; 参考的资料&#xff1a;遇到问题&#xff1a;问题1&#xff1a;int64 does not问题2&#xff1a;LNK2019配置思路(这个很重要)配置关键图片&#xff1a;配置具体过…

erlang学习: Mnesia Erlang数据库3

Mnesia数据库删除实现和事务处理 -module(test_mnesia). -include_lib("stdlib/include/qlc.hrl").-record(shop, {item, quantity, cost}). %% API -export([insert/3, select/0, select/1, delete/1, transaction/1,start/0, do_this_once/0]). start() ->mnes…