•
쿠버네티스에서 필요한 모든 데이터를 키-값 형태로 저장하는 데이터베이스
•
etcd가 다운되면 모든 컴포넌트가 미아가 되기 때문에 가용성이 매우 중요
•
클러스터링하여 분산 실행하는 RSM (Replicated State Machine) 구조
•
기본포트 : 2379
•
kube-apiserver만 유일하게 etcd에게 요청이 가능함
ETCDctl
•
etcd를 다루기 위한 유틸리티
•
api version2와 3이 있음 (설정이 없으면 기본적으로 v2를 사용)
•
ETCDCTL이 ETCD API Server에 인증할 수 있도록 인증서 파일 경로 지정 필요
# etcd pod 상세 확인
kubectl describe pod etcd-minikube -n kube-system
# ETCDctl로 클러스터 정보 조회
# etcd pod로 shell 실행
kubectl exec -it \
-n kube-system etcd-minikube \
-- sh -c 'ETCDCTL_CACERT=/var/lib/minikube/certs/etcd/ca.crt \
ETCDCTL_CERT=/var/lib/minikube/certs/etcd/peer.crt \
ETCDCTL_KEY=/var/lib/minikube/certs/etcd/peer.key \
ETCDCTL_API=3 \
etcdctl \
get \
--keys-only \
--prefix=true \
"/registry/pods/"'
kubectl -n kube-system exec -it etcd-minikube -- /bin/sh
# member 조회
ETCDCTL_API=3 etcdctl \
--cacert=/var/lib/minikube/certs/etcd/ca.crt \
--cert=/var/lib/minikube/certs/etcd/peer.crt \
--key=/var/lib/minikube/certs/etcd/peer.key \
put Name wlstmd
ETCDCTL_API=3 etcdctl \
--cacert=/var/lib/minikube/certs/etcd/ca.crt \
--cert=/var/lib/minikube/certs/etcd/peer.crt \
--key=/var/lib/minikube/certs/etcd/peer.key \
get Name
# 모든 값 출력
ETCDCTL_API=3 etcdctl \
--cacert=/var/lib/minikube/certs/etcd/ca.crt \
--cert=/var/lib/minikube/certs/etcd/peer.crt \
--key=/var/lib/minikube/certs/etcd/peer.key \
get / --prefix --keys-only
Shell
복사