Etcd教程 — 第三章 Etcd集群动态发现、DNS发现

本教程详细介绍了Etcd集群的动态发现和DNS发现机制。在动态发现中,通过获取discovery token和指定集群大小,新成员能够自动加入集群。在DNS发现中,利用公共或自定义的DNS服务,实现集群成员的自动发现。教程涵盖了从生成UUID到启动etcd命令的具体步骤,并提供了验证集群健康状况的方法。

1 前言

本章操作内容建立在第二章静态发现 ※2.3 多机搭建Etcd集群 基础上
Etcd教程 — 第二章 Etcd集群静态发现 ※2.3 多机搭建Etcd集群

2 Etcd集群动态发现

2.1 需求背景

在实际环境中,集群成员的ip可能不会提前知道。如使用dhcp自动获取的情况,在这些情况下,使用自动发现来引导etcd集群,而不是指定静态配置,这个过程被称为“发现”。

2.2 实现机制

  1. Discovery Service Protocol 帮助新的Etcd成员使用共享URL在集群引导阶段发现所有其他成员。

  2. 该协议使用新的发现令牌来引导一个唯一的etcd集群。一个发现令牌只能代表一个etcd集群。只要此令牌上的发现协议启动,即使它中途失败,也不能用于引导另一个etcd集群。

  3. 提示Discovery service protocol仅用于集群引导阶段,不能用于运行时重新配置或集群监视

2.3 工作流程

  1. 所有新成员都与发现服务交互并帮助生成预期的成员列表。
  2. 每个新成员使用此列表引导其服务器。
  3. 该列表执行与 --initial-cluster 标志相同的功能,即设置集群所有成员的信息。

2.4 各服务器配置

注意:node01、node02、node03在 2.3 多机搭建Etcd集群时已用做搭建etcd静态集群,这里仅使用node04、node05来搭建动态集群,实际上应该使用至少3台服务器来搭建,本文只是演示搭建的流程,node04、node05节点也需要开放2379、2380端口,node04、node05节点上仅安装好etcd即可,不要进行过多配置
在这里插入图片描述

2.5 具体步骤

node04节点为例,node05也一样的步骤,各自使用各自生成的uuid

2.5.1 获取 discovery 的 token

随机生成一个可以标识新集群的唯一令牌。 在后续步骤中,它将用作发现键空间中的唯一前缀。 一种简单的方法是使用uuidgen

UUID=$(uuidgen)

使用方法:直接输入命令uuidgen即可生成UUID=27b16399-120c-4e3e-8553-3f2b82b3c319,然后把这个UUID加入到请求信息中。
node04

2.5.2 指定集群的大小

获取令牌时,必须指定集群大小, 发现服务使用该大小来了解何时发现了最初将组成集群的所有成员。
在新的节点上往已有的集群发送:

curl -X PUT http://192.168.13.21:2379/v2/keys/discovery/27b16399-120c-4e3e-8553-3f2b82b3c319/_config/size -d value=1

返回信息:

{
   
   "action":"set","node":{
   
   "key":"/discovery/27b16399-120c-4e3e-8553-3f2b82b3c319/_config/size","value":"1","modifiedIndex":15,"createdIndex":15}}

在这里插入图片描述
我们需要把该 url 地址 http://192.168.13.21:2379/v2/keys/discovery/27b16399-120c-4e3

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值