본문 바로가기
AEWS2기

1.3 etcd

by yeongki0944 2024. 3. 8.

etcd (How etcd works with and without Kubernetes)

  • Linux에 etcd 설치하기 
curl -LO https://github.com/etcd-io/etcd/releases/download/v3.5.0/etcd-v3.5.0-linux-amd64.tar.gz
tar xzvf etcd-v3.5.0-linux-amd64.tar.gz
cd etcd-v3.5.0-linux-amd64
nohup ./etcd &

 

  • etcd put, get
# etcdctl put <Key> <Value>
./etcdctl put foo bar

# etcdctl get <Key>
./etcdctl get foo

 

  • etcdctl get --write-out=json foo
    • etcdctl get foo 결과에 대한 메타데이터를 json으로 출력하는 명령어

메타데이터 필드 설명
header cluster_id 클러스터의 고유 식별자
member_id 현재 노드의 멤버 ID
각 노드는 클러스터 내에서 고유한 member_id를 가짐
revision key/value 스토어의 현재 revision 번호
key/value 값이 업데이트될 때마다 revision 값이 증가함
raft_term Raft 합의 알고리즘에서 사용되는 현재 Term 번호
kvs



key etcd에 저장된 키 값
Base64 인코딩
create_revision 해당 key/value값 쌍이 생성된 리비전 번호
새로운 key/value 값이 추가될 때마다 해당 값 증가함
mod_revision 해당 key/value값 쌍이 마지막으로 수정된 리비전 번호
새로운 key/value 값이 수정될 때마다 해당 값 증가함
version key/value 쌍이 현재 버전
값이 추가 또는 수정될 때마다 해당 값은 증가함
value key에 대한 값
Base64 인코딩
count 현재 요청에서 반환된 key/value 쌍의 수

https://emn178.github.io/online-tools/base64_decode.html?input=Zm9v%0A

 

https://medium.com/techlog/whats-inside-etcd-a-deep-dive-into-the-kubernetes-world-84a677754c31

https://blog.kubesimplify.com/understanding-etcd-in-kubernetes-a-beginners-guide

https://medium.com/techlog/whats-inside-etcd-a-deep-dive-into-the-kubernetes-world-84a677754c31