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

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

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-4e3e-8553-3f2b82b3c319 作为 --discovery 参数来启动 etcd。

新节点会自动使用已有集群 http://192.168.13.21:2379/v2/keys/discovery/27b16399-120c-4e3e-8553-3f2b82b3c319 目录进行 etcd 的注册和发现服务。

公共发现服务
如果没有现成可用的Etcd集群,etcd 官网提供了一个可以公网访问的 etcd 集群。我们可以通过如下命令得到 etcd 服务的目录,并把它作为 --discovery 参数使用。
公共发现服务 discovery.etcd.io 以相同的方式工作,但是有一层修饰,且自动生成 UUID,并提供针对过多请求的保护。公共发现服务在其上仍然使用 etcd 群集作为数据存储。

请求公共发现服务:

$ curl http://discovery.etcd.io/new?size=3

在这里插入图片描述
如果显示上图的报错信息,则在浏览器端请求即可。

在这里插入图片描述

2.5.3 执行启动 etcd 的命令
etcd --name etcd04 --initial-advertise-peer-urls http://192.168.13.24:2380 \
  --listen-peer-urls http://192.168.13.24:2380 \
  --data-dir /opt/soft/etcd/etcd_data \
  --listen-client-urls http://192.168.13.24:2379,http://127.0.0.1:2379 \
  --advertise-client-urls http://192.168.13.24:2379 \
  --discovery http://192.168.13.21:2379/v2/keys/discovery/27b16399-120c-4e3e-8553-3f2b82b3c319
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值