안녕하세요.
CKA 시험 유형 중 하나인 ETCD 백업 및 복구 테스트 문제를 풀어보도록 하겠습니다.
저의 쿠버네티스 환경은 minikube로 etcd백업 및 복구 테스트를 진행할 수 없어
KodeKloud Mock Exam2 풀이를 통해 ETCD 백업 및 복구 테스트하는 방법에 대해 알아보겠습니다.
문제 1. Take a backup of the etcd cluster and save it to /opt/etcd-backup.db.
etcd 데이터베이스 백업 환경 변수를 설정하여 etcdctl을 사용할 수 있도록 환경을 구성합니다.
#etcdctl이 사용하는 버전
export ETCDCTL_API=3
#etcd 설정 파일이 위치한 디렉토리로 이동
cd /etc/kubernetes/manifests
해당 명령어를 통해 ETCD 구성 파일을 확인합니다.
etc/kubernetes/kpi/etcd 경로를 보면 내가 설정해야 하는 cert 파일을 확인할 수 있습니다.
아래 명령어를 통해 현재 etcd의 내용을 특정 경로 확인하여 백업할 수 있습니다.
cat etcd.yaml
etcd 데이터베이스의 스냅샷을 생성하여 파일에 저장합니다.
- -cacert, -cert, -key: 각각 etcd 서버의 인증서와 키 파일을 사용하여 인증
- snapshot save /opt/etcd-backup.db: etcd 데이터베이스의 스냅샷을 /opt/etcd-backup.db 파일에 저장
ETCDCTL_API=3 etcdctl --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key snapshot save /opt/etcd-backup.db
Snapshot saved at /opt/etcd-backup.db
추가 예상 문제) 그렇다면 Restore는 어떻게 할까?
아래 명령어는 은 로컬 시스템에 있는 etcd 데이터베이스 스냅샷 파일 (/opt/etcd-backup.db)을
사용하여 etcd 클러스터를 Restore하는 명령어입니다.
ETCDCTL_API=3 etcdctl --endpoints 127.0.0.1:2379 snapshot restore /opt/etcd-backup.db
- -endpoints 127.0.0.1:2379: 이 옵션은 etcd 클러스터에 연결할 엔드포인트를 지정합니다. 여기서는 로컬 호스트의 2379 포트에 있는 etcd 인스턴스에 연결하고 있습니다.
- snapshot restore /opt/etcd-backup.db: 이 명령은 etcd 데이터베이스의 Restore를 수행합니다.
- /opt/etcd-backup.db에 있는 스냅샷 파일을 사용하여 etcd 데이터베이스를 Restore 합니다.
8e9e05c52164694d라는 식별자를 가진 새로운 멤버가 http://localhost:2380 주소로
클러스터의 cdf818194e3a8c32에 추가되었습니다.
이는 복원된 데이터베이스의 구성에서 새로운 멤버가 클러스터에 성공적으로 추가되었음을 확인할 수 있습니다.
'DevOps > k8s' 카테고리의 다른 글
[K8s] JSONPATH 활용하여 원하는 데이터 확인하기 (0) | 2023.11.16 |
---|---|
[CKA] Namespace 내에 Service Account 생성 → Role 생성→ RoleBinding (0) | 2023.11.16 |
[K8s]LivenessProbe 실습할 때 생길 수 있는 트러블 슈팅 (0) | 2023.07.27 |
[K8s] Kubernetes LivenessProbe와 ReadinessProbe와 어플리케이션 안정성 강화하기 (0) | 2023.07.27 |
[K8s] Kubernetes(K8s)의 기본 개념과 용어: POD, 서비스, kubelet (2) | 2023.07.27 |