etcd cluster

发布时间 2023-10-16 14:21:11作者: 北京涛子

node01

version: '2'

services:
  etcd:
    image: quay.io/coreos/etcd:v3.5.0
    container_name: etcd
    restart: always
    ports:
      - 2379:2379
      - 2380:2380
    volumes:
      - ./etcd-data:/etcd-data
      # - ./certs/:/certs
    environment:
      ETCD_NAME: node01
      ETCDCTL_API: 3
      ETCD_DEBUG: 1
      ETCD_ADVERTISE_CLIENT_URLS: http://192.168.10.21:2379
      ETCD_INITIAL_ADVERTISE_PEER_URLS: http://192.168.10.21:2380
      ETCD_INITIAL_CLUSTER: node01=http://192.168.10.21:2380,node02=http://192.168.10.22:2380,node03=http://192.168.10.23:2380
      ETCD_INITIAL_CLUSTER_STATE: new
      ETCD_INITIAL_CLUSTER_TOKEN: etcd-ftw
      ETCD_LISTEN_CLIENT_URLS: http://0.0.0.0:2379
      ETCD_LISTEN_PEER_URLS: http://0.0.0.0:2380
      # ETCD_CERT_FILE: /certs/domain.crt
      # ETCD_KEY_FILE: /certs/domain.key
      # ETCD_PEER_TRUSTED_CA_FILE: /certs/domain.crt
      # ETCD_PEER_CERT_FILE: /certs/domain.crt
      # ETCD_PEER_KEY_FILE: /certs/domain.key
      # ETCD_PEER_CLIENT_CERT_AUTH: 1

node02

version: '2'

services:
  etcd:
    image: quay.io/coreos/etcd:v3.5.0
    container_name: etcd
    restart: always
    ports:
      - 2379:2379
      - 2380:2380
    volumes:
      - ./etcd-data:/etcd-data
      # - ./certs/:/certs
    environment:
      ETCD_NAME: node02
      ETCDCTL_API: 3
      ETCD_DEBUG: 1
      ETCD_ADVERTISE_CLIENT_URLS: http://192.168.10.22:2379
      ETCD_INITIAL_ADVERTISE_PEER_URLS: http://192.168.10.22:2380
      ETCD_INITIAL_CLUSTER: node01=http://192.168.10.21:2380,node02=http://192.168.10.22:2380,node03=http://192.168.10.23:2380
      ETCD_INITIAL_CLUSTER_STATE: new
      ETCD_INITIAL_CLUSTER_TOKEN: etcd-ftw
      ETCD_LISTEN_CLIENT_URLS: http://0.0.0.0:2379
      ETCD_LISTEN_PEER_URLS: http://0.0.0.0:2380
      # ETCD_CERT_FILE: /certs/domain.crt
      # ETCD_KEY_FILE: /certs/domain.key
      # ETCD_PEER_TRUSTED_CA_FILE: /certs/domain.crt
      # ETCD_PEER_CERT_FILE: /certs/domain.crt
      # ETCD_PEER_KEY_FILE: /certs/domain.key
      # ETCD_PEER_CLIENT_CERT_AUTH: 1

node03

version: '2'

services:
  etcd:
    image: quay.io/coreos/etcd:v3.5.0
    container_name: etcd
    restart: always
    ports:
      - 2379:2379
      - 2380:2380
    volumes:
      - ./etcd-data:/etcd-data
      # - ./certs/:/certs
    environment:
      ETCD_NAME: node03
      ETCDCTL_API: 3
      ETCD_DEBUG: 1
      ETCD_ADVERTISE_CLIENT_URLS: http://192.168.10.23:2379
      ETCD_INITIAL_ADVERTISE_PEER_URLS: http://192.168.10.23:2380
      ETCD_INITIAL_CLUSTER: node01=http://192.168.10.21:2380,node02=http://192.168.10.22:2380,node03=http://192.168.10.23:2380
      ETCD_INITIAL_CLUSTER_STATE: new
      ETCD_INITIAL_CLUSTER_TOKEN: etcd-ftw
      ETCD_LISTEN_CLIENT_URLS: http://0.0.0.0:2379
      ETCD_LISTEN_PEER_URLS: http://0.0.0.0:2380
      # ETCD_CERT_FILE: /certs/domain.crt
      # ETCD_KEY_FILE: /certs/domain.key
      # ETCD_PEER_TRUSTED_CA_FILE: /certs/domain.crt
      # ETCD_PEER_CERT_FILE: /certs/domain.crt
      # ETCD_PEER_KEY_FILE: /certs/domain.key
      # ETCD_PEER_CLIENT_CERT_AUTH: 1

client

docker run -it --rm --name etcd-client quay.io/coreos/etcd:v3.5.0 etcdctl --endpoints="http://192.168.10.21:2379,http://192.168.10.22:2379,http://192.168.10.23:2379" endpoint status

http://192.168.10.21:2379, 2b6164fcaf3bdd51, 3.5.0, 20 kB, true, false, 2, 9, 9, 
http://192.168.10.22:2379, 7b5d9fb26e519275, 3.5.0, 20 kB, false, false, 2, 9, 9, 
http://192.168.10.23:2379, f2589309e2aa2536, 3.5.0, 20 kB, false, false, 2, 9, 9,