Kubernetes Cluster가 정상적으로 동작하기 위해서는 현재 상태 정보를 저장하고 관리하는 데이터 저장소가 필요합니다.
Kubernetes에서 모든 Cluster 정보는 etcd라는 Key-Value Database에 저장됩니다.
예:
Deployment 생성
↓
API Server 요청
↓
etcd 저장
↓
Controller 확인
↓
Pod 생성
즉, Kubernetes Cluster의 모든 중요한 정보는 etcd에 기록됩니다.
| 구성 요소 | 역할 |
|---|---|
| etcd | Cluster 상태 저장 |
| API Server | etcd 접근 관리 |
| Controller Manager | 상태 비교 및 변경 |
| Scheduler | Pod 배치 결정 |
etcd 구조를 이해하면 Kubernetes Backup, Recovery, High Availability 설계의 핵심을 이해할 수 있습니다.
Kubernetes etcd란?
etcd는 분산 Key-Value Database입니다.
Kubernetes에서는 Cluster의 모든 상태 정보를 저장하는 역할을 합니다.
저장 데이터:
- Pod 정보
- Deployment 정보
- Service 정보
- Secret 정보
- ConfigMap 정보
- Namespace 정보
- Node 정보
Kubernetes의 “기억 저장소”라고 볼 수 있습니다.
Kubernetes Architecture에서 etcd 위치
전체 구조:
kubectl
↓
API Server
↓
etcd
↓
Controller Manager
↓
Scheduler
↓
kubelet
etcd는 Control Plane 내부에서 가장 중요한 Component 중 하나입니다.
Kubernetes API Server와 etcd 관계
사용자는 직접 etcd에 접근하지 않습니다.
모든 요청은 API Server를 통해 처리됩니다.
흐름:
사용자 요청
↓
API Server
↓
etcd 저장
↓
상태 변경
↓
Controller 동작
API Server는 Kubernetes의 Gateway 역할을 합니다.
Kubernetes etcd에 저장되는 데이터
etcd에는 Kubernetes Object 정보가 저장됩니다.
예:
Deployment:
replicas: 3
Service:
clusterIP: 10.96.0.1
Secret:
database-password
모든 설정 정보가 저장됩니다.
Kubernetes etcd 동작 방식
etcd는 분산 Database로 동작합니다.
주요 특징:
- Consistency 보장
- Leader 기반 동작
- Distributed Storage
- Watch 기능 지원
Kubernetes는 etcd를 통해 Cluster 상태를 지속적으로 관리합니다.
Kubernetes etcd와 Raft Consensus
etcd는 Raft 알고리즘을 사용합니다.
구조:
etcd Node 여러 개
↓
Leader 선택
↓
데이터 복제
↓
Consistency 유지
High Availability 환경에서 중요합니다.
Kubernetes etcd High Availability 구성
Production Cluster에서는 etcd를 여러 개 구성합니다.
예:
etcd-1
etcd-2
etcd-3
구조:
Leader
↓
Follower 복제
하나의 Node 장애가 발생해도 Cluster 운영이 가능합니다.
Kubernetes Single etcd와 Multi etcd 비교
| 구분 | Single | Multi |
|---|---|---|
| 구성 | 1개 | 3개 이상 |
| 장애 대응 | 낮음 | 높음 |
| 운영 환경 | 개발 | Production |
| 복구성 | 낮음 | 높음 |
Production 환경에서는 Multi 구성 사용이 일반적입니다.
Kubernetes etcd Backup이 필요한 이유
etcd에는 모든 Cluster 상태가 저장됩니다.
만약:
etcd 데이터 손상
↓
Cluster 상태 손실
↓
Resource 복구 어려움
따라서 정기적인 Backup이 필요합니다.
Kubernetes etcd Backup 방법
Snapshot 방식으로 Backup합니다.
예:
etcdctl snapshot save backup.db
결과:
Snapshot saved
Cluster 상태를 파일 형태로 저장합니다.
Kubernetes etcd Backup 확인
Snapshot 상태 확인:
etcdctl snapshot status backup.db
확인:
- Revision
- Size
- Hash
정상 Backup 여부를 확인합니다.
Kubernetes etcd Restore 과정
장애 발생:
etcd 데이터 손실
↓
Backup 파일 준비
↓
Restore 실행
↓
etcd 재구성
↓
API Server 연결
↓
Cluster 복구
Recovery 절차를 사전에 준비해야 합니다.
Kubernetes etcd와 Disaster Recovery
Enterprise 환경에서는 Backup 전략이 중요합니다.
구조:
자동 Backup
↓
외부 Storage 저장
↓
장애 발생
↓
Restore
↓
서비스 복구
Disaster Recovery Architecture와 연결됩니다.
Kubernetes etcd 보안 관리
etcd에는 민감한 데이터가 저장됩니다.
예:
Secret
↓
Database Password
↓
API Token
따라서 보호가 필요합니다.
관리 항목:
- TLS Encryption
- Access Control
- Backup 암호화
- Network 제한
Kubernetes etcd 성능 관리
etcd 성능은 Cluster 전체 성능에 영향을 줍니다.
관리 항목:
| 항목 | 설명 |
|---|---|
| Disk I/O | 저장 성능 |
| Latency | 응답 속도 |
| Database Size | 데이터 증가 |
| Compaction | 오래된 데이터 정리 |
빠른 Storage가 중요합니다.
Kubernetes etcd 장애 분석
etcd 문제가 발생하면 확인합니다.
상태 확인:
etcdctl endpoint status
Health 확인:
etcdctl endpoint health
확인 항목:
- Leader 상태
- Disk 문제
- Network
- Certificate
Kubernetes etcd와 Monitoring
운영 환경에서는 etcd Metric을 확인해야 합니다.
확인:
- Request Latency
- Leader 변경
- Database Size
- Failed Request
Prometheus와 연동하여 관리합니다.
Kubernetes etcd 운영 전략
Production 환경:
3 Node 구성
↓
자동 Backup
↓
Backup 검증
↓
Monitoring
↓
Restore 테스트
실제 복구 가능한 환경을 만들어야 합니다.
Kubernetes etcd 장점
| 장점 | 설명 |
|---|---|
| 상태 저장 | Cluster 정보 관리 |
| 일관성 | 데이터 보호 |
| Backup 가능 | 복구 지원 |
| 분산 구조 | 고가용성 제공 |
etcd는 Kubernetes의 핵심 데이터 저장소입니다.
자주 묻는 질문
etcd가 삭제되면 Kubernetes가 동작하지 않나요?
기존 실행 중인 Container는 일부 유지될 수 있지만 Cluster 상태 관리가 불가능해집니다.
Secret도 etcd에 저장되나요?
네. Kubernetes Secret 정보도 저장되므로 보안 관리가 중요합니다.
etcd Backup은 얼마나 자주 해야 하나요?
Cluster 변경 빈도와 중요도에 따라 정기적으로 수행해야 합니다.
마무리
Kubernetes etcd는 Cluster 전체 상태 정보를 저장하는 핵심 Database입니다.
| 구성 요소 | 역할 |
|---|---|
| etcd | 상태 저장 |
| API Server | 접근 관리 |
| Raft | 데이터 일관성 유지 |
| Snapshot | Backup·Recovery |
etcd 구조를 이해하면 Kubernetes Backup, High Availability, Disaster Recovery 설계를 이해하는 기반이 됩니다.
다음 글에서는 Kubernetes 요청 처리의 중심 Component인 Kubernetes API Server 완벽 가이드! Cluster 통신과 인증 처리 구조 이해하기를 진행하겠습니다.