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

相关推荐
米高梅狮子2 天前
13.ETCD 存储系统、生产环境 Kubernetes 集群部署和Kubernetes 集群升级
数据库·云原生·容器·架构·kubernetes·自动化·etcd
Aaron_Wjf4 天前
ETCD常用操作
etcd
赵文宇(温玉)6 天前
Docker Compose 安装 Etcd
docker·容器·etcd
张32312 天前
k8s etcd备份恢复
数据库·k8s·etcd
SilentSamsara18 天前
etcd 运维:数据一致性、备份恢复与性能调优
运维·服务器·数据库·kubernetes·kubectl·k8s·etcd
张青贤18 天前
ETCD数据迁移
数据库·etcd·数据迁移·apisix网关
红星照耀华夏20 天前
分布式锁深度解构:从 Redis 到 ZooKeeper,一场正确性与性能的博弈
redis·zookeeper·etcd·分布式锁
运维 小白23 天前
PostgreSQL高可用(Patroni + etcd + Keepalived)
数据库·postgresql·etcd
HEADKON1 个月前
维利西呱Vericiguat说明书详解:射血分数降低心衰的创新机制、用法用量与低血压风险防控
etcd