본문 바로가기
cloud/k8s(문제풀이)

[따배쿠CKA -1] cka - ETCD Backup Restore

by mozi2 2022. 8. 3.
반응형

* 반드시 sudo -su // sudo 관리자로서 작업해야 함. 

 

1.    ETCD Backup & Restore (docs keyword: etcd )

Q. 작업 시스템: k8s – master
First, create a snapshot of the existing etcd instance running at https://127.0.0.1:2379 ,
         saving the snapshot to /data/etcd-snapshot.db.
Next, restore an existing, previous snapshot located at /data/etcd-snapshot-previous.db.
 
The following TLS certificates/key are supplied for connecting to the server with etcdctl:

CA certificate: /etc/Kubernetes/pki/etcd/ca.crt
Client certificate: /etc/Kubernetes/pki/etcd/server.crt
Client key: /etc/Kubernetes/pki/etcd/server.key

1) snapshot 만들기

  docs : Securing etcd Clusters

*Template*
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>

*solve*
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 /data/etcd-snapshot.db.

2) 특정경로에 있는 스냅샷 이미지를 쿠버네티스에 복구 시켜라 

cat /data/etcd-snapshot-previous.db. 
 : 해당 경로에 스냅샷 파일이 있을 것 

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

*solve*
ETCDCTL_API=3 etcdctl \
  --data-dir /var/lib/etcd-new\ 
  snapshot restore /data/etcd-snapshot-previous.db.

:  /data/etcd-snapshot-previous.db. 의 스냅샷을 " /var/lib/etcd-new/ (임의의 경로) 에 스냅샷을 푼다. 

: etcd-new 가 새로운 저장공간임을 알려줌 

 

3) 스냅샷 이미지가 잘 적용되었는지 확인

sudo tree /var/lib/etcd-new

4)  현재 동작중인 etcd - pod 에 etcd-new가 새로운 데이터 저장소임을 알려줘야 함. 

etcd pod 는 static pod의 형태로 작동중임

static pod 는 해당 경로에 yaml파일 형태로 있음.

cd /etc/kubernetes/manifests/

5) etcd pod 에 변경된 etcd 경로로 지정 

hostPath 의 path 에 새로운 경로를 지정해주면 됨. 

vi /etc/kubernetes/manifests/etcd.yaml

***
path: /var/lib/etcd-new
***

: static pod의 경우 파드를 수정하면 자동으로 반영된다. (restart)

: 따라서, 잘 적용되었는지 확인만 하면된다. 

 

6) up 상태 확인

: Exited 된 이후 UP 이 되면 됨. (시간 소요 됨)

docker ps -a | grep etcd 

 

 

문제 해결 docs: https://kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/

 

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 those data. You can find in-depth information

kubernetes.io

* 본 게시글은 "TTABAE-LEARN" 을 보고 정리한 내용입니다.

 

 

728x90
반응형

'cloud > k8s(문제풀이)' 카테고리의 다른 글

[따배쿠CKA-3]Static-Pod 생성하기  (1) 2022.08.03
[따배쿠CKA-2] Pod 생성하기  (0) 2022.08.03
[k8s] CoreDNS in kubeernetes  (0) 2022.08.03
[k8s] Service Networking  (0) 2022.08.03
[cka]Network- Networking weave  (0) 2022.08.03