본문 바로가기
Compute/kubernetis

[CKA] 16. ETCD backup & Restore

by 조청유곽 2025. 1. 14.
반응형

ETCD란? 

etcd는 모든 클러스터 데이터에 대한 Kubernetes의 백업 저장소로 사용되는 일관적이고 가용성이 높은 키 값 저장소

 

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

 


01. ETCD backup & restore

- 문제에서 주어지는 인증서 및 키를 이용하여 snapshot을 만든다. 
- 문제에서 인증서와 키가 주어지지 않는 경우 /etc/kubernetes/manifests/etcd.yaml 을 file로 grep하여 위치를 확인. 

- restore 후에는 host-path의 data-dir를 restore한 경로로 수정해준다.

 

[solve]

: backup 

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>
  
  [root@k8s-master ~]# cat /etc/kubernetes/manifests/etcd.yaml | grep file
    - --cert-file=/etc/kubernetes/pki/etcd/server.crt
    - --key-file=/etc/kubernetes/pki/etcd/server.key
    - --peer-cert-file=/etc/kubernetes/pki/etcd/peer.crt
    - --peer-key-file=/etc/kubernetes/pki/etcd/peer.key
    - --peer-trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt
    - --trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt
    seccompProfile:
[root@k8s-master ~]# 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 /opt/etcd-backup.db

 

: restore 

etcdctl --data-dir <data-dir-location> snapshot restore snapshot.db

[root@k8s-master ~]# etcdctl --data-dir /var/lib/etcd/new snapshot restore /opt/etcd-backup.db
[root@k8s-master ~]# vi /etc/kubernetes/manifests/etcd.yaml

  volumes:
  - hostPath:
      path: /etc/kubernetes/pki/etcd
      type: DirectoryOrCreate
    name: etcd-certs
  - hostPath:
      path: /var/lib/etcd/new  <---- restore 경로로 변경     
      type: DirectoryOrCreate
    name: etcd-data
status: {}

 

 

반응형