etcd集群搭建(3个节点)
OS:ubuntu1~18.04.1
搭建一个三节点的etcd集群
etcd1:192.168.148.129
etcd2:192.168.148.130
etcd3:192.168.148.131
1.下载etcd安装包,安装
Wget https://github.com/etcd-io/etcd/releases/download/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz
tar zxvf etcd-v3.3.10-linux-amd64.tar.gz
mv etcd-v3.3.10-linux-amd64 /opt/etcd-v3.3.10
2.复制etcd etcdctl到/usr/local/bin
cp etcd etcdctl /usr/local/bin/
3.在三个节点中创建数据目录
mkdir -p /var/lib/etcd
4.在每个节点上创建etcd的systemd unit文件/usr/lib/systemd/system/etcd.service
vim /usr/lib/systemd/system/etcd.service #如果没有system目录则新创建一个
文件内容如下
etcd1
[Unit]
Description=etcd server
After=network.target
After=network-online.target
Wants=network-online.target
[Service]
Type=notify
WorkingDirectory=/var/lib/etcd/
EnvironmentFile=-/etc/etcd/etcd.conf
ExecStart=/usr/local/bin/etcd --name etcd1 --initial-advertise-peer-urls http://192.168.148.129:2380 --listen-peer-urls http://192.168.148.129:2380 --listen-client-urls http://192.168.148.129:2379,http://127.0.0.1:2379 --advertise-client-urls http://192.168.148.129:2379 --initial-cluster-token etcd-cluster-1 --initial-cluster etcd1=http://192.168.148.129:2380,etcd2=http://192.168.148.130:2380,etcd3=http://192.168.148.131:2380 --initial-cluster-state new --data-dir=/var/lib/etcd
Restart=on-failure
RestartSec=5
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
注意:(只需要把换色部分提换为每台机的ip既可)
其他节点进行同样的操作
4.开启etcd服务
systemctl daemon-reload (重新配置文件)
systemctl enable etcd (开机重启)
systemctl start etcd
systemctl restart etcd
5.查看创建详情(校验状态)
etcdctl member list
etcdctl cluster-health
小知识:
systemctl 提供了一组子命令来管理单个的 unit,其命令格式为:
systemctl [command] [unit]
command 主要有:
start:立刻启动后面接的 unit。
stop:立刻关闭后面接的 unit。
restart:立刻关闭后启动后面接的 unit,亦即执行 stop 再 start 的意思。
reload:不关闭 unit 的情况下,重新载入配置文件,让设置生效。
enable:设置下次开机时,后面接的 unit 会被启动。
disable:设置下次开机时,后面接的 unit 不会被启动。
status:目前后面接的这个 unit 的状态,会列出有没有正在执行、开机时是否启动等信息。
is-active:目前有没有正在运行中。
is-enable:开机时有没有默认要启用这个 unit。
kill :不要被 kill 这个名字吓着了,它其实是向运行 unit 的进程发送信号。
show:列出 unit 的配置。
mask:注销 unit,注销后你就无法启动这个 unit 了。
unmask:取消对 unit 的注销。