DevOps/Kubernetes

[Kubernetes] Kubernetes etcd backup 과 restore 설명과 실습

kimc 2024. 10. 9. 21:20
반응형

[Kubernetes] Kubernetes etcd backup 과 restore 설명과 실습


```

[k8s] 쿠버네티스 etcd 백업과 복원 설명과 실습

```

이번 글을 통해 배워갈 내용

  1. etcd 설명
  2. etcd 백업 및 복원 이유
  3. etcd 백업 및 복원 실습

1. etcd 설명

etcd는 kubernetes에서 핵심 데이터 분산 키-값 저장소입니다.

즉 etcd는 클러스터의 상태를 관리하는 데이터베이스입니다.

 

클러스터 내 모든 노드와 서비스 상태,

배포된 pod 관련 정보

kubernetes 리소스 간에 관계등을 저장합니다.


2. etcd 백업 및 복원 이유

클러스터를 업데이트하거나 업그레이드할 때, 시스템 장애가 발생했을 때,

재해 복구가 필요하게 되면 etcd 백업데이터를 사용해서 클러스터의 상태를 복원할 수 있습니다.


3. etcd 백업 및 복원 실습

백업

# etcdctl endpoint 찾기
ps -aux | grep kube-apiserver
# 백업 폴더 생성
mkdir /backup
# ETCDCTL_API 버전을 3으로 설정하고, 
# 백업 생성 (위에서 찾은 엔드포인트 및 정보 사용)
ETCDCTL_API=3 etcdctl snapshot save /backup/etcd-backup.db \
  --endpoints=https://127.0.0.1:2379 \
  --cert=/etc/kubernetes/pki/etcd/server.crt \
  --key=/etc/kubernetes/pki/etcd/server.key \
  --cacert=/etc/kubernetes/pki/etcd/ca.crt

 

복원

# /backup/etcd-backup.db에 위치한 스냅샷을 /var/lib/etcd-restore 에 복원
ETCDCTL_API=3 etcdctl snapshot restore /backup/etcd-backup.db --data-dir /var/lib/etcd-restore

 

# etcd가 데이터를 /var/lib/etcd 디렉터리에서 실행할수있도록
# 해당 파일에서 다음과 같이 --data-dir 경로를 설정

nano /etc/kubernetes/manifests/etcd.yaml

# 아래 내용을 수정
- --data-dir=/var/lib/etcd-restore

 

 


 

읽어주셔서 감사합니다

 

무엇인가 얻어가셨기를 바라며

 

오늘도 즐거운 코딩 하시길 바랍니다 ~ :)

 

참조 및 인용

https://kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/#securing-communication

 

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

 

반응형