ETCD In Kubernetes

Yu Sang Min·2025년 5월 15일

CKA

목록 보기
1/110
post-thumbnail

📌 etcd란?

  • key-value store
  • 클러스터에 관한 정보를 저장하는 공간
  • Nodes, Pods, Configs, Secrets, Accounts, Roles, Bindings, Others
  • kubectl 을 실행할때 얻는 모든 정보는 etcd 서버 참조
  • 작업시 (Node 추가, Pod 배포 등) etcd 서버에 업데이트 될 때 완료된것으로 간주됨

🔨 etcd 서버 구축

  1. 처음 부터 구축해보기
  • 바이너리를 직접 다운로드 하고 배포
  • 마스터노드에 바이너리 설치하고 서비스 구성
  • 서비스는 인증서와 관련이 있음
  • etcd 서버 IP와 2379포트는 Pod가 리슨하는 기본포트
  • kube-apiserver에서 구성되어야할 URL(다른 서버에 도달할때 필요)
  1. kubeadm 이용하기
  • kubeadm을 이용해 클러스터를 설정하면 kube-system namespace에 기타 서버를 배포 (Pod 형태로)
  • 쿠버네티스가 저장한 모든 키를 확인하려며 Get 명령어 사용
$ kubectl exec etcd-master -n kube-system etcdctl get / --prefix -keys-only
  • 쿠버네티스는 특정 디렉터리 구조에 데이터를 저장
  • 루트 디렉터리는 레지스트리로 그 아래에 다양한 쿠버네티스 구성들이 있다
  • minions, pods, replicasets, deployments, roles, secrets 등

🖥️ ETCD in HA Environment

  • 고가용성 환경에선 클러스터에 마스터 노드가 여러대
  • 마스터 노드 전체에 여러개의 etcd 인스턴스가 퍼지게 됨
  • 이 경우, etcd 서비스 구성에 올바른 매개변수를 설정하여 인스턴스 들끼리 서로 통신 할 수 있게 해야함
profile
React, Node.js, AWS, Git, Github, Github Action, Docker, K8S

0개의 댓글