헬름 배우기 [효율적인 쿠버네티스 애플리케이션 관리]
- 원서명Learn Helm: Improve productivity, reduce complexity, and speed up cloud-native adoption with Helm for Kubernetes (ISBN 9781839214295)
- 지은이앤드류 블록(Andrew Block), 오스틴 듀이(Austin Dewey)
- 옮긴이이준
- ISBN : 9791161755359
- 33,000원
- 2021년 06월 30일 펴냄
- 페이퍼백 | 392쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 클라우드 컴퓨팅
책 소개
소스 파일은 아래 깃허브 페이지에서 다운로드하실 수 있습니다.
본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약
쿠버네티스 환경에서 실행되는 애플리케이션을 효율적으로 관리하기 위한 도구로 헬름을 소개하고 핵심 개념에 대한 간략한 소개로 시작한다. 그리고 이해를 돕기 위해 헬름 차트의 다양한 사용 사례를 보여주며 엔터프라이즈 환경에 적용할 수 있도록 자동화, 보안 등을 추가로 설명한다. 헬름의 기초를 배우고 엔터프라이즈 환경에서 활용하는 방법을 배울 수 있는 좋은 지침서가 될 것이다.
이 책에서 다루는 내용
■ 헬름을 사용해 쿠버네티스 환경에서 엔터프라이즈 자동화 전략 개발
■ 쉽게 사용하고 구성할 수 있는 헬름 차트 생성
■ 오케스트레이션 도구 및 쿠버네티스 오퍼레이터에서 헬름 사용
■ 애플리케이션 제공 및 라이프사이클 관리를 위한 모범 사례 확인
■ 기업에 적합하며, 안전하고 안정적인 방식으로 헬름 활용
■ 헬름을 통한 자동화의 세부 내용 확인
이 책의 대상 독자
쿠버네티스 환경에서 애플리케이션 배포를 자동화할 수 있는 헬름 학습에 관심이 있는 쿠버네티스 개발자나 관리자를 대상으로 한다. 쿠버네티스 애플리케이션 개발 관련 기본 지식은 유용하겠지만 헬름에 대한 사전지식은 필요로 하지 않는다. 자동화가 제공할 수 있는 비즈니스 사용 사례의 사전 지식에 대한 학습을 권장한다.
이 책의 구성
1장, ‘쿠버네티스와 헬름 이해’에서는 쿠버네티스와 헬름을 소개한다. 쿠버네티스 애플리케이션을 배포할 때 사용자가 직면할 수 있는 문제와 헬름이 구현을 단순화하고 생산성을 높이는 데 어떻게 도움이 되는지 소개한다.
2장, ‘쿠버네티스 및 헬름 환경 준비’에서는 로컬 쿠버네티스 클러스터에 애플리케이션을 배포하는 데 필요한 도구를 살펴보고 설치한 후 수행할 수 있는 기본적인 헬름 구성을 알아본다.
3장, ‘첫 번째 헬름 차트 설치’에서는 헬름 차트를 설치해 쿠버네티스에 애플리케이션을 배포하는 방법을 설명하고, 헬름을 통해 배포된 애플리케이션의 다른 수명주기 단계를 다룬다.
4장, ‘헬름 차트 이해’에서는 헬름 차트 빌딩 블록을 좀 더 깊게 살펴보고 자신만의 헬름 차트를 작성하는 데 필요한 사전지식을 학습한다.
5장, ‘첫 번째 헬름 차트 빌드’에서는 헬름 차트를 빌드하는 엔드 투 엔드(end-to-end) 연습을 제공한다. 5장은 기본적인 헬름 구조를 활용하는 헬름 차트의 기본 개념으로 시작해 좀 더 진보된 헬름 구조로 통합하기 위해 기본 구성을 수정하는 단계로 진행된다. 마지막으로 기본 차트 리포지토리에 차트를 배포하는 방법을 알아본다.
6장, ‘헬름 차트 테스트’에서는 헬름 차트에 대한 정적 검사 및 테스트를 수행할 수 있는 다양한 방법론을 설명한다.
7장, ‘CI/CD 및 깃옵스를 사용한 헬름 프로세스 자동화’에서는 CI/CD 및 깃옵스(GitOps) 모델을 활용해 헬름 작업을 자동화하는 사용 사례를 살펴본다. 헬름 차트 테스트, 패키징 및 릴리스에 대한 프로세스를 개발한다. 또한 다양한 환경에서의 헬름 차트 설치 및 관리 방법도 소개한다.
8장, ‘오퍼레이터 프레임워크와 함께 헬름 사용’에서는 오퍼레이터 프레임워크에서 제공하는operator-sdk 도구를 사용해 기존의 헬름 차트에서 헬름 오퍼레이터를 구축하기 위한 쿠버네티스 오퍼레이터의 기본적인 개념을 설명한다.
9장, ‘헬름 보안 고려사항’에서는 도구를 설치하는 순간부터 쿠버네티스 클러스터에 헬름 차트를 설치할 때까지 헬름 사용에 관한 보안 고려사항과 주의사항을 설명한다.
목차
목차
- 1부. 소개 및 설정
- 1장. 쿠버네티스와 헬름 이해
- 모놀리식부터 현대 마이크로서비스까지
- 쿠버네티스란 무엇인가?
- 컨테이너 오케스트레이션
- 고가용성
- 확장성
- 활성화된 커뮤니티
- 쿠버네티스 애플리케이션 배포
- 디플로이먼트
- 서비스
- 영구 볼륨 요청
- 리소스 관리에 대한 접근
- 명령형 및 선언형 구성
- 리소스 구성 문제
- 다양한 타입의 쿠버네티스 리소스
- 라이브 및 로컬 상태로 동기화 상태로 유지
- 애플리케이션 수명주기 관리의 어려움
- 정적인 리소스 파일
- 구원이 될 헬름!
- 패키지 매니저 이해
- 쿠버네티스 패키지 매니저
- 추상화된 쿠버네티스 리소스의 복잡성
- 동적으로 구성된 선언형 리소스
- 로컬 상태와 라이브 상태 간의 일관성
- 지능형 배포
- 자동화된 수명주기 훅
- 요약
- 더 읽을거리
- 평가 문제
- 기술 요구사항
- 미니쿠베를 사용한 로컬 쿠버네티스 환경 준비
- 미니쿠베 설치
- 버추얼박스 설치
- 지정된 하이버파이저로 버추얼박스 구성
- 미니쿠베 리소스 할당 구성
- 기본 사용법 확인
- kubectl 설정
- kubectl 설치
- 미니쿠베를 통한 kubectl 설치
- 미니쿠베 없이 kubectl 설치
- 패키지 매니저 사용
- 링크에서 직접 다운로드
- kubectl 설치
- 헬름 설정
- 헬름 설치
- 상위 리포지토리 추가
- 플러그인 추가
- 환경 변수
- 탭 완성
- 인증
- 인가/RBAC
- 요약
- 더 읽을거리
- 평가 문제
- 기술 요구사항
- 워드프레스 애플리케이션 이해
- 워드프레스 차트 찾기
- 명령행을 통한 워드프레스 차트 검색
- 브라우저에서 워드프레스 차트 보기
- 명령행에서 워드프레스 차트 정보 보기
- 쿠버네티스 환경 만들기
- 워드프레스 차트 설치
- 구성을 위한 values 파일 생성
- 설치 실행
- 릴리스 검사
- 추가 설치 정보
- -n 플래그
- HELM_NAMESPACE 환경 변수
- --set과 –values 중 선택
- 워드프레스 애플리케이션에 접근
- 워드프레스 릴리스 업그레이드
- 헬름값 수정
- 업그레이드 실행
- 업그레이드 중 값 재사용 및 재설정
- 워드프레스 릴리스 롤백
- 워드프레스 이력 검사
- 롤백 실행
- 워드프레스 릴리스 삭제
- 환경 정리
- 요약
- 더 읽을거리
- 평가 문제
- 기술 요구사항
- YAML 형식 이해
- 키-값 쌍 정의
- 값 타입
- JSON 형식
- 헬름 차트 구조
- 값 타입
- 차트 템플릿 이해
- Go 템플릿 작성
- 값 및 내장 객체를 통한 필드의 매개변수화
- values.schema.json 파일
- 흐름 제어를 통한 세분화된 템플릿 처리
- 템플릿 변수
- 함수 및 파이프라인을 사용한 복잡한 처리
- 명명된 템플릿으로 코드 재사용 활성화
- 라이브러리 차트
- CR 템플릿
- Go 템플릿 작성
- 차트 정의 이해
- 필수 필드
- 선택적 메타데이터
- 차트 디펜던시 관리
- 디펜던시 다운로드
- 조건부 디펜던시
- 자식 차트에서 값 재정의 및 참조
- import-values를 통한 값 가져오기
- 수명주기 관리
- 헬름 훅의 기본사항
- 훅 실행
- 고급 훅 개념
- 헬름 차트 문서화
- README.md 파일
- LICENSE 파일
- templates/NOTES.txt 파일
- 헬름 차트 패키징
- 요약
- 더 읽을거리
- 평가 문제
- 기술 요구사항
- 방명록 애플리케이션 이해
- 환경 설정
- 방명록 헬름 차트 생성
- 초기 파일 구조 스캐폴딩
- 차트 정의 평가
- 레디스 차트 디펜던시 추가
- 레디스 차트 디펜던시 다운로드
- values.yaml 파일 수정
- 레디스 차트를 구성하기 위한 값 추가
- 방명록 프론트엔드 배포를 위한 값 수정
- 방명록 차트 설치
- 방명록 헬름 차트 개선
- 사전 업그레이드 및 사전 롤백 수명주기 훅 생성
- 데이터 스냅샷 생성을 위한 사전 업그레이드 훅 생성
- 데이터베이스 복원을 위한 사전 롤백 훅 생성
- 수명주기 훅 실행
- 입력 유효성 검사 추가
- fail 함수 사용
- required 함수 사용
- 사전 업그레이드 및 사전 롤백 수명주기 훅 생성
- 방명록 차트를 차트 리포지토리에 게시
- 차트 리포지토리 생성
- 방명록 헬름 차트 게시
- 차트 리포지토리 추가
- 정리
- 요약
- 더 읽을거리
- 평가 문제
- 기술 요구사항
- 환경 설정
- 헬름 템플릿 확인
- 헬름 템플릿을 사용해 로컬에서 템플릿 생성 유효성 검사
- 템플릿 매개변수화 테스트
- 제어 동작 테스트
- 함수 및 파이프라인 테스트
- 차트 렌더링에 서버 측 유효성 검사 추가
- 헬름 차트 및 템플릿 정적 검사
- 헬름 템플릿을 사용해 로컬에서 템플릿 생성 유효성 검사
- 라이브 클러스터 환경에서 테스트
- 차트 테스트 생성
- 차트 테스트 실행
- 차트 테스팅 프로젝트를 통한 차트 테스트 개선
- 차트 테스팅 프로젝트 소개
- 차트 테스팅 도구 설치
- 차트 테스팅 lint-and-install 명령 실행
- 정리
- 요약
- 더 읽을거리
- 질문
- 기술 요구사항
- CI/CD 및 깃옵스 이해
- CI/CD
- 깃옵스를 사용하여 CI/CD 한 단계 업그레이드
- 환경 설정
- 헬름 차트를 빌드하기 위한 CI 파이프라인 생성
- 파이프라인 설계
- 젠킨스 이해
- 젠킨스 설치
- 파이프라인 이해
- 파이프라인 실행
- 헬름을 사용해 애플리케이션을 배포하기 위한 CD 파이프라인 생성
- 파이프라인 설계
- 환경 업데이트
- 파이프라인 이해
- 파이프라인 실행
- 정리
- 요약
- 더 읽을거리
- 평가 문제
- 기술 요구사항
- 쿠버네티스 오퍼레이터 이해
- 헬름 오퍼레이터 생성
- 환경 설정
- 퀘이 리포지토리 생성
- 로컬 개발 환경 준비
- 오퍼레이터 파일 구조 스캐폴딩
- 오퍼레이터 빌드 및 퀘이로 푸시
- 방명록 오퍼레이터 배포
- 방명록 애플리케이션 배포
- 환경 설정
- 헬름을 사용하여 오퍼레이터 및 CR 관리
- 쿠버네티스 환경 정리
- 요약
- 더 읽을거리
- 평가 문제
- 기술 요구사항
- 데이터 출처 및 무결성
- GPG 키 쌍 생성
- 헬름 다운로드 확인
- 헬름 차트 서명 및 확인
- 안전한 헬름 차트 개발
- 안전한 이미지 사용
- 리소스 제한 설정
- 헬름 차트에서의 시크릿 처리
- RBAC 규칙 구성
- 안전한 차트 리포지토리 접근
- 요약
- 더 읽을거리
- 평가 문제