docker--swarm集群

本文详细介绍了如何搭建Docker Swarm集群,包括初始化、节点加入、服务部署和负载均衡测试。此外,还展示了如何使用Portainer作为可视化界面管理Docker Swarm,包括Portainer的部署和使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • Swarm 是 Docker 公司在 2014 年 12 月初发布的一套较为简单的工具,用来管理 Docker 集群,它将一群 Docker 宿主机变成一个单一的,虚拟的主机。Swarm 使用标准的 Docker API接口作为其前端访问入口,换言之,各种形式的 Docker Client(docker client in go, docker_py,docker 等)均可以直接与 Swarm 通信。Swarm 几乎全部用 Go 语言来完成开发
  • Swarm deamon 只是一个调度器(Scheduler)加路由器(router),Swarm 自己不运行容器,它只是接受 docker 客户端发送过来的请求,调度适合的节点来运行容器,这意味着,即使
    Swarm 由于某些原因挂掉了,集群中的节点也会照常运行,当 Swarm 重新恢复运行之后,
    它会收集重建集群信息。下面是 Swarm 的结构图:
    在这里插入图片描述
    swarm集群
    使用的是docker自带的swarm mode,也就是docker集群的管理和编排。所谓的编排就是指多台集群的管理, 主机的配置,容器的调度等。
    swarm mode是docker engine中自带的一种模式,很容易使用,并且无须安装其他的软件。 在使用swarm mode的时候,几台主机上都要先安装好docker。

swarm集群的搭建

实验环境:(三台虚拟机安装docker并开启)

        docker1:172.25.60.1 swarm
	    docker2: 172.25.60.2 node
	    docker3: 172.25.60.3 node
  • 在server1作为leader端,先将swarm镜像加入到docker仓库
    在这里插入图片描述

  • 在server1上做swarm的初始化
    注意:在当前主机上启动swarm模式,要保存初始化后token,因为在节点加入时要使用token作为通讯的密钥
    在这里插入图片描述

  • 将docker2和docker3加入swarm集群中
    此时就需要密钥了
    在这里插入图片描述
    在这里插入图片描述

  • 查看节点状态
    在这里插入图片描述

  • 导入nginx镜像
    在这里插入图片描述

  • 部署一个服务群集(以nginx为例)

  • 先创建一个网络
    在这里插入图片描述

  • 在manager节点部署nginx服务,服务数量为3个 ,使用nginx镜像
    在这里插入图片描述
    在这里插入图片描述

  • 编写测试页面
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 测试负载均衡( 测试的时候把真机火墙关掉 )
    在这里插入图片描述

  • 此时查看运行的服务为3个
    在这里插入图片描述

  • 拉伸6 个nginx 服务
    在这里插入图片描述

  • 查看有6个nginx 进程是 Running,每个节点上是两个,实现负载均衡
    在这里插入图片描述

  • 添加监控:使用visualizer监控工具

  • 先将镜像导入本地仓库
    在这里插入图片描述
    在这里插入图片描述

  • 创建监控
    开启viz服务慢,需要不断刷新等待建立完成,出现1/1才成功
    在这里插入图片描述

  • 查看监控和节点是否在线
    在这里插入图片描述

  • 浏览器测试

  • 输入172.25.60.1:8080,可以看到6个nginx的进程被平均分在了三台机子上
    在这里插入图片描述

  • 监控镜像的更新

  • 拉伸监控web服务器的数量为30个
    在这里插入图片描述

  • 监控界面会自动更新为30个
    在这里插入图片描述

  • 下载httpd镜像,在三个节点上都要导入到仓库内
    在这里插入图片描述

  • 在manager节点进行镜像的更新
    在这里插入图片描述

  • 在浏览器上查看镜像由nginx变为httpd
    在这里插入图片描述

搭建Portainer可视化界面管理器

  • portainer:是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据的基本操作(包括上传下载镜像,创建容器等作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。
  • portainer部署 :Docker Stack ,通过 Docker Stack 我们只需对已有的 docker-compose.yml 配置文件稍加改造就可以完成 Docker 集群环境下的多服务编排。
  • 在server1的manager节点导入portainer及其portainer-agent镜像
    在这里插入图片描述
  • 在server2及server3上导入portainer-agent镜像
    在这里插入图片描述
    在这里插入图片描述
  • 下载二进制配置文件portainer-agent-stack.yml ,并对其进行集群环境下的多服务编排
    在这里插入图片描述
    在这里插入图片描述
  • 加载运行配置文件
    在这里插入图片描述
  • 完成之后查看端口会出现9000端口
  • 浏览器访问172.25.60.1:9000 登陆设置密码并且登陆,用户默认为admin
  • 查看相应的容器显示容器正在运行
    在这里插入图片描述
  • 查看能swarm集群管理相应信息
    在这里插入图片描述
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值