3节点etcd cluster的安装

实验环境:

RHEL9:

node1:10.90.7.101

node2:10.90.7.102

node3:10.90.7.103

etcd 3.6.11

##1.add user etcd

useradd -r -s /sbin/nologin etcd

##2.download etcd

curl -LOC - https://github.com/etcd-io/etcd/releases/download/v3.6.11/etcd-v3.6.11-linux-amd64.tar.gz

cd /opt

tar xvf /tmp/etcd-v3.6.11-linux-amd64.tar.gz

ln -s /opt/etcd-v3.6.11-linux-amd64 /opt/etcd

mkdir -p /var/lib/etcd

chown -R etcd:etcd /var/lib/etcd

chmod -R 700 /var/lib/etcd

mkdir -p /etc/etcd

chown -R etcd:etcd /etc/etcd

chmod -R 700 /etc/etcd

以下为node1的vi /etc/etcd/etcd.conf

对应的node2,node3修改对应的ETCD_NAME和ip

member

ETCD_NAME=infisical-etcd-01

ETCD_DATA_DIR="/var/lib/etcd/default.etcd"

#ETCD_WAL_DIR=""

#ETCD_SNAPSHOT_COUNT="10000"

#ETCD_HEARTBEAT_INTERVAL="100"

#ETCD_ELECTION_TIMEOUT="1000"

ETCD_LISTEN_PEER_URLS="http://10.90.7.101:2380"

ETCD_LISTEN_CLIENT_URLS="http://10.90.7.101:2379,http://127.0.0.1:2379"

#ETCD_MAX_SNAPSHOTS="5"

#ETCD_MAX_WALS="5"

#ETCD_CORS=""

#cluster

ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.90.7.101:2380"

if you use different ETCD_NAME (e.g. test), set ETCD_INITIAL_CLUSTER value for this name, i.e. "test=http://..."

ETCD_INITIAL_CLUSTER="infisical-etcd-01=http://10.90.7.101:2380,infisical-etcd-02=http://10.90.7.102:2380,infisical-etcd-03=http://10.90.7.103:2380"

ETCD_INITIAL_CLUSTER_STATE="new"

ETCD_INITIAL_CLUSTER_TOKEN="infisical-etcd-cluster"

ETCD_ADVERTISE_CLIENT_URLS="http://10.90.7.101:2379"

#ETCD_DISCOVERY=""

#ETCD_DISCOVERY_SRV=""

#ETCD_DISCOVERY_FALLBACK="proxy"

#ETCD_DISCOVERY_PROXY=""

#ETCD_ENABLE_V2="true"

#ETCD_STRICT_RECONFIG_CHECK="false"

#ETCD_AUTO_COMPACTION_RETENTION="0"

#proxy

#ETCD_PROXY="off"

#ETCD_PROXY_FAILURE_WAIT="5000"

#ETCD_PROXY_REFRESH_INTERVAL="30000"

#ETCD_PROXY_DIAL_TIMEOUT="1000"

#ETCD_PROXY_WRITE_TIMEOUT="5000"

#ETCD_PROXY_READ_TIMEOUT="0"

#security

#ETCD_CERT_FILE=""

#ETCD_KEY_FILE=""

#ETCD_CLIENT_CERT_AUTH="false"

#ETCD_TRUSTED_CA_FILE=""

#ETCD_AUTO_TLS="false"

#ETCD_PEER_CERT_FILE=""

#ETCD_PEER_KEY_FILE=""

#ETCD_PEER_CLIENT_CERT_AUTH="false"

#ETCD_PEER_TRUSTED_CA_FILE=""

#ETCD_PEER_AUTO_TLS="false"

#logging

#ETCD_DEBUG="false"

examples for -log-package-levels etcdserver=WARNING,security=DEBUG

#ETCD_LOG_PACKAGE_LEVELS=""

vi /etc/systemd/system/etcd.service

说明一下,从官方github复制过来,但需要添加EnvironmentFile=/etc/etcd/etcd.conf这一行,及相应的路径

Unit

Description=etcd key-value store

Documentation=https://github.com/etcd-io/etcd/blob/main/contrib/systemd/etcd.service

After=network-online.target local-fs.target remote-fs.target time-sync.target

Wants=network-online.target local-fs.target remote-fs.target time-sync.target

Service

User=etcd

Type=notify

EnvironmentFile=/etc/etcd/etcd.conf

Environment=ETCD_DATA_DIR=/var/lib/etcd

Environment=ETCD_NAME=%m

ExecStart=/opt/etcd/etcd

Restart=always

RestartSec=10s

LimitNOFILE=40000

Install

WantedBy=multi-user.target

chmod 644 /etc/systemd/system/etcd.service

systemctl daemon-reload

systemctl enable etcd

systemctl start etcd

etcdctl endpoint health --cluster

http://10.90.7.101:2379 is healthy: successfully committed proposal: took = 2.458968ms

http://10.90.7.102:2379 is healthy: successfully committed proposal: took = 8.408295ms

http://10.90.7.103:2379 is healthy: successfully committed proposal: took = 8.73806ms

相关推荐
Msshu1238 天前
快充诱骗取电芯片XSP26A 支持全协议取电+串口发送充电器功率+共用D+D-网络
mongodb·postgresql·etcd·flume·consul·kylin
姚不倒8 天前
etcd 学习系列(四):存储模型 —— WAL 和 Snapshot 是如何配合的
运维·etcd
姚不倒9 天前
etcd 学习系列(二):集群架构 —— 3 节点是如何工作的
运维·架构·etcd
姚不倒9 天前
etcd 学习系列(七):排障指南 —— 常见问题与解决方案
运维·etcd
姚不倒9 天前
etcd 学习系列(一):从业务需求出发,理解 etcd 是什么
运维·数据库·etcd
Asum1ta13 天前
生产环境 Kubernetes 高可用集群部署实战:外部 etcd + Keepalived + HAProxy + 多 Master 架构
架构·kubernetes·etcd
羑悻的小杀马特16 天前
百度ASR+BRPC+ETCD高并发高可用架构搭建,C++客户端API封装+语音识别子服务注册发现+全链路测试调优终极指南!
架构·sdk·etcd·cmake·百度智能云·brpc·语音识别子服务
harmony&17 天前
ETCD 存储系统实战:从单节点部署到 Kubernetes 高可用集群
数据库·kubernetes·etcd
忧郁的橙子.20 天前
深入浅出etcd与Raft:从核心组件到数据一致性原理
数据库·etcd
2601_9609067223 天前
Anthropic把Claude Code 2.1.236及以上版本的Fable 5会话
人工智能·kafka·时序数据库·etcd·tdengine