在virtualbox上手工搭建低硬件配置的3节点etcd集群

一、虚拟机配置

用virtualbox创建了三个配置相同的实例,具体配置如下:

虚拟机节点名称硬件配置操作系统IP
node1

CPU:1核

内存:1GB

硬盘:16GB

Debian 11192.168.50.101
node2192.168.50.102
node3192.168.50.103

二、安装etcd

2.1 安装文件下载

安装文件直接从github上找的3.5.5版本,无需赘述。下载后解压,将etcdetcdctl两个二进制文件分别拷贝到三台虚拟机的/usr/local/bin路径下。在三台虚拟机上分别创建/etc/etcd/etcd.conf空文件。etc路径下没有etcd目录的话,手动创建即可。另外为使虚拟机启动时就能启动etcd集群,并通过systemd进行服务管理,在三台虚拟机的/etc/systemd/system路径下创建etcd.service空文件。

2.2 etcd配置集群

2.2.1 etcd.conf配置

节点1

ETCD_DATA_DIR="/var/lib/etcd/etcdcluster.etcd"
ETCD_LISTEN_PEER_URLS="http://192.168.50.101:2380"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_NAME="etcd01"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.50.101:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_INITIAL_CLUSTER="etcd01=http://192.168.50.101:2380,etcd02=http://192.168.50.102:2380,etcd03=http://192.168.50.103:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"

节点2

ETCD_DATA_DIR="/var/lib/etcd/etcdcluster.etcd"
ETCD_LISTEN_PEER_URLS="http://192.168.50.102:2380"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_NAME="etcd02"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.50.102:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_INITIAL_CLUSTER="etcd01=http://192.168.50.101:2380,etcd02=http://192.168.50.102:2380,etcd03=http://192.168.50.103:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"

节点3

ETCD_DATA_DIR="/var/lib/etcd/etcdcluster.etcd"
ETCD_LISTEN_PEER_URLS="http://192.168.50.103:2380"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_NAME="etcd03"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.50.103:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_INITIAL_CLUSTER="etcd01=http://192.168.50.101:2380,etcd02=http://192.168.50.102:2380,etcd03=http://192.168.50.103:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"

2.2.2 etcd.service配置

三个节点的etcd.service配置完全相同,具体如下:

[Unit]
Description=Etcd Server
After=network-online.target
Wants=network-online.target

[Service]
Type=notify
EnvironmentFile=/etc/etcd/etcd.conf
ExecStart=/usr/local/bin/etcd
Restart=always
RestartSec=10s
LimitNOFILE=40000

[Install]
WantedBy=multi-user.target

完成三个节点的etcd.service配置后,执行systemctl enable etcd.service命令并重启所有虚拟机即可完成集群安装。

三、参考资料

搭建 etcd 集群 - etcd官方文档中文版 (gitbook.io)

etcd集群搭建(高可用) - Damien1 - 博客园 (cnblogs.com)s

 

四、追记

目前发现一个现象,当修改各个节点的IP后,etcd服务无法再启动。因为服务启动后,会在ECTD_DATA_DIR指定的路径下生成相关的二进制文件。虽然修改了每个节点的IP地址,但首次配置的IP地址已经写入了二进制文件。目前的处理方式是删除ECTD_DATA_DIR下的所有文件后才能再启动。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值