Docker Swarm集群部署

Docker Swarm集群部署

任务平台

3台虚拟机,一台作为manager 节点,另两台作为work节点。

文章目录

    • Docker Swarm集群部署
      • 安装docker
      • 配置防火墙开放端口
      • 在 manager 节点创建 Swarm 集群
      • 创建用于swarm服务的自定义的overlay网络
      • 测试跨主机容器通信

安装docker

#下载并安装docker文件及依赖
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
#启动docker并设置开机自启
systemctl start docker  
systemctl enable docker
#查看版本
docker -v

配置防火墙开放端口

TCP协议端口 2377 :集群管理端口
TCP协议端口 7946 :节点之间通讯端口(不开放则会负载均衡失效)
UDP协议端口 4789 :overlay网络通讯端口

firewall-cmd --zone=public --add-port=2377/tcp --permanent
firewall-cmd --zone=public --add-port=7946/tcp --permanent
firewall-cmd --zone=public --add-port=7946/udp --permanent
firewall-cmd --zone=public --add-port=4789/tcp --permanent
#重载防火墙
firewall-cmd --reload
#查看80端口是否开放
firewall-cmd --query-port=80/tcp
#查看所有放行的端口
firewall-cmd --zone=public --list-ports

在 manager 节点创建 Swarm 集群

docker swarm init --advertise-addr=本机ip:2377 --listen-addr=本机ip:2377

Swarm initialized: current node (608u180nsa654xbxdthdhl0f6) is now a manager.

To add a worker to this swarm, run the following command:

docker swarm join --token SWMTKN-1-13dv43qm3tdux7243z3c0najcetizjpgly1urd4uchtcooxe87-4eh15dbayxttxipm34s5tod6t 172.20.1.51:2377

To add a manager to this swarm, run ‘docker swarm join-token manager’ and follow the instructions.

将执行后产生的命令(如上标红的),分别加入到其他主机中,执行后产生如下结果。即为成功加入。

或者执行下面命令产生令牌,并且是定期轮换计划(推荐)

docker swarm join-token  --rotate worker

This node joined a swarm as a worker.

(扩展)加入管理节点的命令

docker swarm join-token --rotate manager

在manager节点上输入docker node ls 可查看所有节点。

在这里插入图片描述

创建用于swarm服务的自定义的overlay网络

#方式一
#--attachable选项表示该网络是可附加的,即其他容器可以连接到该网络  
docker network create -d overlay --attachable my-overlay#方式二
# --subnet:子网 --gateway:网关
docker network create --driver overlay --subnet 10.0.9.0/24 --gateway 10.0.9.99 my-overlay#查看docker网络docker network ls

测试跨主机容器通信

  1. 在三台主机上各部署一个容器,进行相互ping,结果如下图。
#主机一
docker run -it --name master --net=my-overlay ubuntu:latest
#主机二
docker run -it --name node1 --net=my-overlay ubuntu:latest
#主机三
docker run -it --name node2 --net=my-overlay ubuntu:latest
  1. 安装测试工具
apt-get update
#安装ping工具
apt-get install inetutils-ping -y
#安装ip查看工具
apt-get install net-tools -y

在这里插入图片描述

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

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

相关文章

React使用useImperativeHandle实现父组件触发子组件事件

相关知识: useImperativeHandle forwardRef 相关代码: 获取子组件实例,由于这是函数组件,没有this因此不能整体获取,我们可以通过useImperativeHandle获取想要的变量或者方法。 父组件import React, { useRef } fro…

【华为云云耀云服务器L实例评测|云原生】自定制轻量化表单Docker快速部署云耀云服务器

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…

CSS 浮动布局

浮动的设计初衷 float: left/right/both;浮动是网页布局最古老的方式。 浮动一开始并不是为了网页布局而设计,它的初衷是将一个元素拉到一侧,这样文档流就能够包围它。 常见的用途是文本环绕图片: 浮动元素会被移出正常文档流,…

TypeScript和JavaScript有什么不同?

TypeScript和JavaScript是两种不同的编程语言,它们有以下几点不同之处: 类型系统:TypeScript是JavaScript的超集,它引入了静态类型系统。这意味着在TypeScript中,可以声明变量、函数参数和返回值的类型,并进…

【算法|链表】环形链表Ⅱ

环形链表Ⅱ 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统…

无涯教程-JavaScript - COS函数

描述 COS函数返回给定Angular的余弦值。 语法 COS (number)争论 Argument描述Required/OptionalNumber The angle in radians for which you want the cosine.Required Notes 如果Angular以度为单位,则将Angular乘以PI()/180或使用RADIANS函数将Angular转换为弧度 弧度(…

Python 魔法方法

视频版教程 Python3零基础7天入门实战视频教程 Python的魔法方法,也称为特殊方法或双下划线方法,是一种特殊的方法,用于在类中实现一些特殊的功能。这些方法的名称始终以双下划线开头和结尾,例如__init__,repr&#x…

linux拨号上网

在Linux上进行拨号上网通常需要使用PPPoE(Point-to-Point Protocol over Ethernet)协议,这是一种用于通过以太网连接进行拨号上网的常见协议。以下是在Linux上设置PPPoE连接的一般步骤: 请注意,这些步骤可能会因你使用…

uniapp实现大气质量指标图(app端小程序端均支持,app-nvue不支持画布)

效果图如下: 思路: 1.首先我想到的就是使用图标库echarts或ucharts,可是找了找没有找到类似的。 2.其次我就想用画布来实现这个效果,直接上手。(app-vue和小程序均可以实现,但是在app-nvue页面不支持画布…

成绩统计(蓝桥杯)

成绩统计 题目描述 小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。 如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。 请计算及格率和优秀率,用百分数…

033:跨域,vue端和 Nignx反向代理的配置详细解析

第033个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、引用,模板使…

Linux调试器-gdb使用

目录 一、gdb的使用 二、查看可执行程序的信息(readelf) 三、gdb常用的指令 1. 显示源代码(list/l) 2. 运行程序(r或run) 3. 在某一行设置断点(b指令) 4. 显示断点&#xff0…

Logstash介绍

Logstash介绍 Logstash是一个开源数据收集引擎,具有实时管道功能。Logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地。 集中、转换和存储你的数据 Logstash是一个开源的服务器端数据处理管道,可以同时从多…

0.UML

1.图 1.1类图含义 第一层显示类的名称,如果是抽象类,则就用斜体显示。第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常是方法或行为。注意前面的符号, ,表示public,-,表示private,#,表示protected。 1.2接口图 与类图的区别主要是顶端有<< interface >…

【Flink实战系列】Hash collision on user-specified ID “Kafka Source”

Hash collision on user-specified ID “Kafka Source” 在使用 fromSource 构建 Kafka Source 的时候,遇到下面的报错,下面就走进源码,分析一下原因。 Exception in thread "main" java.lang.IllegalArgumentException: Hash collision on user-specified ID &…

esp32-S3-electric-vehicle-expansion(EVE_V2)硬件分享

一. 简介 本次将给大家分享一个QSPI圆形屏幕DIY的小项目&#xff0c;这是我做的第二个版本的&#xff0c;相较于第一个版本有了比较大的改动(第一版就不放出来了&#xff0c;需要的可以私聊)&#xff0c;可以在上面实现更多的功能&#xff0c;做些更有趣的项目 &#xff0c;也…

淘宝开店装修教程 (2023新版)

一、下载千牛 1. 浏览器打开淘宝 https://www.taobao.com/ 2. 进入 - 千牛卖家中心 3. 进入 - 关于千牛 4. 下载千牛 5. 下载页面 6. 下载安装桌面 二、登录千牛 1. 登录页面 2. 进入 - 千牛工作台 三、pc店铺装修 1. 进入 - pc店铺 2. 进入 - 装修页面 3. 删除没用的模块 从…

SQL优化--分页优化(limit)

在数据量比较大时&#xff0c;如果进行limit分页查询&#xff0c;在查询时&#xff0c;越往后&#xff0c;分页查询效率越低。 通过测试我们会看到&#xff0c;越往后&#xff0c;分页查询效率越低&#xff0c;这就是分页查询的问题所在。 因为&#xff0c;当在进行分页查询时&…

linux内核分析:探究x86

CPU工作模式&#xff1a;执行程序的三种模式 - 知乎 一口气看完45个寄存器 ——x86/x64架构 - 知乎 现代操作系统内存管理到底是分段还是分页&#xff0c;段寄存器还有用吗&#xff1f; - 知乎

springboot压测并发设置/nginx关于限制请求数和连接数

4core/8G springboot压测并发设置 server.tomcat.max-threads800 server.tomcat.accept-count200 允许同时并发达到8002001000 配置等比缩小&#xff0c;并发设置参数等比缩小&#xff0c;同时并发数等比缩小 JVM优化&#xff1a;指定并发GC线程数&#xff0c;docker容器在…