장바구니 담기 close

장바구니에 상품을 담았습니다.

개발자를 위한 쿠버네티스

개발자를 위한 쿠버네티스

  • 조셉헥
  • |
  • 에이콘출판
  • |
  • 2019-03-22 출간
  • |
  • 460페이지
  • |
  • 188 X 235 X 26 mm
  • |
  • ISBN 9791161752785
판매가

35,000원

즉시할인가

31,500

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
31,500

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




■ 소프트웨어를 컨테이너로 빌드하는 방법
■ 쿠버네티스 내에서 컨테이너 형태로 실행되는 소프트웨어 배포 및 디버깅 방법
■ 쿠버네티스를 통한 인프라 선언 및 컨피그레이션 추가 방법
■ 내/외부 서비스를 활용해 애플리케이션 간 상호작용 방법
■ 쿠버네티스가 서비스를 관리할 수 있도록 코드에 피드백을 추가하는 방법
■ 운영 환경에서 통합 테스팅을 통한 모니터링 및 지표 측정 방법

★ 이 책의 대상 독자 ★
개발 중인 코드를 테스트하고 실행하는 데 관심이 있거나 책임이 있는 풀스택 또는 백엔드 소프트웨어 개발자인 경우, 쿠버네티스를 사용해서 해당 프로세스를 간단하고 일관성 있게 만들 수 있다. 쿠버네티스 환경에서 코드를 빌드하고 테스트, 배포, 실행하는 방법에 대한 Node.js 및 파이썬 개발자 중심의 예제를 찾고 있다면 이 책이 완벽한 가이드를 제공해줄 것이다.


★ 이 책의 구성 ★
1장, ‘개발자를 위한 쿠버네티스 설정’에서는 kubectl, 미니큐브(minikube) 및 도커(Docker) 설치 방법, kubectl과 미니큐브를 통한 설치 검증 방법을 제공한다. 또한 쿠버네티스에서의 노드, 팟, 레플리카셋 및 디플로이먼트 개념을 소개한다.
2장, ‘쿠버네티스에서 코드 패키징 방법’에서는 파이썬과 Node.js 예제를 통해 쿠버네티스를 사용하기 위해 컨테이너 내에 코드를 패키징하는 방법을 설명한다.
3장, ‘쿠버네티스에서 코드와 상호작용’에서는 컨테이너를 실행하는 방법과 컨테이너에 액세스하는 방법을 다루고 쿠버네티스의 서비스, 라벨과 셀렉터의 개념을 소개한다.
4장, ‘선언형 인프라스트럭처’에서는 선언형 구조로 애플리케이션을 표현하는 방법에 대해 다루고, 컨피그맵, 어노테이션 및 시크릿 등의 쿠버네티스 개념을 활용해 이를 확장하는 방법을 소개한다.
5장, ‘팟과 컨테이너의 라이프사이클’에서는 컨테이너와 팟의 라이프사이클에 대해 살펴보고 쿠버네티스가 코드를 실행하는 방식에 영향을 주기 위해 애플리케이션의 훅을 노출하는 방법과 코드를 정상적으로 종료하는 방법을 소개한다.
6장, 쿠버네티스에서 백그라운드 프로세스’에서는 생성 쿠버네티스에서 배치 프로세스 콘셉트인 잡과 크론잡에 대해 설명하고 쿠버네티스에서 Persistent Volume, Persistent Volume Claim 및 Stateful set을 통해 퍼시스턴스(Persistence) 속성을 지원하는 방법을 소개한다.
7장, ‘모니터링과 메트릭’에서는 모니터링 방법을 다루고 프로메테우스와 그라파나를 활용해 쿠버네티스와 애플리케이션에 대한 메트릭을 캡처하고 간단한 대시보드를 통해 이를 보여주는 방법을 소개한다.
8장, ‘로깅 및 추적’에서는 일래스틱서치, 플루언트디, 키바나를 사용해 로그를 수집하는 방법에 대해 설명하고 예거(Jaeger)를 활용해 분산 추적을 설정하고 사용하는 방법을 소개한다.
9장, ‘통합 테스팅’에서는 쿠버네티스를 활용하는 테스트 전략에 대해 다루고, 통합 및 엔드 투 엔드 테스트에서 쿠버네티스를 활용하는 방법을 살펴본다.
10장, ‘일반적인 문제 트러블 슈팅과 다음 단계’에서는 쿠버네티스를 처음 시작할 때 직면할 수 있는 일반적인 문제 상황에 대해 리뷰해보고 해결방법에 대해 설명한다. 또한 개발자와 개발 프로세스에 관심을 가질 수 있는 쿠버네티스 에코시스템 내의 몇 가지 프로젝트를 간략히 소개한다.


목차


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
____텔레프레즌스
__쿠버네티스 프로젝트와 상호작용하기
____슬랙
____유튜브
____스택 오버플로우
____메일링 리스트 및 포럼
__요약

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 : 070-4821-5101
교환/반품주소
  • 부산광역시 부산진구 중앙대로 856 303호 / (주)스터디채널 / 전화 : 070-4821-5101
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.