쿠버네티스 모범 사례: 쿠버네티스 창시자가 알려주는 최신 쿠버네티스 개발 및 배포 기법

Book description

이 책은 쿠버네티스 창시자인 브렌던 번스와 분산 시스템, 기업용 애플리케이션 개발, 오픈 소스에 조예가 깊은 세 명의 쿠버네티스 전문가가 함께 썼다. 현업에서 쌓은 경험을 바탕으로 쿠버네티스를 성공적으로 운영하기 위한 다양한 기법을 구체적인 코드 예제와 함께 설명한다. 쿠버네티스 기본 개념에 익숙한 사람이 일반적인 모범 사례를 배우고자 할 때 적합한 책으로, 쿠버네티스 환경에서 처음 애플리케이션을 구축할 때 필요한 지식을 얻을 수 있다. 또한 쿠버네티스에 애플리케이션을 배포하거나 쿠버네티스 기반 애플리케이션에 적용할 수 있는 패턴과 사례를 배우려는 실무자에게 도움을 준다.

Table of contents

  1. 지은이·옮긴이 소개
  2. 옮긴이의 말
  3. 이 책에 대하여
  4. 감사의 말 (1/3)
  5. 감사의 말 (2/3)
  6. 감사의 말 (3/3)
  7. 기본 서비스 설치
    1. 1.1 애플리케이션 개요
    2. 1.2 설정 파일 관리
    3. 1.3 디플로이먼트를 이용한 복제 서비스 생성
      1. 1.3.1 이미지 관리 모범 사례
      2. 1.3.2 애플리케이션 레플리카 생성
    4. 1.4 HTTP 트래픽을 처리하는 외부 인그레스 설정
    5. 1.5 컨피그맵으로 애플리케이션 설정
    6. 1.6 시크릿 인증 관리
    7. 1.7 간단한 스테이트풀 데이터베이스 배포
    8. 1.8 서비스를 이용한 TCP 로드 밸런서 생성
    9. 1.9 인그레스를 이용해 트래픽을 정적 파일 서버로 전달
    10. 1.10 헬름을 이용한 애플리케이션 파라미터화
    11. 1.11 서비스 배포 모범 사례
    12. 1.12 마치며
  8. 개발자 워크플로
    1. 2.1 목표
    2. 2.2 개발 클러스터 구축
    3. 2.3 다중 개발자를 위한 공용 클러스터 구축
      1. 2.3.1 사용자 온보딩
      2. 2.3.2 네임스페이스 생성과 보안
      3. 2.3.3 네임스페이스 관리
      4. 2.3.4 클러스터 단위의 서비스
    4. 2.4 개발자 워크플로 활성화
    5. 2.5 초기 설정
    6. 2.6 반복적 개발
    7. 2.7 테스트와 디버그 동작
    8. 2.8 개발 환경 설정 모범 사례
    9. 2.9 마치며
  9. 모니터링과 로깅
    1. 3.1 메트릭 vs 로그
    2. 3.2 모니터링 기술
    3. 3.3 모니터링 패턴
    4. 3.4 쿠버네티스 메트릭 개요
      1. 3.4.1 cAdvisor
      2. 3.4.2 메트릭 서버
      3. 3.4.3 kube-state-metrics
    5. 3.5 모니터링할 메트릭
    6. 3.6 모니터링 도구
    7. 3.7 프로메테우스를 사용한 모니터링
    8. 3.8 로깅 개요
    9. 3.9 로깅 도구
    10. 3.10 EFK 스택을 사용한 로깅
    11. 3.11 알림
    12. 3.12 모니터링, 로깅, 알림 모범 사례
      1. 3.12.1 모니터링 모범 사례
      2. 3.12.2 로깅 모범 사례
      3. 3.12.3 알림 모범 사례
    13. 3.13 마치며
  10. 설정, 시크릿, RBAC
    1. 4.1 컨피그맵과 시크릿을 통한 설정
      1. 4.1.1 컨피그맵
      2. 4.1.2 시크릿
    2. 4.2 컨피그맵과 시크릿 API 모범 사례 (1/2)
    3. 4.2 컨피그맵과 시크릿 API 모범 사례 (2/2)
    4. 4.3 RBAC
      1. 4.3.1 RBAC 기초
      2. 4.3.2 RBAC 모범 사례
    5. 4.4 마치며
  11. 지속적 통합, 테스트, 배포
    1. 5.1 버전 관리
    2. 5.2 지속적 통합
    3. 5.3 테스트
    4. 5.4 컨테이너 빌드
    5. 5.5 컨테이너 이미지 태그
    6. 5.6 지속적 배포
    7. 5.7 배포 전략
    8. 5.8 운영에서 테스트
    9. 5.9 파이프라인 구축과 카오스 실험 수행
      1. 5.9.1 CI 구축
      2. 5.9.2 CD 설정
      3. 5.9.3 롤링 업그레이드 수행
      4. 5.9.4 간단한 카오스 실험
    10. 5.10 CI/CD 모범 사례
    11. 5.11 마치며
  12. 버전, 릴리스, 롤아웃
    1. 6.1 버전
    2. 6.2 릴리스
    3. 6.3 롤아웃
    4. 6.4 버전, 릴리스, 롤아웃 통합 예제
    5. 6.5 버전, 릴리스, 롤아웃 모범 사례
    6. 6.6 마치며
  13. 글로벌 애플리케이션 분산과 스테이지
    1. 7.1 이미지 분산
    2. 7.2 배포 파라미터화
    3. 7.3 글로벌 트래픽 로드 밸런스
    4. 7.4 안정적인 글로벌 롤아웃
      1. 7.4.1 사전 롤아웃 검증
      2. 7.4.2 카나리 리전
      3. 7.4.3 리전 타입 식별
      4. 7.4.4 글로벌 롤아웃 구축
    5. 7.5 문제 발생 시 대처
    6. 7.6 글로벌 롤아웃 모범 사례
    7. 7.7 마치며
  14. 리소스 관리
    1. 8.1 쿠버네티스 스케줄러
      1. 8.1.1 논리 조건
      2. 8.1.2 우선순위
    2. 8.2 고급 스케줄링 기술
      1. 8.2.1 파드어피니티와 안티어피니티
      2. 8.2.2 노드 셀렉터
      3. 8.2.3 테인트와 톨러레이션
    3. 8.3 파드 리소스 관리
      1. 8.3.1 리소스 요청
      2. 8.3.2 리소스 제한과 파드 서비스 품질
      3. 8.3.3 PodDisruptionBudget
      4. 8.3.4 네임스페이스를 사용한 리소스 관리
      5. 8.3.5 리소스쿼터
      6. 8.3.6 LimitRange
      7. 8.3.7 클러스터 확장
      8. 8.3.8 애플리케이션 확장
      9. 8.3.9 HPA를 이용한 확장
      10. 8.3.10 사용자 정의 메트릭을 사용한 HPA
      11. 8.3.11 수직 파드 오토스케일러
    4. 8.4 리소스 관리 모범 사례
    5. 8.5 마치며
  15. 네트워킹, 네트워크 보안, 서비스 메시
    1. 9.1 쿠버네티스 네트워크 원칙
    2. 9.2 네트워크 플러그인
      1. 9.2.1 Kubenet
      2. 9.2.2 Kubenet 모범 사례
      3. 9.2.3 CNI 플러그인
      4. 9.2.4 CNI 플러그인 모범 사례
    3. 9.3 쿠버네티스의 서비스
      1. 9.3.1 ClusterIP 서비스 타입
      2. 9.3.2 NodePort 서비스 타입
      3. 9.3.3 ExternalName 서비스 타입
      4. 9.3.4 로드 밸런서 서비스 타입
      5. 9.3.5 인그레스와 인그레스 컨트롤러
      6. 9.3.6 서비스와 인그레스 컨트롤러 모범 사례
    4. 9.4 네트워크 보안 정책
      1. 9.4.1 네트워크 정책 모범 사례
    5. 9.5 서비스 메시
      1. 9.5.1 서비스 메시 모범 사례
    6. 9.6 마치며
  16. 파드와 컨테이너 보안
    1. 10.1 파드시큐리티폴리시 API
      1. 10.1.1 파드시큐리티폴리시 활성화
      2. 10.1.2 파드시큐리티폴리시 살펴보기 (1/2)
      3. 10.1.2 파드시큐리티폴리시 살펴보기 (2/2)
      4. 10.1.3 파드시큐리티폴리시 해결 과제
      5. 10.1.4 파드시큐리티폴리시 모범 사례
      6. 10.1.5 파드시큐리티폴리시 다음 단계
    2. 10.2 워크로드 격리와 런타임클래스
      1. 10.2.1 런타임클래스 사용
      2. 10.2.2 런타임 구현
      3. 10.2.3 워크로드 격리와 런타임클래스 모범 사례
    3. 10.3 파드와 컨테이너 보안 고려 사항
      1. 10.3.1 어드미션 컨트롤러
      2. 10.3.2 오픈 소스 도구
    4. 10.4 마치며
  17. 클러스터 정책과 거버넌스
    1. 11.1 정책과 거버넌스의 중요성
    2. 11.2 다른 정책과의 차이
    3. 11.3 클라우드 네이티브 정책 엔진
    4. 11.4 게이트키퍼 소개
      1. 11.4.1 정책 예제
      2. 11.4.2 게이트키퍼 용어
      3. 11.4.3 제약 템플릿 정의
      4. 11.4.4 제약 정의
      5. 11.4.5 데이터 복제
      6. 11.4.6 UX
    5. 11.5 감사
      1. 11.5.1 게이트키퍼와 친숙해지기
      2. 11.5.2 게이트키퍼 다음 단계
    6. 11.6 정책과 거버넌스 모범 사례
    7. 11.7 마치며
  18. 다중 클러스터 관리
    1. 12.1 다중 클러스터의 필요성
    2. 12.2 다중 클러스터 설계 문제
    3. 12.3 다중 클러스터 배포 관리
      1. 12.3.1 배포와 관리 패턴
    4. 12.4 깃옵스를 이용한 클러스터 관리
    5. 12.5 다중 클러스터 관리 도구
    6. 12.6 쿠버네티스 페더레이션
    7. 12.7 다중 클러스터 관리 모범 사례
    8. 12.8 마치며
  19. 외부 서비스와 쿠버네티스 통합
    1. 13.1 쿠버네티스로 서비스 가져오기
      1. 13.1.1 셀렉터가 없는 서비스로 안정적인 IP 주소 사용
      2. 13.1.2 안정적인 DNS 이름을 위한 CNAME 기반 서비스
      3. 13.1.3 액티브 컨트롤러 방식
    2. 13.2 쿠버네티스 서비스 내보내기
      1. 13.2.1 내부 로드 밸런서를 사용해 서비스 내보내기
      2. 13.2.2 노드포트로 서비스 내보내기
      3. 13.2.3 외부 서버와 쿠버네티스 통합
    3. 13.3 쿠버네티스 간 서비스 공유
    4. 13.4 서드파티 도구
    5. 13.5 클러스터와 외부 서비스 연결 모범 사례
    6. 13.6 마치며
  20. 쿠버네티스에서 머신러닝 실행하기
    1. 14.1 머신러닝에서 쿠버네티스의 장점
    2. 14.2 머신러닝 워크플로
    3. 14.3 쿠버네티스 클러스터 관리자를 위한 머신러닝
      1. 14.3.1 쿠버네티스에서 모델 훈련
      2. 14.3.2 쿠버네티스에서 분산 훈련
      3. 14.3.3 리소스 제약
      4. 14.3.4 특수한 하드웨어
      5. 14.3.5 라이브러리와 드라이버, 커널 모듈
      6. 14.3.6 스토리지
      7. 14.3.7 네트워킹
      8. 14.3.8 특수한 프로토콜
    4. 14.4 데이터 과학자 관심사
    5. 14.5 쿠버네티스에서의 머신러닝 모범 사례
    6. 14.6 마치며
  21. 고수준 애플리케이션 패턴 구축
    1. 15.1 고수준 추상화 개발 방법
    2. 15.2 쿠버네티스 확장
      1. 15.2.1 쿠버네티스 클러스터 확장
      2. 15.2.2 쿠버네티스 UX 확장
    3. 15.3 플랫폼 구축시 설계 고려 사항
      1. 15.3.1 컨테이너 이미지 내보내기 지원
      2. 15.3.2 서비스와 서비스 디스커버리를 위한 기존 메커니즘 지원
    4. 15.4 애플리케이션 플랫폼 구축 모범 사례
    5. 15.5 마치며
  22. 상태와 스테이트풀 애플리케이션 관리
    1. 16.1 볼륨과 볼륨 마운트
      1. 16.1.1 볼륨 모범 사례
    2. 16.2 쿠버네티스 스토리지
      1. 16.2.1 퍼시스턴트볼륨
      2. 16.2.2 퍼시스턴트볼륨클레임
      3. 16.2.3 스토리지클래스
      4. 16.2.4 쿠버네티스 스토리지 모범 사례
    3. 16.3 스테이트풀 애플리케이션
      1. 16.3.1 스테이트풀셋
      2. 16.3.2 오퍼레이터
      3. 16.3.3 스테이트풀셋과 오퍼레이터 모범 사례
    4. 16.4 마치며
  23. 어드미션 컨트롤과 권한
    1. 17.1 어드미션 컨트롤
      1. 17.1.1 어드미션 컨트롤러의 정의
      2. 17.1.2 어드미션 컨트롤러의 중요성
      3. 17.1.3 어드미션 컨트롤러 유형
      4. 17.1.4 어드미션 웹훅 설정
      5. 17.1.5 어드미션 컨트롤 모범 사례
    2. 17.2 권한
      1. 17.2.1 권한 모듈
      2. 17.2.2 권한 모범 사례
    3. 17.3 마치며
  24. 결론 (1/2)
  25. 결론 (2/2)

Product information

  • Title: 쿠버네티스 모범 사례: 쿠버네티스 창시자가 알려주는 최신 쿠버네티스 개발 및 배포 기법
  • Author(s): 장정호, 브렌던 번스, 에디 비얄바, 데이브 스트레벨, 라클런 이븐슨
  • Release date: December 2020
  • Publisher(s): Hanbit Media, Inc.
  • ISBN: 9791162247402