쿠버네티스 교육/쿠버네티스 책 출간 준비

목차 : 24단계 실습으로 배우는 쿠버네티스(가제, 위키북스)

Jerry_이정훈 2022. 1. 11. 10:01
728x90

아마도 곧(?) 출간될 책의 목차를 공유합니다.

 

목차

1부. 쿠버네티스 설치와 클러스터 기본 관리 업무 실습

1. 쿠버네티스 클러스터 설치와 로컬호스트 관리
    1-1. Kubespray를 이용하여 3개의 노드로 구성된 클러스터 구축하기
    1-2. K3s를 이용하여 단일 노드로 구성된 클러스터 구축하기
    1-3. 로컬호스트에서 원격 쿠버네티스 관리하기

        1-3-1. 로컬호스트에 쿠버네티스 관리 도구 Kubectl 설치하기 
        1-3-2. 원격 클러스터 정보 로컬 호스트 등록하기
    1-4. 정리 

2. 쿠버네티스 클러스터 관리 효율화를 위한 Kubectl CLI 환경 최적화
    2-1.Kubectl 자동 완성 기능과 사용자 지정 명령어 앨리어스(alias) 사용하기
    2-2. Kubectl CLI 플러그인 매니저 쿠버네티스 크루(krew) 설치하기
    2-3. kube-ctx(context), kube-ns(namespace), kube-ps(prompt status) 사용하기
    2-4. 정리

3. Kubectl 명령어로 익히는 쿠버네티스 주요 오브젝트
    3-1. NGINX 파드 실행(run) 및 배쉬 실행(exec)
    3-2. 디플로이먼트의 파드 수량 변경(scale) 및 삭제(delete)
    3-3. 네임스페이스 생성(create)
    3-4. 정리

4. YAML 파일을 이용하여 쿠버네티스 오브젝트 관리하기
    4-1. YAML 파일 익스포트 플러그인 kube-neat 설치하기
    4-2. YAML 파일을 이용하여 파드 배포하기
    4-3. 쿠버네티스 YAML 템플릿 파일 검색 및 네이밍 규칙을 적용하여 파일 저장하기
    4-4. 정리

5. 쿠버네티스 트러블슈팅 기본 프로세스 이해하기
    5-1. 에러 상황 발생 시 기본 조치 프로세스의 이해
        : Apply - Get - Describe -Log - Events 순으로 조치
    5-2. 장애 사례 처리 예시
        : 호스트 노드의 파일 시스템 용량 초과 사례
    5-3. 정리

6. 헬름(Helm) 기반 쿠버네티스 환경 애플리케이션 설치하기
    6-1. 헬름의 주요 구성 요소 이해하기
        : 헬름 차트, 헬름 리포지토리, 헬름 템플릿
    6-2. 헬름 차트를 이용하여 NGINX 애플리케이션 설치하기
        6-2-1. 헬름 애플리케이션 라이프사이클 관리
        6-2-2. 헬름 템플릿 변수 파일(values.yaml) 사용하기
        6-2-3. 리소스 Requests/Limits 이해
    6-3. 정리

2부. 쿠버네티스 네트워크 & 스토리지 인프라 환경 구성하기

7. 쿠버네티스 서비스 사용하기
    7-1. 클러스터 내부 파드 간 통신하기
        7-1-1. 클러스터IP 타입 서비스 생성하기
        7-1-2. 서비스 디스커버리 이해하기
    7-2. 쿠버네티스 DNS 기능 이해하기
        7-2-1. CoreDNS 및 LocalDNS 설정 이해하기

        7-2-2. DNS 도메인 search 옵션 설정 이해하기
    7-3. 클러스터 외부에서 내부의 파드 연결하기
        7-3-1. 노드포트 타입 서비스 생성하기
        7-3-2. 부하분산(Load Balance) 설정 이해하기
    7-4. 정리

8. MetalLB를 이용하여 로드밸런서 타입 서비스 구축하기
    8-1. 헬름을 이용하여 MetalLB 설치하기

    8-2. MetalLB 파드 아키텍처 확인하기
        8-2-1.복수의 파드 로그를 동시에 확인 할 수 있는 kubetail 설치하기
        8-2-2. MetalLB 파드 로그 확인하기
    8-3. MetalLB 부하테스트 및 고가용성 시나리오 검증
        8-3-1. k6 이용 부하테스트
        8-3-2. 노드 장애 시 서비스 다운 시간 측정하기
    8-4. 정리

9. 트래픽(Traefik)을 이용하여 쿠버네티스 인그레스 구축하기
    9-1. Traefik 인그레스 컨트롤러 설치하기
    9-2. 인그레스 테스트 용 서비스 설치하기
    9-3. Traefik 인그레스 설정 테스트
        9-3-1. Traefik CRD를 이용한 인그레스 설정의 이해
        9-3-2. 가상 호스트와 URL 경로에 따른 서비스 분기
        9-3-3. 사용자 SSL/TLS 인증서 적용
    9-4. 정리

10. 쿠버네티스 스토리지 사용하기
    10-1. 쿠버네티스 영구볼륨, PVC, 스토리지 클래스의 이해
    10-2. OpneEBS 로컬 호스트패스(Hostpath) 설치
    10-3. 스토리지 클래스를 이용하여 PVC 및 영구볼륨 사용하기
    10-4. 사용자 스토리지 클래스를 지정하여 헬름 차트 MySQL 설치하기
    10-5. 로컬 호스트패스 스토리지 클래스의 장점 및 제약 사항
        10-5-1. 뛰어난 IOPS 성능 - Kubestr 이용 성능 측정
        10-5-2. 스토리지 고가용성 구성 제약 - 노드 Drain 테스트
    10-6. 정리

11. 쿠버네티스 스토리지 볼륨 스냅샷 기능 사용하기
    11-1. rook-ceph 이용 쿠버네티스 셰프 스토리지 설치하기
    11-2. 워드프레스 블로그 애플리케이션 설치 및 스냅샷 생성하기
        11-2-1. 워드프레스 애플리케이션 설치
        11-2-2. 스토리지 볼륨 스냅샷 생성하기
    11-3. 스냅샷을 이용하여 애플리케이션 데이터 복구하기
    11-4. rook-ceph 스토리지 가용성 테스트 및 IOPS 성능 측정하기
    11-5. 정리

12. 쿠버네티스 환경 공유 파일 스토리지(NFS) 사용하기
    12-1. 루크-셰프(rook-ceph) 이용 공유 파일 스토리지 설치하기
    12-2. 여러 파드에서 동시에 단일 파일 스토리지 마운트하기
    12-3. 스토리지 고가용성 테스트
    12-4. 정리

3부. 쿠버네티스 애플리케이션 배포 인프라 구축하기

13. 하버(Harbor)를 이용하여 로컬 컨테이너 이미지 저장소 구축하기 
    13-1. 헬름 차트로 하버(Harbor) 설치하기
    13-2. 로컬 컨테이너 이미지를 원격 하버 리포지토리로 업로드하기
    13-3. 쿠버네티스 YAML 파일의 컨테이너 이미지 저장소 주소를 로컬 하버로 변경하기
    13-4. 컨테이너 이미지 업로드 시 자동으로 이미지 보안 스캔 기능 활성화하기
    13-5. 정리

14. 깃랩(GitLab)을 이용하여 로컬 깃(Git) 소스 코드 저장소 구축하기
    14-1. 헬름 차트 기반으로 깃랩(GitLab) 설치
    14-2. 로컬 쿠버네티스 YAML 소스 코드를 원격 깃랩 저장소에 동기화하기
    14-3. 정리

15. 아르고시디(ArgoCD)를 이용하여 깃옵스(GitOps) 시스템 구축하기
    15-1. 헬름 차트로 ArgoCD 설치하기
    15-2. ArgoCD를 이용하여 RabbitMQ 헬름 애플리케이션 배포하기

    15-3. GitOps 실습
          : 클러스터 설정 내역 변경 및 깃 저장소 자동 반영
    15-4. 정리

4부. 쿠버네티스 모니터링 및 로깅 시스템 구축하기

16. 간단하게 사용할 수 있는 쿠버네티스 모니터링 도구
    16-1. 메트릭(Metric)서버로 파드 및 노드의 CPU, 메모리 사용량 확인
    16-2. 명령어 기반 쿠버네티스 모니터링 도구 k9s
    16-3. 정리

17. 쿠버네티스 모니터링 시스템 프로메테우스(Prometheus) 사용하기
    17-1. 헬름 차트 기반으로 프로메테우스-스택 설치 하기
    17-2. 프로메테우스 아키텍처
    17-3. 프로메테우스 웹 UI 사용하기
          : 상세 설정 내역 확인 및 모니터링 그래프 확인하기
    17-4. 정리

18. 그라파나(Grafana) - 모니터링 대시보드
    18-1. 프로메테우스-스택에 사전 포함(pre-built)된 그라파나 대시보드 사용하기
        18-1-1. 그라파나 기본 사용법
        18-1-2. 기본 대시보드 확인하기
    18-2. 그라파나 공식 홈페이지 템플릿 대시보드 추가하기
          : 쿠버네티스 클러스터 전체 현황 파악하기
    18-3. NGINX 애플리케이션 모니터링 대시보드 추가하기
          : 프로메테우스 서비스모니터와 PromQL 기본 사용법 익히기
    18-4. 정리

19. Alertmanager - 쿠버네티스 경보 서비스
    19-1. 프로메테우스, AlertManager 시스템 경보 기능 이해하기
    19-2. 시스템 경고 메시지  전달 용도의 슬랙 웹훅 URL 생성하기
    19-3. AlertManager 설정 파일에 슬랙 웹훅 URL 정보 등록
    19-4. AlertManager 기능 검증 
        19-4-1. 임의의 노드 다운 후 슬랙 채널 메시지 확인
        19-4-2. 시스템 경고 정책(prometheusrules) 상세 내용 확인하기
        19-4-3. AlertManager 임시 중지(silence) 기능 사용하기
    19-5. 사용자 정의 prometheusrules 정책 설정하기
          : 파일시스템 사용률 80% 초과 시 시스템 경고 발생하기 
    19-6. 정리

20. 로키(Loki) - 쿠버네티스 로깅 시스템
    20-1. Loki 시스템 구조 및 헬름 차트로 Loki 설치하기
    20-2. Loki를 이용하여 쿠버네티스 로그 검색하기
    20-3. LogQL 상세 사용법 익히기
          : 특정 네임스페이스 로그, 정규 표현식 사용 로그 검색
    20-4. 정리

5부. 쿠버네티스 보안 시스템 구축하기

21. 쿠버네티스 보안 도구 활용하기
    21-1. 쿠버네티스 보안 도구 kubescape 사용하기
          : NSA-CISA 프레임워크 기반 보안 점검 도구
    21-2. 쿠버네티스 보안 도구 폴라리스(Polaris) 사용하기
        21-2-1. Redis 헬름 차트 설치
        21-2-2. 폴라리스 설치 및 Redis 보안 취약점 확인하기
    21-3. 정리

22. 역할기반 접근제어(RBAC) 설정하기
    22-1. Role/RoleBinding과 ClusterRole/ClusterRoleBinding 이해하기
    22-2. ServiceAccount와 User, kubeconfig 파일 이해하기
          : 특정 네임스페이스 권한만 가지는 사용자 생성하기
    22-3. 멀티테넌시 환경 쿠버네티스 구성하기
          : 사용자 별 네임스페이스 단위 권한 제한하기
    22-4. 정리

6부. 기타 

23. 애플리케이션 부하 및 고가용성 테스트 실행하기
    23-1. 데모 용도의 방명록 서비스 설치하기
    23-2. K6를 이용하여 웹 부하 테스트 실행하기
    23-3. 애플리케이션 고가용성 테스트
        23-3-1. 특정 노드 내 실행 중인 모든 파드 종료하기(drain)
        23-3-2. 파드 삭제 및 노드 종료 시 서비스 이상 여부 검증하기
    23-4. 정리

24. 쿠버네티스 노드 변경 및 추가하기
    24-1. 컨트롤 플레인 노드 변경 및 워커 노드 추가하기
    24-2. 정리

 

반응형