docker 搭建etcd三节点集群etcd‑keeper-笔记
docker 搭建etcd三节点集群
能研究集群基本都是老手了,概念就不介绍了。直接贴yml 文件。可运行。
docker-compose.yml 文件
###################### docker-compose.yml ######################
x-etcd-env: &etcd-env # 公共环境变量
ALLOW_NONE_AUTHENTICATION: "no"
ETCD_ROOT_PASSWORD: "mima"
ETCD_ENABLE_V2: "false"
ETCD_HEARTBEAT_INTERVAL: "250"
ETCD_ELECTION_TIMEOUT: "2500"
ETCDCTL_API: "3"
services:
########################################################################
# 3‑Node Etcd Cluster #
########################################################################
etcd1:
image: bitnami/etcd:3.6.0
container_name: etcd1
restart: unless-stopped
networks: [etcdnet]
environment:
<<: *etcd-env
ETCD_NAME: "etcd1"
ETCD_ADVERTISE_CLIENT_URLS: "http://etcd1:2379"
ETCD_LISTEN_CLIENT_URLS: "http://0.0.0.0:2379"
ETCD_INITIAL_ADVERTISE_PEER_URLS: "http://etcd1:2380"
ETCD_LISTEN_PEER_URLS: "http://0.0.0.0:2380"
ETCD_INITIAL_CLUSTER: "etcd1=http://etcd1:2380,etcd2=http://etcd2:2380,etcd3=http://etcd3:2380"
ETCD_INITIAL_CLUSTER_STATE: "new"
ports:
- "2379:2379"
volumes:
- /data/etcd1:/bitnami/etcd # 持久化目录
etcd2:
image: bitnami/etcd:3.6.0
container_name: etcd2
restart: unless-stopped
networks: [etcdnet]
environment:
<<: *etcd-env
ETCD_NAME: "etcd2"
ETCD_ADVERTISE_CLIENT_URLS: "http://etcd2:2379"
ETCD_LISTEN_CLIENT_URLS: "http://0.0.0.0:2379"
ETCD_INITIAL_ADVERTISE_PEER_URLS: "http://etcd2:2380"
ETCD_LISTEN_PEER_URLS: "http://0.0.0.0:2380"
ETCD_INITIAL_CLUSTER: "etcd1=http://etcd1:2380,etcd2=http://etcd2:2380,etcd3=http://etcd3:2380"
ETCD_INITIAL_CLUSTER_STATE: "new"
volumes:
- /data/etcd2:/bitnami/etcd
etcd3:
image: bitnami/etcd:3.6.0
container_name: etcd3
restart: unless-stopped
networks: [etcdnet]
environment:
<<: *etcd-env
ETCD_NAME: "etcd3"
ETCD_ADVERTISE_CLIENT_URLS: "http://etcd3:2379"
ETCD_LISTEN_CLIENT_URLS: "http://0.0.0.0:2379"
ETCD_INITIAL_ADVERTISE_PEER_URLS: "http://etcd3:2380"
ETCD_LISTEN_PEER_URLS: "http://0.0.0.0:2380"
ETCD_INITIAL_CLUSTER: "etcd1=http://etcd1:2380,etcd2=http://etcd2:2380,etcd3=http://etcd3:2380"
ETCD_INITIAL_CLUSTER_STATE: "new"
volumes:
- /data/etcd3:/bitnami/etcd
########################################################################
# Web UI (etcd‑keeper) #
########################################################################
etcd-ui:
image: evildecay/etcdkeeper:v0.7.6
container_name: etcdkeeper
restart: unless-stopped
networks: [etcdnet]
depends_on:
- etcd1
environment:
ETCDCTL_API: "3"
ETCD_ENDPOINTS: "http://etcd1:2379,http://etcd2:2379,http://etcd3:2379"
ports:
- "12379:8080" # http://<宿主机>:12379/etcdkeeper
networks:
etcdnet:
#######################################################################
执行 : docker compose up -d 命令就ok 了。



评论