联系管理员

开通文章发布权限

扫码 添加微信
微信图片
电话: QQ:3810899917

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&nbsp;UI&nbsp;(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 了。
图片#B #S #R #60% #auto

 

docker exec etcd1 etcdctl --user root:Key845926 endpoint health --cluster
# healthy 表示三节点都 OK

# 列表成员
docker exec etcd1 etcdctl --user root:Key845926 member list

图片#B #S #R #60% #auto

评论

快捷导航

把好文章收藏到微信

打开微信,扫码查看

关闭

还没有账号?立即注册