개발자를 위한 쿠버네티스
도서명:개발자를 위한 쿠버네티스
저자/출판사:조셉,헥/에이콘출판
쪽수:460쪽
출판일:2019-03-22
ISBN:9791161752785
목차
1장. 개발을 위한 쿠버네티스 환경 설정
__개발을 위한 필수 도구
____추가 도구
__로컬 환경에 쿠버네티스 클러스터 구성 및 실행
__클러스터 재설정 및 재시작
__미니큐브의 구성 요소 확인
__도커 확인
__도커 이미지 삭제와 정리
__쿠버네티스 개념-컨테이너
__쿠버네티스 리소스-팟
____네임스페이스
____팟과 컨테이너를 위한 코드 작성
__쿠버네티스 리소스-노드
____네트워크
____컨트롤러
__쿠버네티스 리소스-레플리카셋
__쿠버네티스 리소스-디플로이먼트
__쿠버네티스 리소스 표현
__요약
2장. 쿠버네티스에서 코드 패키징 방법
__컨테이너 이미지
____컨테이너 레지스트리
__컨테이너 만들기
____도커파일 명령어
__예제-Python/Flask 컨테이너 이미지
____컨테이너 빌드하기
____컨테이너 실행하기
____애플리케이션으로부터 로그 얻기
__예제-Node.js/Express 컨테이너 이미지
____컨테이너 빌드하기
____컨테이너 실행하기
____애플리케이션으로부터 로그 얻기
__컨테이너 이미지에 태그 달기
__요약
3장. 쿠버네티스에서 코드와 상호작용
__컨테이너 내부에서 실행되는 소프트웨어 개발을 위한 실용적인 팁
____실행 가능한 코드를 위한 옵션 얻기
____컨테이너 이미지 빌드를 위한 실용적인 팁
____프로그램의 결과 전송
__로그
____하나 이상의 컨테이너로 구성된 팟
____로그 스트리밍
____이전 로그 확인
____타임스탬프
__디버깅 기법
____대화형으로 이미지 배포하기
____실행 중인 팟에 접속하기
____컨테이너에서 두 번째 프로세스 실행하기
__쿠버네티스 콘셉트 - 라벨
____라벨의 구성
__쿠버네티스 콘셉트 - 셀렉터
____라벨 확인
____kubectl 커맨드를 사용해 라벨과 함께 리소스 정보 목록화하기
____자동 생성되는 라벨과 셀렉터
__쿠버네티스 리소스 - 서비스
____서비스 리소스 정의
____엔드포인트
____서비스 타입 - ExternalName
____헤드리스 서비스
__팟 내부에서 서비스 디스커버리하기
____서비스를 위한 DNS
__쿠버네티스 클러스터 외부로 서비스 노출하기
____서비스 타입 - LoadBalancer
____서비스 타입 - NodePort
____미니큐브 서비스
__예제 서비스 - 레디스
____레디스 서비스 찾기
____파이썬에서 레디스 사용하기
____Flask 디플로이먼트 업데이트
__디플로이먼트와 롤 아웃
____롤 아웃 히스토리
____롤 아웃 실행 취소
____kubectl set 커맨드를 통한 업데이트
__요약
4장. 선언형 인프라스트럭처
__명령형 커맨드 대 선언형 커맨드
____YAML
____간단한 디플로이먼트 생성
__첫 번째 애플리케이션 선언
____이미지 풀 정책
____추적 감시
__쿠버네티스 리소스 - 어노테이션
____팟에서 라벨과 어노테이션 노출하기
__쿠버네티스 리소스 - 컨피그맵
____컨피그맵 생성
____컨피그맵 관리
____컨테이너 이미지에 컨피그레이션 노출하기
____컨피그맵의 디펜던시
__쿠버네티스 리소스 - 시크릿
____컨테이너에 시크릿 노출하기
____시크릿과 보****- 시크릿은 얼마나 안전한가?
__예제 - 컨피그맵을 포함한 Python/Flask 디플로이먼트
____부가 메뉴 - JSONPATH
____Python/Flask 내에서 컨피그맵 사용하기
__요약
5장. 팟과 컨테이너의 라이프사이클
__팟의 라이프사이클
____컨테이너의 라이프사이클
____디플로이먼트, 레플리카셋 그리고 팟
____현재 상태 정보 얻기
__프로브
____활성 프로브
____준비 프로브
____파이썬 예제에 프로브 추가하기
____Node.js 예제에 프로브 추가하기
____컨테이너 라이프사이클 훅
__초기화 컨테이너
____빠른 대화형 테스트
__우아한 종료 방법
____파이썬에서 SIGTERM
____Node.js에서 SIGTERM
__요약
6장. 쿠버네티스에서 백그라운드 프로세싱
__잡
__크론잡
__파이썬과 셀러리를 이용한 워커큐 예제
____셀러리 워커 예제
__쿠버네티스에서 제공하는 퍼시스턴스
____볼륨
____퍼시스턴스 볼륨과 퍼시스턴스 볼륨 클레임
__스테이트풀 세트
____스테이트풀 세트를 활용한 Node.js 예제
__사용자 정의 리소스
__요약
7장. 모니터링과 메트릭
__쿠버네티스의 빌트인 메트릭
__쿠버네티스 콘셉트 - QoS
__컨테이너에 대한 요청 및 한계값 선정
__프로메테우스를 통한 메트릭 캡처
____헬름 설치
____헬름을 통한 프로메테우스 설치
____프로메테우스를 통한 메트릭 보기
__그라파나 설치
__프로메테우스를 사용해 애플리케이션 메트릭 보기
____프로메테우스를 통한 플라스크 메트릭
____프로메테우스를 통한 Node.js 메트릭
____프로메테우스에서 서비스 시그널
__요약
8장. 로깅 및 추적
__쿠버네티스 콘셉트 - 데몬셋
__일래스틱서치, 플루언트디, 키바나 설치 및 활용
____EFK를 활용한 로그 통합
__키바나를 통한 로그 시각화
____애플리케이션별 필터링
____루씬 쿼리 언어
____운영 환경에서 키바나 실행하기
__예거를 활용한 분산 추적
____스팬과 트레이스
____예거의 분산 추적 아키텍처
____예거 테스트하기
__예제 - 애플리케이션에 추적 기능 추가하기
____팟에 트레이싱 콜렉터 추가하기
____트레이스 생성을 위한 라이브러리 및 코드 추가
____추적 추가 시 고려 사항
__요약
9장. 통합 테스팅
__쿠버네티스를 활용한 테스팅 전략
____테스팅에 필요한 리소스 검토
____쿠버네티스를 활용한 테스팅 패턴
__배츠를 통한 간단한 검증
__예제 - 파이썬을 활용한 통합 테스트
____파이테스트와 파이테스트-디펜던시
____파이테스트 픽스처와 파이썬-쿠버네티스 클라이언트
____상태 변경 대기
____디플로이먼트에 액세스
__예제 - Node.js를 활용한 통합 테스트
____모카와 차이를 활용한 Node.js 테스트와 디펜던시
____클러스터 상태 확인
____kubectl을 활용한 배포
____사용 가능한 팟이 될 때까지 대기하기
____디플로이먼트와 상호작용
__쿠버네티스를 활용한 지속적인 통합
____예제 - Travis.CI와 미니큐브 사용하기
____예제 - 젠킨스와 쿠버네티스 플러그인 사용하기
__요약
10장. 일반적인 문제 트러블 슈팅 및 다음 단계
__일반적인 에러와 해결 방법
____데이터 유효성 검사 에러
____ErrImagePull 에러 메시지
____CrashLoopBackOff 에러 메시지
____No endpoints available for service 에러 메시지
____PodInitializing에서 멈춰 있는 경우
__개발자를 위한 새로운 프로젝트
____린터스
____헬름
____케이소넷
____브리게이드
____스카폴드
____img
____드래프트
____ksync
____텔레프레즌스
__쿠버네티스 프로젝트와 상호작용하기
____슬랙
____유튜브
____스택 오버플로우
____메일링 리스트 및 포럼
__요약