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

相关推荐
开开心心_Every6 天前
界面干净的开源免费电视浏览器
人工智能·科技·智能手机·计算机外设·rabbitmq·语音识别·etcd
uyermw_4119 天前
PyTorch数据集与加载器全解析
flink·etcd
Waay10 天前
K8s ETCD 详解|备份恢复+静态Pod原理+kubectl查询底层流程(面试必考)
面试·kubernetes·etcd
钝挫力PROGRAMER16 天前
BugFixed:etcd 单节点宕机后数据“消失”
分布式·etcd
张青贤16 天前
centos7通过kubekey部署k8s集群
kubernetes·etcd·kubekey
成为你的宁宁18 天前
【Kubernetes监控实战:NFS持久化存储 + Prometheus Operator + etcd监控】
kubernetes·prometheus·etcd
xhaxy20 天前
pgsql集群搭建(Patroni + etcd )
linux·postgresql·etcd
愿天垂怜20 天前
【C++脚手架】etcd 的介绍与使用
java·linux·服务器·c语言·c++·中间件·etcd
眷蓝天1 个月前
Kubernetes etcd 技术指南
容器·kubernetes·etcd
Cat_Rocky1 个月前
Kubernetes etcd备份恢复
容器·kubernetes·etcd