Search
Duplicate

ETCD

생성일
2021/05/04 20:39
태그

ETCD in Kubernetes

ETCD Datastore

ETCD 데이터 저장소는 Nodes, PODS, Configs, Secrets, Accounts, Roles, Bindings 등과 같은 클러스터 관련 정보를 저장함
kubectl get 명령을 실행할 때 표시되는 모든 정보는 ETCD Server 에서 가져온 것임

Setup - Manual

클러스터를 처음부터 설정 한 경우 ETCD ETCD 바이너리를 직접 다운로드하여 ETCD를 배포함
바이너리를 설치하고 ETCD를 마스터 노드에서 서비스로 직접 구성함
$ wget -q --https-only "<https://github.com/etcd-io/etcd/releases/download/v3.3.11/etcd-v3.3.11-linux-amd64.tar.gz>"
Plain Text
복사

Setup - Kubeadm

kubeadm 을 사용하여 클러스터를 셋업하면 kubeadm이 kube-system 네임스페이스의 POD로 etcd 서버를 배포함
$ kubectl get pods -n kube-system
Plain Text
복사

Explore ETCD

k8s에 의해 저장된 모든 키를 나열하는 command
$ kubectl exec etcd-master -n kube-system etcdctl get / --prefix -key
Plain Text
복사
k8s는 특정 디렉토리 구조에 데이터를 저장하며, root 디렉토리는 registry 이고, 그 아래에 minions, nodes, pods, replicasets, deployments, roles, secrets 및 기타와 같은 다양한 k8s 구성이 있음.

ETCD in HA Environment

고가용성 환경에서는 클러스터에 여러 개의 마스터 노드가 있으며, 여러 개의 ETCD 인스턴스가 마스터 노드들에 분산되어 있음
etcd.service 구성에서 올바른 매개 변수를 지정하여 etcd 인스턴스가 서로를 알고 있는지 확인해야 함. -initial-cluster 은 etcd 서비스의 여러 인스턴스를 지정해야 함
K8s Reference Docs: