스크랩

구간

개발자를 위한 쿠버네티스 쿠버네티스 환경에서 컨테이너와 애플리케이션 개발 및 운영 가이드

조셉 헥 저 | 이준 역 | 에이콘 | 2019년 03월

북트리

정가
$70.00
판매가
$51.03 (27%↓) 최저가 보상
적립금
$1.02 (2%P)
출고예상일
2026년 10월 08일 수령예상일 안내
북카트 담기 바로구매하기 위시리스트담기

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9791161752785 / 460쪽 188 x 235 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

  • 21,420
  • 21,600
  • 22,500
  • 19,800

책 소개

출판사 리뷰

★ 이 책에서 다루는 내용 ★

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

★ 이 책의 대상 독자 ★

개발 중인 코드를 테스트하고 실행하는 데 관심이 있거나 책임이 있는 풀스택 또는 백엔드 소프트웨어 개발자인 경우, 쿠버네티스를 사용해서 해당 프로세스를 간단하고 일관성 있게 만들 수 있다. 쿠버네티스 환경에서 코드를 빌드하고 테스트, 배포, 실행하는 방법에 대한 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 ____텔레프레즌스 __쿠버네티스 프로젝트와 상호작용하기 ____슬랙 ____유튜브 ____스택 오버플로우 ____메일링 리스트 및 포럼 __요약

top