Etcd 多节点安装实践
2019-03-08 本文已影响0人
不喜欢夜雨天
Etcd主要功能
- 键值写入与读取。
- 过期时间。
- 观察者。
- 租约。
- 集群管理相关操作。
- 维护操作。
- 用户及权限管理。
安装与配置
-
wget https://github.com/coreos/etcd/releases/download/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz
-
解压下载
sudo tar -zxvf etcd-v3.3.10-linux-amd64.tar.gz -C /opt/ -
配置 (配置为V3版本,系统默认的是v2,通过下面命令修改配置)
sudo vim /etc/profile
在末尾追加 export ETCDCTL_API=3
source /etc/profile
-
配置节点
- 示例为三个节点: 节点1=>192.168.56.200,节点2=>192.168.56.201,节点3=>192.168.56.202
-
创建节点配置文件
-
创建配置文件目录
sudo mkdir /etc/etcd
-
创建etcd配置文件
-
sudo vim /etc/etcd/conf.yml
-
添加如下内容 (单机示例,实际要自己进行修改)
name: etcd_1 data-dir: /opt/etcd-v3.3.10-linux-amd64/data listen-client-urls: http://192.168.56.200:2379,http://127.0.0.1:2379 advertise-client-urls: http://192.168.56.200:2379,http://127.0.0.1:2379 listen-peer-urls: http://192.168.56.200:2380 initial-advertise-peer-urls: http://192.168.56.200:2380 initial-cluster: etcd_1=http://192.168.56.200:2380,etcd_2=http://192.168.56.201:2380 initial-cluster-token: etcd-cluster-token initial-cluster-state: new
--listen-client-urls 含义:对外提供服务的地址 默认值:http://localhost:2379 环境变量:ETCD_LISTEN_CLIENT_URLS 作用:对外提供服务的地址。 提示:域名为无效值,如http://example.com:2379为错误配置。 --advertise-client-urls 含义:此成员的客户端URL列表,用于通告群集的其余部分。这些URL可以包含域名。 默认值:http://localhost:2379 环境变量:ETCD_ADVERTISE_CLIENT_URLS 作用:对外公告的该节点客户端监听地址。 --listen-peer-urls 含义:和成员之间通信的地址。 默认值:http://localhost:2380 环境变量:ETCD_LISTEN_PEER_URLS 作用:用于监听其他etcd member的url 提示:域名为无效值,如http://example.com:2380为错误配置。 --initial-advertise-peer-urls 含义:该节点成员对等URL地址,且会通告群集的其余成员节点。 默认值:http://localhost:2380 环境变量:ETCD_INITIAL_ADVERTISE_PEER_URLS --initial-cluster 含义:集群中所有节点的信息。 默认值:default=http://localhost:2380 环境变量:ETCD_INITIAL_CLUSTER 作用: 注意:此处default为节点的--name指定的名字;localhost:2380为--initial-advertise-peer-urls指定的值。 --initial-cluster-token 含义:创建集群的 token,这个值每个集群保持唯一。 默认值:etcd-cluster 环境变量:ETCD_INITIAL_CLUSTER_TOKEN 作用:此配置可使重新创建集群,即使配置和之前一样,也会再次生成新的集群和节点 uuid;否则会导致多个集群之间的冲突,造成未知的错误。 --initial-cluster-state 含义:初始集群状态 默认值:new 环境变量:ETCD_INITIAL_CLUSTER_STATE 作用:设置new为初始静态或DNS引导期间出现的所有成员。如果将此选项设置为existing,则etcd将尝试加入现有群集。
-
-
启动
-
查看版本号
-
cd /opt/etcd-v3.3.10-linux-amd64
-
./etcdctl version
-
-
启动
- ./etcd --config-file=/etc/etcd/conf.yml
-
查看集群成员信息
- ./etcdctl member list
-
查看leader状态
-
查看自己的状态
加入新的节点
-
新增节点 eg:192.168.56.201:2383
./etcdctl member add etcd_2 --peer-urls="http://192.168.56.201:2380" 显示 ETCD_NAME="etcd_2" ETCD_INITIAL_CLUSTER="etcd_1=http://192.168.56.200:2380,etcd_2=http://192.168.56.201:2380" ETCD_INITIAL_CLUSTER_STATE="existing"
-
启动新节点
-
写入conf.yaml文件
vim /etc/etcd/conf.ymlname: etcd_2 data-dir: /opt/etcd-v3.3.10-linux-amd64/data listen-client-urls: http://192.168.56.202:2379,http://127.0.0.1:2379 advertise-client-urls: http://192.168.56.202:2379,http://127.0.0.1:2379 listen-peer-urls: http://192.168.56.202:2380 initial-advertise-peer-urls: http://192.168.56.202:2380 initial-cluster: etcd_1=http://192.168.56.200:2380,etcd_2=http://192.168.56.201:2380,etcd_3=http://192.168.56.202:2380 initial-cluster-token: etcd-cluster-token initial-cluster-state: existing
-
参考链接
结论测试通过!!!
3个节点全部加入成功