<aside> 💭 작업 시스템 - 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 CA certificate : /etc/kubernetes/pki/etcd/ca.crt
Client certificate : /etc/kubernetes/pki/etcd/server.crt
Client key : /etc/kubernetes/pki/etcd/server.key
</aside>
etcd 스냅샷 파일 저장 위치 : /data/etcd-snapshot.db
이미 만들어져있는 스냅샷 : /data/etcd-snapshot-previous.db
데이터베이스 공간으로 옮겨줘야하는데, etcd 디렉토리를 쓰면안된다. ( 현재 사용하고 있기 때문에 오버라이드 불가)
그렇기 때문에 var/lib/etcd-blahblah 로 옮겨야 한다.
치트시트 (참고) :https://kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/#backing-up-an-etcd-cluster
환경 설정
k8s-master 에서 하라고 했으니 그 위치를 확인해본다. 시험에서 간혹 현재 운영중인 쿠버네티스 환경에서 해라 ~ 라고 할 수 도있으니 다음과 같은 명령이 필요하다.
kubectl config current-context
만약 k8s-master 가 아니라면,
ssh k8s-master
그리고 현재 사용중인 유저가 root 가 아니라면 sudo 를 앞에 붙이거나, sudo -i 로 변경해줘야한다.
백업을 해보자.
controlplane $ sudo tree /var/lib/etcd
/var/lib/etcd
└── member
├── snap
│ └── db
└── wal
├── 0.tmp
└── 0000000000000000-0000000000000000.wal
3 directories, 3 files
관련 docs
ETCDCTL_API=3 etcdctl --endpoints $ENDPOINT snapshot save snapshot.db
3 버전이라서, 과연 그 버전인지 확인해보자. (( etcd 의 버전을 확인해보자.))