on
Core concept - ETCD
Core concept - ETCD
개인 스터디 목적의 udemy 강의 자료 정리
[ETCD?]
ETCD가 다루는 데이터
ETCD는 key - value 저장 데이터베이스
[Setup]
쿠버네티스 deployment는 scratch로부터 deploy와 kubeadm 툴로부터의 deploy가 있다.
manual
scratch로 클러스터를 setup한다면 마스터 노드에서 직접 ETCD 바이너리를 다운로드, 실행한다.
ETCD 바이너리 다운로드 및 실행 커맨드 옵션
advertise-client-urls 옵션은 ETCD가 설치된 IP주소와 기본 포트인 2379를 기술한다.
이 주소는 etcd 서버와 통신하기 위해 kube-api 서버에 설정되어야하는 URL이다.
kubeadm
kubeadm으로 클러스터를 setup한다면 kubeadm은 ETCD 서버를 kube-system namespace의 pod으로 deploy한다.
※ 쿠버네티스에서 namespace?
더보기 https://kubernetes.io/ko/docs/concepts/overview/working-with-objects/namespaces/ 쿠버네티스는 동일한 물리 클러스터를 기반으로 하는 여러 가상 클러스터를 지원한다. 이런 가상 클러스터를 네임스페이스라고 한다. 네임스페이스는 클러스터 자원을 (리소스 쿼터를 통해) 여러 사용자 사이에서 나누는 방법이다. -> 같은 역할을 하는 pod, object를 관리가 용이하도록 그룹화함 kubectl get namespace NAME STATUS AGE default Active 1d kube-node-lease Active 1d kube-public Active 1d kube-system Active 1d 쿠버네티스는 처음에 네 개의 초기 네임스페이스를 갖는다.
kube-system namespace의 pod을 조회시 etcd-masater pod을 확인할 수 있다.
etcd-masater pod 내에서 etcdctl get 커맨드 실행시 쿠버네티스에서 저장한 데이터 키 등을 확인할 수 있다.
쿠버네티스는 /registry 디렉토리 내에 데이터를 저장한다.
여러 마스터 노드가 존재하고 각 노드마다 ETCD가 존재할 경우 ETCD 실행 옵션 initial-cluster으로 다른 ETCD url, 포트 정보를 명시한다.
from http://wherewereyou.tistory.com/310 by ccl(A) rewrite - 2021-08-13 17:00:20