etcd docker-compose 크로스 머신 3 노드 집단 배치 수동 가입 노드
시작 순서는 10.100.46.10 = 10.100.46.6 = 10.100.46.7
마스터 도커-compose 파일
10.100.46.10의docker-compose.yml
version: '2'
services:
etcd:
container_name: etcd-offline-10
image: registry.cn-hangzhou.aliyuncs.com/coreos_etcd/etcd:v3
network_mode: "host"
ports:
- "2379:2379"
- "2380:2380"
environment:
- TZ=CST-8
- LANG=zh_CN.UTF-8
command:
/usr/local/bin/etcd
-name etcd-offline-10
-data-dir /etcd-data
-advertise-client-urls http://10.100.46.10:2379
-listen-client-urls http://10.100.46.10:2379,http://127.0.0.1:2379
-initial-advertise-peer-urls http://10.100.46.10:2380
-listen-peer-urls http://10.100.46.10:2380
-initial-cluster-token xingchen
-initial-cluster-state new
volumes:
- "/data/etcd/data:/etcd-data"
명령 docker-compose up 사용 후 시작
그리고 로컬 etcdctl를 사용하여 노드를 추가하는 동작을 합니다. (주의: 그룹에 노드를 추가하고 노드를 시작합니다)
46.10의 작업 기록
[root@localhost etcd]# ./etcdctl member add etcd-offline-6 http://10.100.46.6:2380
Added member named etcd-offline-6 with ID 3bf8c1715d31b529 to cluster
ETCD_NAME="etcd-offline-6"
ETCD_INITIAL_CLUSTER="etcd-offline-6=http://10.100.46.6:2380,etcd-offline-10=http://10.100.46.10:2380"
ETCD_INITIAL_CLUSTER_STATE="existing"
그리고 프롬프트에 따라 46.6에서 docker-compose 파일 추가 -name etcd-offline-6-initial-cluster etcd-offline-6=http://10.100.46.6:2380,etcd-offline-10=http://10.100.46.10:2380-initial-cluster-state existing 10.100.46.6의 docker-compose.yml
version: '2'
services:
etcd:
container_name: etcd-offline-6
image: registry.cn-hangzhou.aliyuncs.com/coreos_etcd/etcd:v3
network_mode: "host"
ports:
- "2379:2379"
- "2380:2380"
environment:
- TZ=CST-8
- LANG=zh_CN.UTF-8
command:
/usr/local/bin/etcd
-name etcd-offline-6
-data-dir /etcd-data
-advertise-client-urls http://10.100.46.6:2379
-listen-client-urls http://10.100.46.6:2379,http://127.0.0.1:2379
-initial-advertise-peer-urls http://10.100.46.6:2380
-listen-peer-urls http://10.100.46.6:2380
-initial-cluster-token xingchen
-initial-cluster etcd-offline-6=http://10.100.46.6:2380,etcd-offline-10=http://10.100.46.10:2380
-initial-cluster-state existing
volumes:
- "/data/etcd/data:/etcd-data"
그리고 docker-compose up 시작 노드를 실행하여 46.10에서 그룹 상태 보기 etcdctl member list
노드 상태
[root@localhost etcd]# ./etcdctl --endpoint http://10.100.46.6:2379 member list
3bf8c1715d31b529: name=etcd-offline-6 peerURLs=http://10.100.46.6:2380 clientURLs=http://10.100.46.6:2379 isLeader=false
51430d988a335e3c: name=etcd-offline-10 peerURLs=http://10.100.46.10:2380 clientURLs=http://10.100.46.10:2379 isLeader=true
집단에 두 개의 노드가 있는 것을 볼 수 있고 46.7을 늘려서 집단에 들어가는 것을 볼 수 있다
46.7 증가
[root@localhost etcd]# ./etcdctl member add etcd-offline-7 http://10.100.46.7:2380
Added member named etcd-offline-7 with ID f61051e7f96e81f2 to cluster
ETCD_NAME="etcd-offline-7"
ETCD_INITIAL_CLUSTER="etcd-offline-6=http://10.100.46.6:2380,etcd-offline-10=http://10.100.46.10:2380,etcd-offline-7=http://10.100.46.7:2380"
ETCD_INITIAL_CLUSTER_STATE="existing"
46.7에서 설정을 수정하고docker 용기docker-compose up을 시작합니다
version: '2'
services:
etcd:
container_name: etcd-offline-7
image: registry.cn-hangzhou.aliyuncs.com/coreos_etcd/etcd:v3
network_mode: "host"
ports:
- "2379:2379"
- "2380:2380"
environment:
- TZ=CST-8
- LANG=zh_CN.UTF-8
command:
/usr/local/bin/etcd
-name etcd-offline-7
-data-dir /etcd-data
-advertise-client-urls http://10.100.46.7:2379
-listen-client-urls http://10.100.46.7:2379,http://127.0.0.1:2379
-initial-advertise-peer-urls http://10.100.46.7:2380
-listen-peer-urls http://10.100.46.7:2380
-initial-cluster-token xingchen
-initial-cluster etcd-offline-6=http://10.100.46.6:2380,etcd-offline-7=http://10.100.46.7:2380,etcd-offline-10=http://10.100.46.10:2380
-initial-cluster-state existing
volumes:
- "/data/etcd/data:/etcd-data"
46.10에서 새로운 집단 상태를 보니 이미 세 노드였다.
3 노드 상태
[root@localhost etcd]# ./etcdctl --endpoint http://10.100.46.6:2379 member list
3bf8c1715d31b529: name=etcd-offline-6 peerURLs=http://10.100.46.6:2380 clientURLs=http://10.100.46.6:2379 isLeader=false
51430d988a335e3c: name=etcd-offline-10 peerURLs=http://10.100.46.10:2380 clientURLs=http://10.100.46.10:2379 isLeader=true
f61051e7f96e81f2: name=etcd-offline-7 peerURLs=http://10.100.46.7:2380 clientURLs=http://10.100.46.7:2379 isLeader=false
단일 노드를 시작할 때 쓴 데이터는 전체 그룹에 자동으로 동기화됩니다!
끝!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
CRD를 통한 사용자 정의 컨트롤러의 예 소개이 항목은 사용자 정의 리소스 정의(CRD)를 사용하여 사용자 정의 컨트롤러를 구현하는 예시를 설명합니다.실시 예로 당사 내에서 개발·이용하는 Etcd as a 서비스의 개요와 구조를 소개합니다. 이 항목은 Etcd...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.