티스토리 뷰

cka

kubernetes [CKA] - ETCD Backup & Restore

타올이 2023. 6. 5. 13:57
반응형

# ETCD (리더 기반 분산 시스템)

etcd는 Kubernetes에서 사용하는 중요한 데이터 저장소입니다. 

모든 파일은 etcd 데이터베이스 파일에 보관 : /var/lib/etcd

이는 클러스터의 데이터를 저장하고 관리하는 데 사용되는 분산 키-값 스토어이며, 대부분의 클러스터 관련 설정과 상태를 저장합니다.

 

-분산 데이터 저장소: etcd는 분산 시스템으로서, 데이터의 일관성과 내고장성을 보장합니다. 즉, 여러 노드에 데이터를 복제하여 시스템의 어느 부분이 실패하더라도 데이터가 유실되지 않도록 합니다.

-강력한 일관성: etcd는 선형화 가능한 읽기와 쓰기를 제공합니다. 이는 분산 시스템에서 데이터의 일관성을 유지하는 데 중요합니다.

-키-값 저장소: etcd는 키-값 쌍을 저장하는 간단한 인터페이스를 제공합니다. 이는 여러 종류의 데이터를 저장하고 조회하는 데 사용됩니다.

# 동작중인 etcd 버전 확인
ctcd --version

# etcd 툴의 설치 여부 확인
etcdctl version

 

1. ETCD 백업

etcdctl 도구를 사용하여 스냅샷을 만듭니다. 이때, ETCD API 버전이 3인 것을 확실히 해야 합니다.

https://kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/#backing-up-an-etcd-cluster

 

Operating etcd clusters for Kubernetes

etcd is a consistent and highly-available key value store used as Kubernetes' backing store for all cluster data. If your Kubernetes cluster uses etcd as its backing store, make sure you have a back up plan for the data. You can find in-depth information a

kubernetes.io

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>

trusted-ca-file 확인

ps -ef | grep kube | grep trusted-ca-file

cert-file 확인

ps -ef | grep kube | grep cert-file

key-file 확인

ps -ef | grep kube | grep key-file

 

2. DELETE

kubectl get pods

kubectl delete deployment ####

kubectl get pods

 

3. ETCD 복원

ETCDCTL_API=3 etcdctl snapshot restore --data-dir <data-dir-location> snapshotdb

Pod 다시 시작

sudo vi/etc/kubernetes/manifests/etcd.yaml

...
-hostPath:
	# 경로수정
	Path:/var/lib/etcd-new
    type:
 ...

docker 명령으로 etcd 가 restart가 되었는지 확인

sudo docker ps -a | grep etcd

# 복원되었는지 확인
kubectl get pods

 

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
링크
글 보관함