作者:U友50054453 | 来源:互联网 | 2024-12-23 15:20
本文详细介绍了如何规划和部署一个高可用的Etcd集群,包括主机配置、软件安装、防火墙设置及集群健康检查等内容。通过合理的硬件配置和网络规划,确保Etcd集群在生产环境中的稳定运行。
1. 主机规划
节点名称 | 角色 | 数量 | 内网IP | 外网IP | 硬件配置 | 基础软件 | 操作系统 |
etcd-master | 主节点 | 1 | 10.0.0.30 | xxx | 2核 4GB | wget && yum install -y etcd | CentOS 7 x64 1810 |
etcd-slave | 从节点01 | 1 | 10.0.0.31 | xxx | 2核 4GB | wget && yum install -y etcd | CentOS 7 x64 1810 |
etcd-slave | 从节点02 | 1 | 10.0.0.32 | xxx | 2核 4GB | wget && yum install -y etcd | CentOS 7 x64 1810 |
注意:对于业务量较小的情况,2核4GB的配置已经足够;若业务量较大,则建议使用4核8GB或更高配置。
2. 设置主机名
hostnamectl set-hostname etcd-node01
hostnamectl set-hostname etcd-node02
hostnamectl set-hostname etcd-node03
3. 安装Etcd并搭建集群环境
我们选择静态集群方式进行部署:
yum install -y etcd
4. 查看已安装的Etcd版本号
etcdctl --version
5. 修改配置文件以搭建集群环境
5.1. 备份原配置文件
cp /etc/etcd/etcd.conf /etc/etcd/etcd.conf.bak
5.2. 编辑配置文件
cd /etc
vim etcd.conf
6. 保存并重启服务
systemctl restart etcd
systemctl status etcd
7. 配置防火墙开放必要的端口
firewall-cmd --zOne=public --add-port=2379/tcp --permanent
firewall-cmd --zOne=public --add-port=2380/tcp --permanent
firewall-cmd --reload && firewall-cmd --list-ports
8. 检查集群状态
etcdctl member list
etcdctl cluster-health
9. 定时同步时间
为避免因时间不同步导致的问题,需配置定时任务同步时间:
yum install -y ntp
crontab -e
0 1 * * * /usr/sbin/ntpdate ntp.sjtu.edu.cn >> /var/log/ntpdate.log 2>&1 &
10. 测试集群功能
Node01-Master: etcdctl put name liang
Node02-Slave: etcdctl get name
Node03-Slave: etcdctl get name