강의 : 따배쿠 01. ETCD Backup & Restore
문제
1. 현재 컨텍스트 위치 확인
kubectl config current-context
2. ssh 명령으로 k8s-master 접속하기
ssh k8s-master
3. 권한 확인하기
whoami
user 정보로는 etcd를 백업하거나 복구할 수 없음
sudo 명령어를 사용하거나
sudo -i 명령어를 사용해서 아에 root 권한으로 바꿔서 진행해도됨
시험장 환경에 맞춰서 진행하면 되는데 문제가 어떻게 될지 모르니 sudo 로 진행
4. etcd 파일 확인하기
etcd 파일 위치는 /var/lib/etcd
sudo tree /var/lib/etcd
5. 공식 문서 확인하기
6. 문서 내용 진행하기
etcd 버전 확인하기
etcdctl version
문서에서 아래에 예제 부분을 메모장에 복사
## 예제
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>
## 문제 풀이
## sudo 명령어 사용
## 문제에 있는 내용 입력
sudo 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/etch-snapshot.db
백업이 잘 되었는지 확인하기
sudo ls -l /data/etcd-snapshot.db
Next, 백업파일 Restoring 시켜주기
위의 문서에서 조금만 스크롤 내리면 아래 내용 있음
예제 복사하기
## 예제
ETCDCTL_API=3 etcdctl \
snapshot restore \
--data-dir <data-dir-location> \
snapshotdb
## 문제 풀이
## sudo 붙이기
## <data-dir-location> 부분에 기존 etcd 파일을 덮어쓰지 않게 새로운 파일 위치 입력
## snapshotdb 에 문제에 있는 파일 위치 입력
sudo ETCDCTL_API=3 etcdctl \
--data-dir /var/lib/etcd-previous \
snapshot restore /data/etcd-previous.db
해당 내용으로 etcd가 풀렸는지 확인하기
sudo tree /var/lib/etcd-previous
etcd 에게 변경된 데이터 저장소 위치 알려주기
etcd pod 동작 확인하기
kubectl get pod -n kube-system
cd /etc/kubernetes/manifests/
해당 폴더안에 etcd.yaml 파일이 있는데 이 yaml 파일로 인해서 etcd 가 파드로 동작하고 있는 것임
데이터 저장소 위치 변경하기
sudo vi /etc/kubernetes/manifests/etcd.yaml
제일 하단으로 내려가서
hostPath.path 에 아까 설정한 파일 경로를 입력 후 종료
docker 명령어로 up 상태까지 되었는지 확인하기
sudo docker ps -a | grep etcd
up 상태가 되면 restore 가 완료된것임
반응형
'공부 > CKA' 카테고리의 다른 글
[CKA] Udemy - Troubleshooting - worker node failure 문제풀이 (0) | 2023.05.29 |
---|---|
[CKA] kubectl JSON Path 사용법 (0) | 2023.05.23 |
[CKA] 문제풀이 - Cluster Upgrade - only Master (0) | 2023.05.15 |
[CKA] 문제풀이 - 따배쿠 02. Pod 생성하기 (0) | 2023.05.12 |
[CKA] cka 문제 풀이에 필요한 document 참조 링크 (0) | 2023.05.10 |