springcloud+eureka+fegin+roibbon服务改造成集群部署(1)——【docker-swarm集群的初始化搭建】

背景

  近期随着业务的不断发展,原有的单体架构已不能满足,因为服务集群化多节点化势在必行了。
  那目前市面上主流的是k8s,功能很丰富,但是针对于我们这个体系的系统引入它一方面没有太大必要,另一方面上手难度相对较大;综上考虑就选择了docker-swarm,下面我们来详细了解了解docker-swarm

docker-swarm是什么

    Docker Swarm 是用于在 Docker 环境中进行容器编排和集群管理的工具。它允许你将多个 Docker 主机组成一个集群,从而实现高可用性、负载均衡和故障恢复等功能。下面是 Docker Swarm 的一些优点和缺点:
优点:
简单易用:Docker Swarm 是 Docker 官方提供的容器编排工具,与 Docker Engine 集成良好,易于安装和配置。相比其他容器编排工具,它的学习曲线较为平缓。
内置功能:Docker Swarm 提供了许多内置功能,如负载均衡、服务发现、健康检查和自动伸缩等。这些功能使得在 Swarm 集群中部署和管理容器变得更加简单和方便。
高可用性:Docker Swarm 支持容器的高可用性。通过指定容器的副本数,Swarm 可以在多个节点上自动创建和管理容器的副本,以确保容器在发生故障时能够继续运行。
扩展性:你可以根据需要将新的 Docker 节点添加到 Swarm 集群中,实现水平扩展。这样,你可以根据负载变化自动调整容器的数量,并且可以很容易地扩展整个应用程序。
缺点:
功能相对较少:与其他容器编排工具(如 Kubernetes)相比,Docker Swarm 的功能相对较少。它的扩展性、配置选项和应用程序管理能力有限。
生态系统相对较小:相比较流行的容器编排工具,Docker Swarm 的生态系统相对较小,减少了社区支持和插件选择的机会。
较少的细粒度控制:对于需要更细粒度控制容器的用户来说,Docker Swarm 的功能可能会显得不够灵活。一些高级的容器编排需求可能无法在 Docker Swarm 中实现。
综上所述,Docker Swarm 适用于需要简单、易用的容器编排和集群管理的场景,尤其适用于中小规模的应用程序。如果你的应用程序需要更高级的功能和更细粒度的控制,你可能需要考虑其他容器编排工具。

docker-swarm的工作原理

在这里插入图片描述
Swarm 两种角色

Manager:接收客户端服务定义,将任务发送到worker节点;维护集群期望状态和集群管理功能及Leader选举。默认情况下manager节点也会运行任务,也可以配置只做管理任务。

Worker:接收并执行从管理节点分配的任务,并报告任务当前状态,以便管理节点维护每个服务期望状态

综上从上面浅浅的介绍我们能大致的了解什么是docker-swarm了,想详细了解的可以去官网看下
docker-swarm官网

下面我们开始进入正式的安装环节
在这里插入图片描述

1.环境准备

首选我们需要准备两台(或则以上)机器,两台集群上需要安装docker,docker-swarm等环境这些是必备的、我这里准备了两台机器进行集群的搭建

要初始化 Docker Swarm 集群,您可以按照以下步骤进行操作:

在 Linux 上安装 Docker、Docker Compose 和 Docker Swarm 可以按照以下步骤进行操作:

  1. 安装 Docker:

    • 首先,更新软件包索引并安装必要的依赖工具:
      sudo apt update
      sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
      
    • 导入 Docker GPG 密钥以保证软件包的真实性:
      curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
      
    • 添加 Docker 软件包源:
      echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
      
    • 更新软件包索引并安装 Docker:
      sudo apt update
      sudo apt install -y docker-ce docker-ce-cli containerd.io
      
    • 验证 Docker 是否成功安装,执行以下命令:
      sudo docker run hello-world
      
      这将运行一个简单的 Docker 容器并显示成功消息。
  2. 安装 Docker Compose:

    • 使用以下命令下载 Docker Compose 的可执行文件:
      sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
      
    • 赋予执行权限给 Docker Compose:
      sudo chmod +x /usr/local/bin/docker-compose
      
    • 验证 Docker Compose 是否成功安装,执行以下命令:
      docker-compose --version
      
  3. 安装 Docker Swarm:

    • 初始化 Swarm Manager:
      docker swarm init
      
    • 将生成一个用于加入集群的令牌,将该令牌复制下来以备后用。
  4. 将其他节点加入到 Swarm 集群中:

    • 在准备加入集群的节点上运行以下命令:
      docker swarm join --token <令牌> <管理节点的IP地址>:2377
      
      <令牌> 替换为在第3步中复制的令牌,<管理节点的IP地址> 替换为 Swarm Manager 的 IP 地址。
  5. 若要查看 Swarm 集群中的节点列表,您可以在 Swarm Manager 上运行以下命令:

    docker node ls
    

    安装成功后会显示如下页面
    在这里插入图片描述
    如果你很顺利的到了这个页面,恭喜你成功了初始化了一个集群。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值