CKA 공부 43일차
in Devops on Kubernetes
ETCD in HA
- ETCD HA Mode에 대해서 알아보자.
ETCD
HA Mode에 대하여 알아보기 전에, ETCD를 간략히 요악하고 가자.
ETCD는 분산되고 신뢰할 수 있는 간단하고, 보안에 강하며 빠른 Key-Value 저장소이다.
Distribute
분산 저장을 위해 ETCD는 같은 정보를 가진 복제본을 만든다.
만약 두 개의 Write 요청이 서로 다른 ETCD 인스턴스에 요청이 들어왔다면 어떻게 처리할까?
우선 3개의 노드 중 하나의 Leader를 선출한다. 그리고 그 노드는 리더가 되어 다른 노드에게 복제본을 복사해준다.
Write 요청이 Follwer에게 들어오면 Follwer는 이 요청을 리더에게 전달하고 리더는 해당 내용을 Follwer들에게 복사본 데이터를 전달한다.
ETCD의 Leader 선출 알고리즘 - RAFT
세 개의 노드가 있다고 가정하자.
RAFT 알고리즘은 랜덤한 타이머를 정해놓고 서로 다른 노드에게 투표를 하는데, 그 중 가장 많은 득표를 받은 노드가 리더가 된다.
만약 선출된 리더의 요청을 못받는 경우라면 위의 경우를 두 노드가 실행하여 득표를 받은 노드가 리더가 되며 이 과정을
RE-Election
이라고 부른다.클러스터 내에서 반드시 동작하고 있어야하는 노드의 수를
Quorum
이라고 부른다.Quorum = N/2 + 1 (계산식)
ETCDCTL
kubectl과 마찬가지로 ETCD를 조작하기 위한 ETCDCTL 명령어가 있다.
etcdctl put name harry
와 같이 key, vaule를 저장할 수 있다.사용법은 레디스의 그것과 유사하다고 생각하면 되겠다.