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

相关文章

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Java中JSON格式反序列化为Map且保证存取顺序一致的问题

《Java中JSON格式反序列化为Map且保证存取顺序一致的问题》:本文主要介绍Java中JSON格式反序列化为Map且保证存取顺序一致的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录背景问题解决方法总结背景做项目涉及两个微服务之间传数据时,需要提供方将Map类型的数据序列化为co

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

Windows Server 2025 搭建NPS-Radius服务器的步骤

《WindowsServer2025搭建NPS-Radius服务器的步骤》本文主要介绍了通过微软的NPS角色实现一个Radius服务器,身份验证和证书使用微软ADCS、ADDS,具有一定的参考价... 目录简介示意图什么是 802.1X?核心作用802.1X的组成角色工作流程简述802.1X常见应用802.

Spring Cloud GateWay搭建全过程

《SpringCloudGateWay搭建全过程》:本文主要介绍SpringCloudGateWay搭建全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Spring Cloud GateWay搭建1.搭建注册中心1.1添加依赖1.2 配置文件及启动类1.3 测

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

ubuntu如何部署Dify以及安装Docker? Dify安装部署指南

《ubuntu如何部署Dify以及安装Docker?Dify安装部署指南》Dify是一个开源的大模型应用开发平台,允许用户快速构建和部署基于大语言模型的应用,ubuntu如何部署Dify呢?详细请... Dify是个不错的开源LLM应用开发平台,提供从 Agent 构建到 AI workflow 编排、RA

SpringBoot快速搭建TCP服务端和客户端全过程

《SpringBoot快速搭建TCP服务端和客户端全过程》:本文主要介绍SpringBoot快速搭建TCP服务端和客户端全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录TCPServerTCPClient总结由于工作需要,研究了SpringBoot搭建TCP通信的过程