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://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