일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- DHCP
- Redistribute
- vrrp
- crontab
- 라우터
- ripng
- 스위치
- eigrpv2
- eigrp
- ipv6
- stp
- 헤더
- CKA
- OSPF
- ACL
- ospfv3
- tunneling
- Chrony
- OSI 7 layer
- rip
- Vlan
- 장비
- GLBP
- 명령어
- NAT
- Etherchannel
- Inter VLAN
- Today
- Total
Net Eng
[CKA] - etcd Backup & Restore 본문
[선수 지식]
* POD(etcd) : kubectl get pods -n kube-system
* Static Pod(etcd) : /etc/kubenetes/manifests/etcd.yaml
* volume : /var/lib/etcd/ -- volume mount --> /var/lib/etcd
[선수 작업]
- 작업 디렉토리 생성
mkdir -p /data
- 백업본 생성
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-previous.db
[문제]
Q. 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 etcctl:
CA certificate: /etc/kubernetes/pki/etcd/ca.crt
Client certificate: /etc/kubernetes/pki/etcd/server.crt
Client key: /etc/kubernetes/pki/etcd/server.key
작업 노드: master
[풀이]
kubectl config current-context
* 현재 컨텍스트 확인
ssh k8s-master
* 작업 시스템으로 접속
etcdctl version
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
* etcd 백업
sudo ls -l /data/etcd-snapshot.db
* 백업 내용 확인
sudo ETCDCTL_API=3 etcdctl snapshot restore \
--data-dir /var/lib/etcd-previous \
/data/etcd-snapshot-previous.db
* etcd 복구
tree /var/lib/etcd-previous
* 복구 내용 확인
sudo vi /etc/kubernetes/manifests/etcd.yaml
* etcd Pod의 설정 변경
[수정전]
volumes:
- hostPath:
path: /etc/kubernetes/pki/etcd
type: DirectoryOrCreate
name: etcd-certs
- hostPath:
path: /var/lib/etcd
type: DirectoryOrCreate
name: etcd-data
[수정후]
volumes:
- hostPath:
path: /etc/kubernetes/pki/etcd
type: DirectoryOrCreate
name: etcd-certs
- hostPath:
path: /var/lib/etcd-previous
type: DirectoryOrCreate
name: etcd-data
* 파일 수정
ps -ef | grep etcd
* etcd pod 확인
[참고]
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 the data. You can find in-depth information a
kubernetes.io
'Cloud > Kubernetes' 카테고리의 다른 글
[CKA] - Deployment & Pod Scale (0) | 2024.01.19 |
---|---|
[CKA] - Side-car Container Pod 생성하기 (0) | 2024.01.19 |
[CKA] - Multi-Container Pod 생성하기 (0) | 2024.01.19 |
[CKA] - Static Pod 생성하기 (0) | 2024.01.18 |
[CKA] - Pod 생성하기 (0) | 2024.01.18 |