티스토리 뷰
# ETCD (리더 기반 분산 시스템)
etcd는 Kubernetes에서 사용하는 중요한 데이터 저장소입니다.
모든 파일은 etcd 데이터베이스 파일에 보관 : /var/lib/etcd
이는 클러스터의 데이터를 저장하고 관리하는 데 사용되는 분산 키-값 스토어이며, 대부분의 클러스터 관련 설정과 상태를 저장합니다.
-분산 데이터 저장소: etcd는 분산 시스템으로서, 데이터의 일관성과 내고장성을 보장합니다. 즉, 여러 노드에 데이터를 복제하여 시스템의 어느 부분이 실패하더라도 데이터가 유실되지 않도록 합니다.
-강력한 일관성: etcd는 선형화 가능한 읽기와 쓰기를 제공합니다. 이는 분산 시스템에서 데이터의 일관성을 유지하는 데 중요합니다.
-키-값 저장소: etcd는 키-값 쌍을 저장하는 간단한 인터페이스를 제공합니다. 이는 여러 종류의 데이터를 저장하고 조회하는 데 사용됩니다.
# 동작중인 etcd 버전 확인
ctcd --version
# etcd 툴의 설치 여부 확인
etcdctl version
1. ETCD 백업
etcdctl 도구를 사용하여 스냅샷을 만듭니다. 이때, ETCD API 버전이 3인 것을 확실히 해야 합니다.
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
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>
trusted-ca-file 확인
ps -ef | grep kube | grep trusted-ca-file
cert-file 확인
ps -ef | grep kube | grep cert-file
key-file 확인
ps -ef | grep kube | grep key-file
2. DELETE
kubectl get pods
kubectl delete deployment ####
kubectl get pods
3. ETCD 복원
ETCDCTL_API=3 etcdctl snapshot restore --data-dir <data-dir-location> snapshotdb
Pod 다시 시작
sudo vi/etc/kubernetes/manifests/etcd.yaml
...
-hostPath:
# 경로수정
Path:/var/lib/etcd-new
type:
...
docker 명령으로 etcd 가 restart가 되었는지 확인
sudo docker ps -a | grep etcd
# 복원되었는지 확인
kubectl get pods
'cka' 카테고리의 다른 글
kubernetes [CKA] - rbac 인증 (0) | 2023.06.07 |
---|---|
kubernetes [CKA] - kubernetes update (0) | 2023.06.06 |
kubernetes [CKA] - 멀티 클러스터 정보 (0) | 2023.06.05 |
kubernetes [CKA] - 클러스터 정보 확인 (0) | 2023.06.02 |
kubernetes kubectl get 기본 명령어 (0) | 2023.06.01 |