etcd 집단 구축
7647 단어 kubernetesetcd
정적 발견: Etcd 클러스터에 어떤 노드가 있는지 미리 알고 시작할 때 Etcd의 각각의 node 노드 주소를 직접 지정하여 Etcd 동적 발견: 기존의 Etcd 클러스터를 데이터 상호작용점으로 하고 새로운 클러스터를 확장할 때 기존 클러스터를 통해 서비스 발견을 하는 메커니즘인 DNS 동적 발견을 실현한다. DNS 조회 방식을 통해 다른 노드 주소 정보를 얻는다. 여기서 우리는 Static 방식으로 세 대의 기계를 준비한다.ip는 아래와 같다(etcd가 설치되어 있음)
node1 10.211.55.2
node2 10.211.55.25
node3 10.211.55.26
환경 준비 1.node1에서 실행
hostnamectl set-hostname node1
echo "10.211.55.2 node1">> /etc/hosts
echo "10.211.55.25 node2">> /etc/hosts
echo "10.211.55.26 node3">> /etc/hosts
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
2. node2에서 실행
hostnamectl set-hostname node2
echo "10.211.55.2 node1">> /etc/hosts
echo "10.211.55.25 node2">> /etc/hosts
echo "10.211.55.26 node3">> /etc/hosts
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
3. node3에서 실행
hostnamectl set-hostname node3
echo "10.211.55.2 node1">> /etc/hosts
echo 10.211.55.25 node2>> /etc/hosts
echo 10.211.55.26 node3>> /etc/hosts
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
1.1 node1에 들어가서run을 만들고 실행합니다.sh, 스크립트 내용은 다음과 같습니다
yum remove etcd -y
yum install etcd -y
mkdir /etcd
cd /etcd
touch run.sh
cat>/etcd/run.sh<<EOF
#!/usr/bin/env bash
#
ETCD_NAME=node-1
# IP
LOCAL_IP=10.211.55.2
#ETCD
ETCD_DATA_DIR=/usr/local/etcd/data
#
INITIAL_CLUSTER_TOKEN=etcd-cluster
#
INITIAL_CLUSTER="node-1=http://10.211.55.2:2380,node-2=http://10.211.55.25:2380,node-3=http://10.211.55.26:2380"
#
INITIAL_CLUSTER_STATE=new
#
etcd --name \${ETCD_NAME} --data-dir \${ETCD_DATA_DIR} \
--initial-advertise-peer-urls http://\${LOCAL_IP}:2380 \
--listen-peer-urls http://\${LOCAL_IP}:2380 \
--listen-client-urls http://\${LOCAL_IP}:2379,http://127.0.0.1:2379 \
--advertise-client-urls http://\${LOCAL_IP}:2379 \
--initial-cluster-token \${INITIAL_CLUSTER_TOKEN} \
--initial-cluster \${INITIAL_CLUSTER} \
--initial-cluster-state \${INITIAL_CLUSTER_STATE}
EOF
nohup sh run.sh &
etcdctl member list
1.2 node2에 들어가서run을 만들고 실행합니다.sh, 스크립트 내용은 다음과 같습니다
yum remove etcd -y
yum install etcd -y
mkdir /etcd
cd /etcd
touch run.sh
cat>/etcd/run.sh<<EOF
#!/usr/bin/env bash
#
ETCD_NAME=node-2
# IP
LOCAL_IP=10.211.55.25
#ETCD
ETCD_DATA_DIR=/usr/local/etcd/data
#
INITIAL_CLUSTER_TOKEN=etcd-cluster
#
INITIAL_CLUSTER="node-1=http://10.211.55.2:2380,node-2=http://10.211.55.25:2380,node-3=http://10.211.55.26:2380"
#
INITIAL_CLUSTER_STATE=new
#
etcd --name \${ETCD_NAME} --data-dir \${ETCD_DATA_DIR} \
--initial-advertise-peer-urls http://\${LOCAL_IP}:2380 \
--listen-peer-urls http://\${LOCAL_IP}:2380 \
--listen-client-urls http://\${LOCAL_IP}:2379,http://127.0.0.1:2379 \
--advertise-client-urls http://\${LOCAL_IP}:2379 \
--initial-cluster-token \${INITIAL_CLUSTER_TOKEN} \
--initial-cluster \${INITIAL_CLUSTER} \
--initial-cluster-state \${INITIAL_CLUSTER_STATE}
EOF
nohup sh run.sh &
etcdctl member list
1.3 node3에 들어가서run을 만들고 실행합니다.sh, 스크립트 내용은 다음과 같습니다
yum remove etcd -y
yum install etcd -y
mkdir /etcd
cd /etcd
touch run.sh
cat>/etcd/run.sh<<EOF
#!/usr/bin/env bash
#
ETCD_NAME=node-3
# IP
LOCAL_IP=10.211.55.26
#ETCD
ETCD_DATA_DIR=/usr/local/etcd/data
#
INITIAL_CLUSTER_TOKEN=etcd-cluster
#
INITIAL_CLUSTER="node-1=http://10.211.55.2:2380,node-2=http://10.211.55.25:2380,node-3=http://10.211.55.26:2380"
#
INITIAL_CLUSTER_STATE=new
#
etcd --name \${ETCD_NAME} --data-dir \${ETCD_DATA_DIR} \
--initial-advertise-peer-urls http://\${LOCAL_IP}:2380 \
--listen-peer-urls http://\${LOCAL_IP}:2380 \
--listen-client-urls http://\${LOCAL_IP}:2379,http://127.0.0.1:2379 \
--advertise-client-urls http://\${LOCAL_IP}:2379 \
--initial-cluster-token \${INITIAL_CLUSTER_TOKEN} \
--initial-cluster \${INITIAL_CLUSTER} \
--initial-cluster-state \${INITIAL_CLUSTER_STATE}
EOF
nohup sh run.sh &
etcdctl member list
상기 절차를 통해 etcd의 설정을 완성하였다
2.1 etcd 웹 관리단 구축
docker run --rm -d --name etcd-browser \
-p 8000:8000 \
--env ETCD_HOST=10.211.55.25 \
--env ETCD_PORT=2379 \
buddho/etcd-browser
방문http://10.211.55.25:8080/etcdkeeper/, etcd 주소를 입력하면 성공합니다
2.2 etcdkeeper 구축
docker run -it -d --name etcdkeeper \
-p 8080:8080 \
deltaprojects/etcdkeeper
방문http://10.211.55.25:8080/etcdkeeper/, etcd 주소를 입력하면 성공합니다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
vagrant + CoreOS에서 kubernetes guestbook 샘플 이동제목대로 kubernetes의 guestbook 샘플을 먼저 움직이는 것이 목적입니다. kubernetes의 문서대로 움직였기 때문에 정리했습니다. Gentoo (linux-4.7.0-rc7) curl git vag...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.