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

docker swarm 集群创建

1,目的:

通过docker swarm 工具将一台或者多台安装了docker的服务器组成一个完整的集群,该集群中的node节点可以通过Leader节点管理。在使用docker stack部署时,可以将容器自动分发到合适的节点上。

2,服务器准备:

192.168.85.129 docker1

192.168.85.130 docker2

 修改主机名,配置hosts,配置完成后暂退再连接,主机名就会生效。

hostnamectl set-hostname docker1
echo "192.168.85.129 docker1" >> /etc/hosts
echo docke1 > /etc/hostname
hostname -i docker1hostnamectl set-hostname docker2
echo "192.168.85.130 docker2" >> /etc/hosts
echo docke2 > /etc/hostname
hostname -i docker2

3,在docker1上创建一个swarm 集群

docker swarm init或者:docker swarm init --advertise-addr 192.168.85.129

如果只有一个leader 节点,可以不加参数,但是有多个的话,为了区分IP,建议加上。

这里提示了两条命令:

1,将其他服务器加入为工作节点:

docker swarm join \--token SWMTKN-1-1u7cz417zw3x7pgopgmxelgzme03h5rid4erph2pq2smqq108v-a7luanffniduhrauc7cmrs9nh \192.168.85.129:2377

2,将其他服务器加入为管理节点:

docker swarm join-token manager
docker swarm join \--token SWMTKN-1-1u7cz417zw3x7pgopgmxelgzme03h5rid4erph2pq2smqq108v-6kkh0gq26otfot5ud4sbvx8wq \192.168.85.129:2377

4,将docker2作为工作节点加入到docker1的swarm集群中:

docker swarm join \
>     --token SWMTKN-1-1u7cz417zw3x7pgopgmxelgzme03h5rid4erph2pq2smqq108v-a7luanffniduhrauc7cmrs9nh \
>     192.168.85.129:2377

5,在leader节点上查看集群状态:

docker node ls

   

集群创建成功。

6,退出swarm集群:

docker swarm leave --force

注意:leader节点离开后,如果是单个leader节点,该集群将无法管理。

7,刷新docker swarm令牌

docker swarm join 后的参数令牌有过期时长,后面再加入的时候,就需要重新生成令牌:

加入到worker节点:

docker swarm join-token  --rotate worker

加入到leader节点:

docker swarm join-token manager

相关文章:

  • Go语言学习04~05 函数和面向对象编程
  • c++算法学习笔记 (15) 质数
  • 新手如何入门电子电路
  • 我的VSCode配置和常见插件
  • 探秘开源隐语:架构深度剖析与隐私计算技术之旅
  • 解读 Xend Finance:向 RWA 叙事拓展,构建更具包容性的 DeFi 体系
  • c++类型转换(持续更新)
  • 七仔充电桩平台 二轮电动自行车 四轮汽车 云快充1.5 云快充1.6
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • 点云从入门到精通技术详解100篇-点云采样理论知识详解
  • C# 右键快捷菜单(上下文菜单)的两种实现方式
  • 数据结构——循环队列的实现
  • 【嵌入式硬件】步进电机
  • QT网络编程之实现UDP广播发送和接收(多网卡,多IP)
  • Spring常用设计模式-实战篇之单例模式
  • [iOS]Core Data浅析一 -- 启用Core Data
  • 【面试系列】之二:关于js原型
  • create-react-app项目添加less配置
  • gitlab-ci配置详解(一)
  • JavaScript新鲜事·第5期
  • php的插入排序,通过双层for循环
  • REST架构的思考
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 关于Java中分层中遇到的一些问题
  • 马上搞懂 GeoJSON
  • 区块链共识机制优缺点对比都是什么
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 十年未变!安全,谁之责?(下)
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 事件委托的小应用
  • 思考 CSS 架构
  • 我感觉这是史上最牛的防sql注入方法类
  • 协程
  • 学习使用ExpressJS 4.0中的新Router
  • 阿里云服务器如何修改远程端口?
  • ​configparser --- 配置文件解析器​
  • ​用户画像从0到100的构建思路
  • $.ajax()参数及用法
  • (Forward) Music Player: From UI Proposal to Code
  • (八)Flask之app.route装饰器函数的参数
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (论文阅读11/100)Fast R-CNN
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (转)Oracle存储过程编写经验和优化措施
  • (转载)Google Chrome调试JS
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • *2 echo、printf、mkdir命令的应用
  • .dwp和.webpart的区别
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .NET Core 版本不支持的问题