[Kubernetes] etcd - 1

황시준·2023년 3월 6일
0

Kubernetes

목록 보기
4/12

쿠버네티스를 공부하는데 etcd가 뭔지 몰라 정리한 글이다.

1. etcd란?

클러스터들을 key-value 형태로 저장하는 저장소로
모든 클러스터의 데이터를 담고 있는 Database이다.
고가용성을 위해 여러 곳에 분산되어 동기화 되어 있으며
쿠버네티스 클러스터의 정보를 저장한다.

2. 확인

다음 사진을 보면 etcd-master가 있는걸 확인할 수 있다.

3. etcd?

etcd는 쿠버네티스의 전체적인 정보를 담고 있다.
만약 환경이 바뀌어 etcd가 사라지거나 실수로 etcd가 삭제된다면
기존에 구성했던 환경들이 모조리 삭제되버린다.
이를 방지하기 위해 백업을 주기적으로 해야한다.

4. etcd Backup

etcdctl snapshot save <스냅샷 파일 경로>

저기서 특정 파일을 백업할 수 있다.
아래 명령어를 입력해 파일 경로를 확인하고 파일 경로 확인

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

위의 명령어를 통해 입력 후 앞서 확인한 파일의 스냅샷을 생성한다.

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 member

5. etcd Restore

  1. /var/lib/etcd-new에 스냅샷 파일 복구
  2. 동작중인 etcd pod의 구성정보를 복원된 경로(/var/lib/etcd-new)로 수정
ETCDCTL_API=3 etcdctl \
--data-dir <data-dir-location> \
snapshot restore <snapshot-file-location>
ETCDCTL_API=3 etcdctl \
--data-dir /var/lib/etcd-new \
snapshot restore /tmp/etcd-backup

6. 추가

  1. etcd.yaml: /etc/kubernetes/manifests/etcd.yaml
  2. CA certificate: /etc/kubernetes/pki/etcd/ca.crt
  3. Client certificate: /etc/kubernetes/pki/
  4. Client key: /etc/kubernetes/pki/etcd/server.key

우선은 여기까지 공부하고 다음에 조금 더 자세하게 공부한다.
https://tech.kakao.com/2021/12/20/kubernetes-etcd/

profile
하고싶은게 많은 newbie

0개의 댓글