OpenShift etcd 백업 및 복원 절차 > OpenShift 자료실

본문 바로가기

사이트 내 전체검색

뒤로가기 OpenShift 자료실

OpenShift etcd 백업 및 복원 절차

페이지 정보

작성자 PaaSM 작성일 21-01-05 13:35 조회 7,507 댓글 0

본문

* Platform Version : Redhat OpenShift 3.9

1. etcd란
분산된 시스템 또는 클러스터의 설정을 공유하는 서비스 검색 및 스케줄러 조정을 위한 오픈소스이다.
분산형 키-값으로 저장소이며, etcd는 호스트에 스케줄링 되는 작업을 조정하며, 컨테이너에 대한 오버레이트 네트워킹 설정을 지원한다.

쿠버네티스와 etcd
쿠버네티스의 기본 데이터 저장소인 etcd는 모든 쿠버네티스 클러스터의 상태를 저장하고 복제한다. etcd는 쿠버네티스 클러스터를 구성하는 필수 요소이며 데이터들은 persistent 하게 저장된다.

etcd 는 컨테이너 오케스트레이션을 위한 쿠버네티스의 기본 데이터 저장소이며, 클라우드 네이티브 애플리케이션은 etcd를 사용함으로써 더욱 일광성 있는 가동 시간을 유지한다. 애플리케이션은 etcd에 데이터를 읽고 쓰며, 이를 통해 설정 데이터를 배포하여 노드 설정에 대한 이중화 및 복구를 제공한다.

2. etcd 백업 절차
 2.1. etcd 스냅 샷 캡처
 etcd의 현재 상태를  저장하기 위해 스냅 샷 캡처를 한다.
 # mkdir -p backup/etcd-$(date +%Y%m%d)
 # etcdctl3 snapshot save /var/lib/etcd/snapshot.db
 
 * etcd 환경 변수 및 인증서 적용 *
 # export ETCDCTL_API=3
 # source /etc/etcd/etcd.conf

 # etcdctl --cert=$ETCD_PEER_CERT_FILE \
  --key=$ETCD_PEER_KEY_FILE \
  --cacert=$ETCD_TRUSTED_CA_FILE \
  --endpoints=$ETCD_LISTEN_CLIENT_URLS \
    snapshot save snapshot.db

3. etcd 복원 절차
 3.1. etcd 구성원 서비스 중지
 모든 etcd 구성원에서 etcd, master-api, master-controllers 서비스를 중지한다.
 # system stop etcd.service atomic-openshift-master-api atomic-openshift-master-controllers
 

 3.2. etcd 데이터 삭제
 etcd 복원 절차를 수행 할 노드에서 데이터를 다시 생성하므로 이전 데이터를 삭제한다.
 # rm -r /var/lib/etcd

 3.3. etcd 복원
 etcd 스냅샷 복원 명령을 실행하여 파일의 값을 복원 시킨다.
 # etcdctl3 snapshot restore backup/etcd-20200729/db --data-dir /var/lib/etcd --name master1.test.com --initial-cluster "master1.test.com=https://192.168.88.211:2380" \ --initial-cluster-token="etcd-cluster-1" --initial-advertise-peer-urls=https://192.168.88.211:2380
 
 * 인증서 및 키 적용 *
 # etcdctl  --cert=$ETCD_PEER_CERT_FILE \
    --key=$ETCD_PEER_KEY_FILE \
    --cacert=$ETCD_TRUSTED_CA_FILE \
    snapshot restore snapshot.db \
    --name $ETCD_NAME \
    --initial-cluster $ETCD_INITIAL_CLUSTER \
    --initial-cluster-token $ETCD_INITIAL_CLUSTER_TOKEN \
    --initial-advertise-peer-urls $ETCD_INITIAL_ADVERTISE_PEER_URLS

 3.4. 파일 권한 및 컨텍스트 설정
 # chown -R etcd:etcd /var/lib/etcd/
 # restorecon -Rv /var/lib/etcd

 3.5. etcd 서비스 시작 및 상태 확인
 # systemctl start etcd
 # systemctl status etcd

 3.6. OpenShift 서비스 시작
 각 마스터에서 master-api, master-controolers 서비스를 시작한다.
 # systemctl start atomic-openshift-master-api atomic-openshift-master-controllers

 3.7. etcd 상태 체크
 # ETCD_ALL_ENDPOINTS=` etcdctl3 --write-out=fields  member list | awk '/ClientURL/{printf "%s%s",sep,$3; sep=","}'`
 # etcdctl3 --endpoints=$ETCD_ALL_ENDPOINTS  endpoint status  --write-out=table

 3.8 클러스터 상태 확인
 # oc get nodes,pods -n kube-system

댓글목록 0

등록된 댓글이 없습니다.

Copyright © 소유하신 도메인. All rights reserved.

사이트 정보

회사명 : (주)리눅스데이타시스템 / 대표 : 정정모
서울본사 : 서울특별시 강남구 봉은사로 114길 40 홍선빌딩 2층 / tel : 02-6207-1160
대전지사 : 대전광역시 유성구 노은로174 도원프라자 5층 / tel : 042-331-1161

PC 버전으로 보기