etcd 시작하기: 쿠버네티스와 분산 애플리케이션을 위한 핵심 가이드
2025년 10월 01일 출간
- eBook 상품 정보
- 파일 정보 PDF (6.13MB) | 433 쪽
- ISBN 9791124025499
- 지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
-
교보eBook App
듣기(TTS) 가능
TTS 란?텍스트를 음성으로 읽어주는 기술입니다.
- 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를 읽을 수 있습니다.
- 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
PDF 필기가능 (Android, iOS)
쿠폰적용가 8,910원
10% 할인 | 5%P 적립이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.
카드&결제 혜택
- 5만원 이상 구매 시 추가 2,000P
- 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
- 리뷰 작성 시, e교환권 추가 최대 200원
작품소개
이 상품이 속한 분야
쿠버네티스의 심장은 어떻게 뛰는가?
당신의 분산 애플리케이션에 신뢰성을 더하는 단 하나의 키, etcd
우리는 마이크로서비스와 클라우드의 시대에 살고 있습니다. 수십, 수백 개의 서비스가 복잡하게 얽혀 동작하는 현대적인 시스템에서,
어떻게 이들의 상태를 일관되게 유지하고, 서로를 동적으로 발견하며, 장애 상황에서도 스스로를 치유하게 만들 수 있을까요?
이 모든 질문의 중심에 etcd가 있습니다.
etcd는 오늘날 클라우드 네이티브 생태계의 사실상 표준인 쿠버네티스의 유일한 상태 저장소이자,
수많은 분산 애플리케이션의 두뇌 역할을 하는 핵심 분산 코디네이션 시스템입니다.
etcd를 이해하는 것은 쿠버네티스의 내부 동작 원리를 꿰뚫어 보는 것이며, 안정적인 분산 시스템을 구축하기 위한 필수 역량을 갖추는 것입니다.
이 책은 etcd의 모든 것을 담은 가장 완벽한 실전 가이드입니다.
단순히 API를 나열하는 것을 넘어, etcd가 해결하려는 근본적인 문제에서부터 시작하여 그 핵심 철학과 내부 아키텍처를 깊이 있게 파고듭니다.
Raft 합의 알고리즘과 같은 복잡한 이론은 생생한 비유와 함께 누구나 쉽게 이해할 수 있도록 풀어냈고,
Watch, Lease, 트랜잭션과 같은 핵심 기능들은 실제 코드를 기반으로 한 풍부한 예제를 통해 실전 활용 능력을 길러줍니다.
이 책을 통해 당신은 다음과 같은 능력을 얻게 될 것입니다.
원리 이해: Raft, MVCC 등 분산 시스템의 핵심 원리를 etcd를 통해 명확하게 이해합니다.
실전 패턴 구현: 서비스 디스커버리, 동적 설정, 기능 플래그, 분산 락 등 현업에서 바로 적용 가능한 강력한 패턴들을 직접 구현합니다.
쿠버네티스 심층 분석: etcdctl을 통해 쿠버네티스의 심장부를 직접 들여다보며, 그 동작 원리를 근본적으로 파악합니다.
프로덕션 운영 마스터: 클러스터 설계, 보안, 모니터링, 백업/복구, 성능 튜닝, 장애 대응까지, 프로덕션 환경에서 etcd를 자신 있게 운영하는 데 필요한 모든 노하우를 습득합니다.
"내 컴퓨터에서는 잘 되는데요?"의 시대를 지나, 예측 불가능한 장애가 일상인 분산 환경의 세계로 나아가려는 모든 개발자와 엔지니어를 위한 필독서.
이 책이 당신을 혼돈 속에서 질서를 창조하는 신뢰성 있는 시스템 아키텍트로 성장시켜 줄 것입니다.
Part 1: etcd와의 첫 만남
Chapter 1: 분산 시스템과 데이터 일관성
1-1. 왜 분산 시스템이 필요한가? (마이크로서비스와 클라우드 시대)
1-2. 분산 시스템의 난제: CAP 이론과 데이터 정합성
1-3. 분산 코디네이션 시스템의 등장과 역할
Chapter 2: etcd란 무엇인가?
2-1. etcd의 탄생 배경과 철학 (CoreOS, Kubernetes)
2-2. etcd의 핵심 특징: Key-Value, Watch, Lease
2-3. etcd 아키텍처 훑어보기 (gRPC, Raft, 스토리지)
2-4. etcd, Zookeeper, Consul: 무엇이 다른가?
Chapter 3: 설치 및 첫 etcd 클러스터 실행
3-1. 다양한 환경에 etcd 설치하기 (바이너리, Docker)
3-2. 싱글 노드 클러스터 시작하기
3-3. 로컬 환경에 3노드 클러스터 구축하기 (Docker Compose 활용)
3-4. etcdctl: etcd와 대화하는 첫걸음 (put, get, del)
Part 2: etcd 핵심 원리 파헤치기
Chapter 4: 분산 합의 알고리즘: Raft 파헤치기
4-1. Raft가 해결하려는 문제: 분산 환경에서의 합의
4-2. Raft의 동작 원리 쉽게 이해하기: 리더 선출 (Leader Election)
4-3. Raft의 동작 원리 쉽게 이해하기: 로그 복제 (Log Replication)
4-4. etcd에서 Raft의 역할과 중요성
Chapter 5: 키-값(Key-Value) 데이터 모델과 API
5-1. 키(Key)와 값(Value) 다루기 (CRUD)
5-2. Revision과 MVCC (다중 버전 동시성 제어)의 이해
5-3. 범위(Range) 쿼리와 정렬, 그리고 페이징(Paging)
5-4. 좋은 키(Key) 설계 원칙과 네이밍 컨벤션
Chapter 6: 변경 감지: Watch API 활용하기
6-1. Watch의 개념과 이벤트 기반 아키텍처
6-2. Watch 스트림 사용법과 실제 예제
6-3. Revision을 이용한 안정적인 Watch 구현
6-4. Watch 사용 시 주의점과 흔한 실수 (Missed Event 처리)
Chapter 7: 임시 데이터와 분산 락: Lease의 이해
7-1. Lease란 무엇인가? (Time-to-Live, TTL)
7-2. Lease를 이용한 임시 키(Ephemeral Key) 관리
7-3. [응용] Lease를 이용한 분산 락(Distributed Lock) 패턴 구현
Chapter 8: 원자적 연산: 트랜잭션(Transaction) 사용하기
8-1. Compare-And-Swap (CAS) 연산의 필요성
8-2. etcd 트랜잭션의 구조 (If-Then-Else)
8-3. 안전한 데이터 수정을 위한 트랜잭션 활용 사례 (카운터, 큐)
Part 3: etcd 실전 활용 패턴
Chapter 9: 쿠버네티스의 심장: etcd와 쿠버네티스 연동
9-1. 쿠버네티스는 etcd를 어떻게 사용하는가? (API 서버의 유일한 상태 저장소)
9-2. etcdctl로 쿠버네티스 오브젝트 직접 조회하고 분석하기
9-3. 쿠버네티스 환경에서 etcd를 다룰 때 주의할 점
9-4. 쿠버네티스 etcd를 직접 수정할 때의 위험성
Chapter 10: 서비스 디스커버리 패턴 구현하기
10-1. Lease와 Watch를 이용한 서비스 등록 및 발견
10-2. Prefix를 활용한 서비스 그룹 관리
10-3. 다양한 서비스 디스커버리 구현 방식 비교
Chapter 11: 분산 설정 저장소로 활용하기
11-1. 애플리케이션 설정을 etcd에 저장하기
11-2. Watch를 이용한 동적 설정 리로딩(Dynamic Configuration)
11-3. 기능 플래그(Feature Flag) 시스템 구현 예제
Chapter 12: 클라이언트 라이브러리 활용
12-1. Go 클라이언트 라이브러리(clientv3) 사용법
12-2. Python/Java 등 다른 언어 클라이언트 라이브러리 소개
12-3. 클라이언트 구현 시 고려사항 (재시도, 커넥션 풀링, 로드 밸런싱)
Part 4: 프로덕션 환경을 위한 etcd 운영
Chapter 13: 프로덕션 etcd 클러스터 구축
13-1. 클러스터 규모 산정 (멤버 수, 하드웨어 사양)
13-2. 네트워킹과 토폴로지 설계 (레이턴시의 중요성)
13-3. Static, DNS Discovery 등 다양한 클러스터 구성 방법
13-4. Kubernetes 환경에서의 etcd 클러스터 관리 (etcd-operator)
Chapter 14: 보안: 인증, 권한, 그리고 TLS
14-1. TLS를 이용한 클라이언트-서버, 서버-서버 통신 암호화
14-2. 사용자 인증(Authentication) 설정 (Username/Password)
14-3. 역할 기반 접근 제어(RBAC)를 통한 권한 부여(Authorization)
Chapter 15: 모니터링과 알림
15-1. 반드시 알아야 할 주요 메트릭 (gRPC, Raft, 스토리지)
15-2. Prometheus와 Grafana를 이용한 모니터링 대시보드 구축
15-3. 반드시 설정해야 할 핵심 알림 항목 (리더 없음, 디스크 공간 부족 등)
Chapter 16: 백업, 복구, 그리고 유지보수
16-1. 스냅샷(Snapshot)을 이용한 안전한 백업 및 검증
16-2. 재해 복구 시나리오별 복구 절차 (단일 노드, 클러스터 전체)
16-3. 디스크 조각 모음(Defragmentation)과 압축(Compaction)의 중요성
16-4. etcd 클러스터 버전 업그레이드 전략 (Rolling a cluster)
Chapter 17: 성능 튜닝과 최적화
17-1. 성능에 영향을 미치는 주요 요인 분석 (Disk, Network, CPU)
17-2. 스토리지(Disk) 성능의 중요성과 벤치마킹 (fio)
17-3. etcd-benchmark를 이용한 성능 벤치마킹 방법
17-4. 상황별 튜닝 파라미터 가이드
Chapter 18: 장애 대응 및 트러블슈팅
18-1. 네트워크 파티션, 리더 손실 등 일반적인 장애 시나리오
18-2. 로그와 메트릭을 이용한 문제 원인 분석
18-3. 자주 발생하는 문제와 해결법 (etcdserver: request timed out, mvcc: database space exceeded 등)
마치며
[부록]
A. etcdctl 명령어 레퍼런스
B. etcd 데이터 파일 구조
C. etcd 구성 파일(Configuration File) 파라미터
D. 주요 용어 정리
인물정보
저자(글) 김한성
이 상품의 총서
Klover리뷰 (0)
- - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- - 리워드는 5,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (2024년 9월 30일부터 적용)
- - 리워드는 한 상품에 최초 1회만 제공됩니다.
- - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
구매 후 리뷰 작성 시, e교환권 100원 적립
문장수집
- 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
- e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- 리워드는 5,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (2024년 9월 30일부터 적용)
- 리워드는 한 상품에 최초 1회만 제공됩니다.
- sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.
구매 후 문장수집 작성 시, e교환권 100원 적립
신규가입 혜택 지급이 완료 되었습니다.
바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!