Devsecops

etcd 본문

Kubernetes/etcd

etcd

Futurism 2023. 3. 8. 14:43
728x90

etcd

- master 시스템에 있는 저장소

- 현재 k8s의 상태 정보 저

- kublet 내 CAdvisor로 부터 받아온 정보를 저장

- key - value 형태로 저장

- 어떤 명령이 들어 오고 작업을 할 때 그 과정을 저장한다

- 현재 운영되고있는 k8s에 대한 모든 운영 정보가 저장 되어있다

- 기본적으로 Memory에 저장

-  /var/lib/etcd 파일에 따로 하나 더 DB형태로 보관

- static pod 형태로 동작(API 서버 없이 특정 노드의 kubelet 데몬에 의해 관리되는 pod)

etcd가 손상될경우

- 모든 서비스를 할 수 없다.

- 이와 같은 경우를 대비하기 위해 고가용성을 유지해야 한다

고가용성 유지법

- 동일한 etcd를 여러가 가지고 있어야 함

- 기본 3개 이상 유지

- Master node 를 3개 이상 유지 한다는 뜻

- 이와같은 특징으로 분산된 key-value 형태의 데이터 스토리지

etcd backup

- 별도의 파일을 snapshot해서 보관

- snapshot 파일을 restore를 통해서 복원

복원 과정

- snapshot 파일을 별도의 DB파일로 복원

- etcd pod의 구성정보를 복원된 DB위치로 수정

관련 명령어

- kubectl get pod -n kube-system    (Name Space 에서 동작되고 있는 pod를 보여줘)

 kube-system : k8s를 실제로 동작시키는, 동작되는데 필요한 pod, 볼륨 등이 운영되고 있는 Name Space

 

- etcd --version // etcdctl version

 etcd 버전 정보 출력

 

- etcdctl snapshot save < snapshot filename >

 

728x90