[Kubernetes] etcd member

etcd member

etcd member는 etcd 클러스터에서 클러스터에 속한 각 노드를 의미한다. etcd는 분산 키-값 저장소로, 여러 노드(서버)에 데이터를 분산하여 저장하고, 이를 통해 고가용성과 내결함성을 제공한다. 각 노드는 etcd 클러스터의 구성원(member)으로 작동하며, 클러스터가 안정적으로 작동하도록 역할을 수행한다.

etcd member의 역할

  • 데이터 복제: etcd 클러스터 내의 모든 member는 데이터를 동일하게 유지하려고 하며, 이는 Raft Consensus Algorithm을 통해 이루어진다. 하나의 노드에서 데이터를 수정하면, 다른 노드들에 이 변경 사항이 복제된다.
  • 고가용성: 클러스터 내에 여러 개의 member가 있을 때, 하나의 노드가 실패하더라도 다른 노드들이 데이터를 보유하고 있기 때문에 클러스터가 계속 작동할 수 있다.
  • 리더-팔로워: etcd 클러스터는 Raft 알고리즘을 기반으로 작동한다. 클러스터 내에서 한 노드는 리더가 되고, 나머지 노드는 팔로워로 동작한다. 리더는 클러스터에 대한 요청을 처리하고, 이를 팔로워에게 전파한다.

etcd 클러스터에서의 member

etcd 클러스터를 구성하는 각 노드를 etcd member라고 하며, 클러스터를 구성할 때 초기 멤버 리스트를 정의한다. 새 멤버는 클러스터에 추가하거나 기존 멤버를 제거할 수 있다.

예시

  • 3개 노드 클러스터: etcd 클러스터가 3개의 노드로 구성되면, 각 노드는 etcd member로 간주된다. 클러스터의 각 member는 동일한 데이터를 저장하며, 상태 변경은 Raft 알고리즘을 통해 동기화된다.

etcd member 상태 확인

etcd 클러스터의 상태와 member를 확인하려면, etcdctl member list 명령어를 사용할 수 있다.

etcdctl member list

이 명령어는 현재 etcd 클러스터에 있는 모든 member의 상태를 보여준다.

etcd member의 상태

  • Healthy: 노드가 정상적으로 작동하고 있다는 것을 나타낸다.
  • Unhealthy: 노드가 클러스터와 통신하지 못하거나, 데이터를 동기화할 수 없을 때 이 상태로 표시된다.

'kubernetes' 카테고리의 다른 글

[kubernetes] Security Context  (0) 2024.12.16
[kubernetes] CSR  (0) 2024.12.14
[Kubernetes] Multi-Pod Scheduler  (0) 2024.12.12
[kubernetes] Version Upgrade  (0) 2024.12.11
[Kubernetes] 고가용성 토폴로지에 대한 옵션  (0) 2024.12.11