隐藏页面特效

docker swarm集群搭建

  • 简介

    Swarm:作用于运行docker engine(引擎)的多个主机组成的集群。 node:每一个docker engine都是一个node(节点),分为managerworker manager node:负责执行容器的编排和集群的管理工作,保持并维护swarm处于期望的状态。swarm可以有多个manager node,它们会自动协调并选举出一个Leader执行编排任务。但相反,不能没有manager node worker node:接受并执行由manager node派发的任务,并且默认manager node也是一个work node,不过可以将它设置为manager-only node,让它只负责编排和管理工作。 service:用来定义worker上执行的命令。
  • 部署准备

    head c1 c2 192.168.196.130 192.168.196.132 192.168.196.131
  • 关闭防火墙

    # firewalld systemctl stop firewalld.service systemctl disable firewalld.service # selinux vi /etc/selinux/config 改为 SELINUX=disabled
  • 时间同步

    head时间同步即可 ntpdate 192.168.196.130
  • head节点

    docker swarm init --advertise-addr 192.168.196.130 # 成功执行后会生成下面的代码 docker swarm join --token SWMTKN-1-2jk3nhq8rz7eukh1rk66w197xfnbgvgull2zoq9fvge26et302-25s1k7n303gi19pksw2gqve7p 192.168.196.130:2377
  • c1和c2节点分别执行下面的代码,意思是让c1和c2加入到集群中

    docker swarm join --token SWMTKN-1-2jk3nhq8rz7eukh1rk66w197xfnbgvgull2zoq9fvge26et302-25s1k7n303gi19pksw2gqve7p 192.168.196.130:2377
  • 在head主机上查看节点状态

    ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION jkgnbzwo1jakkhaive404mi78 c1 Ready Active 20.10.6 cgehjyv4hf8fu0voe648oxw0w c2 Ready Active 20.10.6 k6cgvrxx2t0t3wjr4666xy9cw * head Ready Active Leader 20.10.6 # 说明目前head是领导者
  • 部署docker swarm集群网络

    docker network create -d overlay --attachable docker # overlay覆盖型网络
  • 部署一个图形化webui界面

    docker pull dockersamples/visualizer
  • 运行镜像

    docker run -d -p 8080:8080 -e HOST=192.168.196.130 -e PORT=8080 -v /var/run/docker.sock:/var/run/docker.sock --name visualizer dockersamples/visualizer
  • 网页访问

    192.168.196.130:8080
  • 让所有节点执行命令任务

    docker service create --replicas 5 --network docker --name web01 -p 80 nginx:latest # docker service create 创建服务 # --name 表示服务的名称 # --replicas 表示指定5个正在运行的实例(可以理解为1个实例等于1个容器) # 上面的意思是让所有worker节点共执行5个实例,任务为开启nginx
  • 让leader节点不参加工作

    docker node update head --availability drain
  • 查看service任务信息

    docker service ps web01
  • 增加和减少容器数量

    docker service scale web01=0 # 减少 docker service sacle web01=8 # 增加
  • 常用命令

    离开集群: docker swarm leave 删除节点: docker node rm node02 #这里注意,只有申请离开集群的node才可以删除。 生成令牌,可以是manager身份或worker身份: docker swarm join-token [manager | worker] 降级为work与升级为manager docker node demote(降级):将swarm节点的manager降级为work docker node promote(升级):将swarm节点的work升级为manager 查看service列表: docker service ls 查看service信息: docker service ps xxx 增加容器与减少容器: docker service scale web1=8 docker service scale web1=3 #等号后接容器的数量。 删除服务 docker service rm web01(启动时指定的name名称) docker node update node01 --availability drain 可以设置三个参数: active"|"pause"|"drain #活跃”|“暂停”|“不工作

__EOF__

本文作者404 Not Found
本文链接https://www.cnblogs.com/weiweivip666/p/14869746.html
关于博主:可能又在睡觉
版权声明:转载请注明出处
声援博主:如果看到我睡觉请喊我去学习
posted @   我在路上回头看  阅读(336)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
历史上的今天:
2020-06-10 进程,join的使用,守护进程---day30
点击右上角即可分享
微信分享提示