반응형
ETCD 란
- Coreos가 만든 분산 key:value 형태의 데이터 스토리지
- 쿠버네티스 클러스터의 정보를 저장(memory)해서 사용
- 모든 etcd 데이터는 etcd 데이터베이스 파일에 보관 : /var/lib/etcd
- etcd 관리 명령
- etcdctl
ETCD backup
- mater의 장애와 같은 예기치 못한 사고로 인해 ETCD 데이터베이스가 유실될 경우를 대비해서 Backup API를 제공
ETCDCTL_API=3 etcdctl --endpoints=https://127.0.0.1:2379 \
--cacert=<trusted-ca-file> --cert=<cert-file> --key=<key-file> \
snapshot save <backup-file-location>
ETCD restore
- Snapshot으로 저장한 database파일을 동작중인 etcd에 적용하여 snapshot 생성시점으로 되돌리는 것
ETCDCTL_API=3 etcdctl snapshot restore --data-dir <data-dir-location> snapshotdb
반응형
연습문제
- 작업 클러스터 k8s에서 실행 중인 etcd의 snapshot을 생성하고 snapshot을 /data/dtcd-snapshot.db에 저장하고, /data/etcd-snapshot-previous.db에 있는 기존의 이전 스냅샷을 복원하시오.
- 문제에 etcdctl을 사용하여 서버에 연결하기 위한 다음 TLS 인증서/키가 제공됨.
CA certificate: /etc/kubernetes/pki/etcd/ca.crt
Client certificate: /etc/kubernetes/pki/etcd/server.crt
Client key: /etc/Kubernetes/pki/etcd/server.key
backup
아래와 같이 backup 명령어에 키값을 채워놓고 실행하면 됨
sudo ETCDCTL_API=3 etcdctl --endpoints=https://127.0.0.1:2379 \
--cacert=/etc/kubernetes/pki/etcd/ca.crt \
--cert=/etc/kubernetes/pki/etcd/server.crt \
--key=/etc/kubernetes/pki/etcd/server.key \
snapshot save /data/etcd-snapshot.db
restore
sudo ETCDCTL_API=3 etcdctl --data-dir=/var/lib/etcd-previous snapshot restore /data/etcd-snapshot-previous.db
restore후 /etc/kubernetes/manifests/etcd.yaml에서 etcd의 디렉토리를 restore한 디렉토리 경로인 /var/lib/etcd-previous로 바꿔야함.
Thank you!
반응형
'Tools > Kubernetes' 카테고리의 다른 글
[CKA 도전 시리즈] 5. RBAC 인증 (1) | 2023.01.13 |
---|---|
[CKA 도전 시리즈] 4. kubernetes upgrade (0) | 2023.01.12 |
[CKA 도전 시리즈] 2. 쿠버네티스 아키텍처 (시험환경) (0) | 2023.01.07 |
[CKA도전 시리즈] 1. CKA 소개 (0) | 2022.12.18 |
[Kubernetes Error] Helm을 이용하여 gitlab 설치 시 CrashLoopBackOff 발생 (0) | 2022.03.22 |