728x90
반응형
출처
Cloud Native DevOps with Kubernetes / 쿠버네티스를 활용한 클라우드 네이티브 데브옵스
Certified Kubernetes Administrator (CKA) with Practice Tests(Udemy)
ETCD
etcd?
분산 시스템에서 데이터를 저장하고 관리하기 위한 고가용성 키-값 저장소주로 Kubernetes와 같은 클라우드 네이티브 애플리케이션에서 구성 정보를 저장하는 데 사용된다
Replicated state machine(RSM)
Replicated state machine
RSM
분산 시스템에서 상태를 복제하여 일관성을 유지하는 방식
다수의 노드가 클러스터를 구성하고 있는 상황에서 일부 장애가 발생하더라도 전체 시스템은 문제 없이 동작할 수 있도록 작동한다
Kafka의 Apache Zookeeper, etcd 등이 있다
etcd in kubernetes
kubernetes에서 etcd의 기능
노드, pod, Config, Secret, 계정, 권한 등 클러스터 관련 정보를 저장한다
클러스터의 정보가 수정되면(노드 추가, pod 추가 배포) ReplicaSet이 etcd에 업데이트 된다
- 상태저장: kubernetes의 모든 리소스의 현재 상태를 기록한다
- 고가용성: RSM방식으로 장애 발생 시에도 데이터 손실을 방지한다
- 일관성: 클러스터의 상태를 항상 정확하게 반영하므로 클러스터의 모든 구성 요소가 동일한 정보를 바탕으로 동작하도록 한다
- 변경감지: 데이터의 변경 사항을 감지하고 알림을 제공하여 쿠버네티스의 리소스 상태 변경을 실시간으로 반영하는 데 중요한 역할을 한다
- 복원력: 스냅샷 및 복구 기능을 제공하여, 데이터 손실이 발생할 경우 빠르게 복구할 수 있다
Install etcd
etcd 설치
kubeadm을 사용해서 kubernetes를 설치했다면 클러스터에 pod형태로 etcd가 배포된다
그 외에는 바이너리를 다운로드 받아 직접 설정 및 설치를 진행해야 한다
# etcd 바이너리 설치
[root@]$ sudo apt install etcd-client
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
etcd-client
0 upgraded, 1 newly installed, 0 to remove and 13 not upgraded.
Need to get 4575 kB of archives.
After this operation, 15.3 MB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 etcd-client amd64 3.3.25+dfsg-7ubuntu0.22.04.1 [4575 kB]
Fetched 4575 kB in 3s (1460 kB/s)
Selecting previously unselected package etcd-client.
(Reading database ... 31960 files and directories currently installed.)
Preparing to unpack .../etcd-client_3.3.25+dfsg-7ubuntu0.22.04.1_amd64.deb ...
Unpacking etcd-client (3.3.25+dfsg-7ubuntu0.22.04.1) ...
Setting up etcd-client (3.3.25+dfsg-7ubuntu0.22.04.1) ...
Processing triggers for man-db (2.10.2-1) ...
#etcd 설치 확인
[root@]$ etcdctl --version
etcdctl version: 3.3.25
API version: 2
728x90
반응형
'클라우드 > 쿠버네티스' 카테고리의 다른 글
[쿠버네티스] 서비스 (0) | 2024.11.09 |
---|---|
[쿠버네티스] ReplicaSet (0) | 2024.10.27 |
[쿠버네티스] Container Runtime Interface (CRI) (0) | 2024.09.16 |
[클라우드/쿠버네티스] initContainers (1) | 2024.09.11 |
[클라우드/쿠버네티스] 볼륨 (0) | 2024.09.06 |
댓글