centos7二进制部署单机etcd

etcd 是云原生架构中重要的基础组件,由 CNCF 孵化托管。etcd 在微服务和 Kubernates 集群中不仅可以作为服务注册与发现,还可以作为 key-value 存储的中间件。

今天我们来记录下etcd的安装部署过程

首先我们下载etcd包

wget https://github.com/etcd-io/etcd/releases/download/v3.5.0/etcd-v3.5.0-linux-amd64.tar.gz
tar -zxf etcd-v3.5.0-linux-amd64.tar.gz
mv etcd-v3.5.0-linux-amd64 /usr/local/etcd

添加环境变量并使其生效

echo 'export PATH=$PATH:/usr/local/etcd' >> /etc/profile
source /etc/profile

创建存储目录

mkdir -p /data/etcd

接着我们创建etcd.conf配置文件

mkdir -p /etc/etcd
vi /etc/etcd/etcd.conf
name: "etcd-1" #节点名称
data-dir: "/data/etcd" #etcd数据存储目录
listen-client-urls: "http://192.168.1.76:2379,http://127.0.0.1:2379" #对外服务地址

这样就配置完成了,我们可以查看下etcd版本

etcdctl version
#或者
etcd --version

接着我们编写system服务,这样可以用来管理etcd和让其开机启动

cat /usr/lib/systemd/system/etcd.service
[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target
[Service]
Type=notify
EnvironmentFile=/etc/etcd/etcd.conf
ExecStart=/usr/local/etcd/etcd --config-file=/etc/etcd/etcd.conf
Restart=on-failure
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target

然后设置开机启动并启动etcd

systemctl daemon-reload
systemctl start etcd
systemctl enable etcd

启动以后我们就可以进行验证了。

etcdctl endpoint status --cluster -w table

微信截图_20240126143216.png

etcd.conf文件配置参考参数如下

-nameetcd节点名字如果在集群环境中,name必须是唯一的,建议用主机名称或者机器ID
–data-dir数据存储目录
–initial-clusteretcd启动的时候,通过这个配置找到其他ectd节点的地址列表,格式:‘节点名字1=http://节点ip1:2380,节点名字1=http://节点ip1:2380,…’
–initial-cluster-state初始化的时候,集群的状态 “new” 或者 "existing"两种状态,new代表新建的集群,existing表示加入已经存在的集群。
–advertise-client-urls如果–listen-client-urls配置了,多个监听客户端请求的地址,这个参数可以给出,建议客户端使用什么地址访问etcd。
–initial-advertise-peer-urls服务端之间通讯使用的地址列表。
–listen-client-urls监听客户端请求的地址列表,格式:‘http://localhost:2379’, 多个用逗号分隔。
–listen-peer-urls服务端节点之间通讯的监听地址,格式:‘http://localhost:2380’


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/965.html