一、环境准备
- 操作系统:建议使用Ubuntu 18.04 LTS或其他支持Docker的Linux发行版。
- 硬件要求:至少三台机器,每台机器两核CPU、2GB内存。
- 网络要求:集群内机器之间网络互通,建议使用内网。
- 安装Docker:请参考Docker官方文档进行安装。
二、安装etcd
参见 【etcd 编译与安装】。
- 创建集群配置文件:
在etcd目录下创建etcd.yaml
,配置如下:
yaml
cluster:
name: my-etcd-cluster
peers:
- peer-urls:
- "http://192.168.1.101:2380"
- "http://192.168.1.101:2379"
name: "etcd-1"
client-urls:
- "http://192.168.1.101:2379"
- peer-urls:
- "http://192.168.1.102:2380"
- "http://192.168.1.102:2379"
name: "etcd-2"
client-urls:
- "http://192.168.1.102:2379"
- peer-urls:
- "http://192.168.1.103:2380"
- "http://192.168.1.103:2379"
name: "etcd-3"
client-urls:
- "http://192.168.1.103:2379"
修改配置文件中的IP地址为你的集群内机器的IP地址。
- 启动etcd集群:
在etcd目录下,为每个节点创建一个启动脚本,例如start-etcd-1.sh
、start-etcd-2.sh
、start-etcd-3.sh
,内容如下:
bash
#!/bin/bash
cd /path/to/etcd
./etcd --name=$1 --data-dir=/path/to/data --listen-client-urls="http://0.0.0.0:2379" --advertise-client-urls="http://$2:2379" --listen-peer-urls="http://0.0.0.0:2380" --initial-cluster=$3 --initial-cluster-token=my-etcd-cluster-token --initial-cluster-state=new
将/path/to/etcd
替换为etcd的安装路径,/path/to/data
替换为etcd数据目录的路径,$1
替换为节点名称,$2
替换为节点IP地址,$3
替换为集群配置文件中的peers部分。
在每个节点上执行对应的启动脚本,例如:
bash
bash start-etcd-1.sh etcd-1 192.168.1.101
bash start-etcd-2.sh etcd-2 192.168.1.102
bash start-etcd-3.sh etcd-3 192.168.1.103
三、验证集群状态
-
安装
etcdctl
:curl -L https://github.com/etcd-io/etcd/releases/download/v3.5.0/etcd-v3.5.0-linux-amd64.tar.gz | tar xz -C /tmp
mv /tmp/etcd-v3.5.0-linux-am