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

docker stack deploy多服务集群堆栈搭建详细指南

本文详细解释了使用docker搭建stack集群步骤,节点可伸缩,自动路由负载,高可用docker集群搭建

1、环境

docker安装、机器4台、网络之间能联通
重要的事情说三遍
云服务器防火墙要提前打通

  1. 检查云平台安全组(如果是云服务器)
    | 端口 | 协议 | 用途 | 方向 |
    | 4789 | UDP |VXLAN|(Overlay 网络)|入站 & 出站
    | 7946 | TCP |Swarm 节点发现|入站 & 出站
    | 7946 |UDP|Swarm 节点发现|入站 & 出站
    |2377 | TCP | Swarm 管理端口|入站 & 出站
    四个端口 两个协议必须开通 否则节点之间内部无法连通
    不能自动路由负载问题排查了一天,血泪教训!!!

修改机器名字,加入集群后标识节点名

修改主机名:

sudo hostnamectl set-hostname <新主机名>
重启docker生效

2、创建集群

2.1 说到集群,就不得不说容器间的连通网络

bridge网络模式

在单个宿主机内部,bridge网络提供了一个网桥,使得所有容器通过veth-pair技术连接到网桥,通过网桥彼此之间通信,容器之间并不能直接通信

overlay网络模式(包括 ingress 、 docker_gwbridge)

那么我们在多个宿主机之间搭建集群,bridge显然不能支持跨机器互通网络,overlay网络使用VXLAN技术封装原始数据包通过4789端口UDP协议负责分发,各节点间路由复杂由gossip协议寻找服务路由节点,使用7946端口( 通过 gossip 协议在节点间传播路由信息, 每个节点维护路由表,知道如何到达其他节点上的容器)

ingress (暴漏端口时默认使用,无需显示指定)

Ingress 网络是 Docker Swarm 自动创建的一种特殊 Overlay 网络,专门用于处理从集群外部到服务的入口流量,当服务发布端口时(如 -p 8080:80),Swarm 会在所有节点上监听 8080 端口,流量到达任何节点的 8080 端口后,会被路由到服务任务(容器),使用路由网格(Routing Mesh)技术实现流量的智能路由。

docker_gwbridge 网络

一种特殊的桥接网络,用于连接 Overlay 网络和主机网络。提供容器到外部网络的连接,处理 Overlay 网络的出口流量,默认创建但可自定义

在任意一台机器创建集群

IP用内网ip 容器之间访问更快 初始化一个节点 即为manager 端口默认2377

docker swarm init  --advertise-addr=106.52.182.178
[root@VM-8-10-centos docker
http://www.xdnf.cn/news/4389.html

相关文章:

  • 实现滑动选择器从离散型的数组中选择
  • Prometheus的安装部署
  • create-vue搭建Vue3项目(Vue3学习2)
  • Transformer面经
  • JavaScript性能优化实战:从瓶颈分析到解决方案
  • 0-带在线搜索和自适应的尺度组合优化神经改进启发式算法(未完)(code)
  • 连接mysql时 Public Key Retrieval is not allowed 问题
  • 前端面试每日三题 - Day 26
  • RabbitMQ 添加新用户和配置权限
  • 龙虎榜——20250506
  • python的selenium操控浏览器
  • k8s service的类型
  • 如何选择 边缘计算服务器
  • HPE推出零信任网络与私有云运维解决方案
  • javaweb-Filter
  • 黄金量化:高频实时的贵金属API
  • Python实现NOA星雀优化算法优化Catboost回归模型项目实战
  • 京东(JD)API 商品详情数据接口讲解及 JSON 示例
  • el-row el-col
  • 【基于SSM+Vue+Mysql】健身房俱乐部管理系统(附源码+数据库脚本)
  • 大模型系列(三)--- GPT1论文研读
  • ETL交通行业案例丨某大型铁路运输集团ETL数据集成实践
  • shell-流程控制-循环-函数
  • Spring Boot操作MongoDB的完整示例大全
  • 4.29 tag的完整实现和登录页面的初步搭建
  • 【Pandas】pandas DataFrame agg
  • 优化算法 - intro
  • window 显示驱动开发-线程和同步级别为零级
  • Git仓库基本操作
  • Spark 的 Shuffle 机制:原理与源码详解