Docker-swarm 这样集群搭建,保证万无一失(六)

2024-06-16 10:38

本文主要是介绍Docker-swarm 这样集群搭建,保证万无一失(六),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 创建docker swarm 集群
    • 创建集群命令
    • 集群加入 worker
    • 集群加入manager
    • 小心踩坑

官网
https://docs.docker.com/engine/swarm/
文档地址:
文档

节点工作原理
https://docs.docker.com/engine/swarm/how-swarm-mode-works/nodes/
在这里插入图片描述

创建docker swarm 集群

四台机器为例,2 个 manager 2个 worker。 但建议是 3个manager 以上,这样容错率更高,2台 down 了其中一台集群就不行,多个worker 。

虚拟机状态备注
192.168.116.129manager用这台创建集群
192.168.116.130manager加入成manager
192.168.116.131worker
192.168.116.132worker
  1. 首先安装 docker,安装docker 不再演示,请看我博客写的 docker第一节内容。
  2. 配置阿里加速镜像和开放防火墙或者开启安全组,请看我博客写的 docker第二节的内容。

docker swarm 命令:

docker swarm --help

创建集群:
docker swarm init --advertise-addr 虚拟机IP

查看增加 manager的授权命令:
docker swarm join-token manager

查看增加 worker 的授权命令:
docker swarm join-token worker

管理器节点离开 docker swarm 模式:
docker swarm leave --force

普通节点离开Docker Swarm模式
docker swarm leave

在这里插入图片描述

创建集群命令

初始化一个集群
docker swarm init --advertise-addr IP地址
如下两图

在这里插入图片描述
docker swarm init --advertise-addr 192.168.116.129 --listen-addr 192.168.116.129:2377,–listen-addr 192.168.116.129:2377【可选】
在这里插入图片描述

查询和开放端口
firewall-cmd --query-port=8080/tcp
firewall-cmd --permanent --add-port=8080/tcp重启防火墙
firewall-cmd --reload防火墙命令:
# 查看防火状态
systemctl status firewalld
service  iptables status# 暂时关闭防火墙
systemctl stop firewalld
service  iptables stop

在这里插入图片描述
注意:
一定要开放当前创建集群集器的端口(阿里云开通安全组),然后重启防火墙,不然加入worker 会报如下错误:

Error response from daemon: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp 192.168.116.129:2377: connect: no route to host"

集群加入 worker

用创建集群生成的命令,把 192.168.116.130、192.168.116.131 加入 worker。
在这里插入图片描述
查看集群节点:

docker node ls

万一忘记加入worker 的命令,用如下命令查看

docker swarm join-token worker

在这里插入图片描述

集群加入manager

加入 manager 的命令也非常简单

docker swarm join-token manager

在这里插入图片描述

小心踩坑

在这里插入图片描述
当加入 manager 时报错:

Error response from daemon: manager stopped: can’t initialize raft node: rpc error: code = Unknown desc = could not connect to prospective new cluster member using its advertised address: rpc error: code = Unavailable desc = connection error: desc = “transport: Error while dialing dial tcp 192.168.116.130:2377: connect: no route to host”

我在网上找错误解决方案,好几个都是互相抄袭说参考一个帖子,然后进入官网解决了,实质上他们自己根本没有动手实践,抄袭党实在是可恶至极,误导他人,费了一番周折,依然没有解决问题。
https://docs.docker.com/config/daemon/systemd/#httphttps-proxy

后来,我仔细思考报错信息,察觉不对啊,我 192.168.116.129 创建集群,邀请 192.168.116.130 加入 manager ,一直提示我 RPC连接130失败。我抱着试试的心态,可能是防火墙问题。最后确实解决了。
在这里插入图片描述
加入集群成功,设置为 manager。docker node ls 查看集群。
在这里插入图片描述
搭建 docker swarm 集群就基本完成了。 欢迎留言交流,转载请说明原处地址。

这篇关于Docker-swarm 这样集群搭建,保证万无一失(六)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1066238

相关文章

Mycat搭建分库分表方式

《Mycat搭建分库分表方式》文章介绍了如何使用分库分表架构来解决单表数据量过大带来的性能和存储容量限制的问题,通过在一对主从复制节点上配置数据源,并使用分片算法将数据分配到不同的数据库表中,可以有效... 目录分库分表解决的问题分库分表架构添加数据验证结果 总结分库分表解决的问题单表数据量过大带来的性能

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

更改docker默认数据目录的方法步骤

《更改docker默认数据目录的方法步骤》本文主要介绍了更改docker默认数据目录的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1.查看docker是否存在并停止该服务2.挂载镜像并安装rsync便于备份3.取消挂载备份和迁

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke

如何在一台服务器上使用docker运行kafka集群

《如何在一台服务器上使用docker运行kafka集群》文章详细介绍了如何在一台服务器上使用Docker运行Kafka集群,包括拉取镜像、创建网络、启动Kafka容器、检查运行状态、编写启动和关闭脚本... 目录1.拉取镜像2.创建集群之间通信的网络3.将zookeeper加入到网络中4.启动kafka集群

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

Nacos集群数据同步方式

《Nacos集群数据同步方式》文章主要介绍了Nacos集群中服务注册信息的同步机制,涉及到负责节点和非负责节点之间的数据同步过程,以及DistroProtocol协议在同步中的应用... 目录引言负责节点(发起同步)DistroProtocolDistroSyncChangeTask获取同步数据getDis

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

HDFS—集群扩容及缩容

白名单:表示在白名单的主机IP地址可以,用来存储数据。 配置白名单步骤如下: 1)在NameNode节点的/opt/module/hadoop-3.1.4/etc/hadoop目录下分别创建whitelist 和blacklist文件 (1)创建白名单 [lytfly@hadoop102 hadoop]$ vim whitelist 在whitelist中添加如下主机名称,假如集群正常工作的节