logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

쿠버네티스 인 액션

쿠버네티스 인 액션

(그림과 상세한 설명으로 명확하게 이해하는, 재출간판)

마르코 룩샤 (지은이), 강인호, 황주필, 이원기, 임찬식 (옮긴이)
  |  
에이콘출판
2020-03-31
  |  
45,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
알라딘 40,500원 -10% 0원 2,250원 38,250원 >
yes24 로딩중
교보문고 로딩중
영풍문고 로딩중
인터파크 로딩중
11st 로딩중
G마켓 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
로딩중

e-Book

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

쿠버네티스 인 액션

책 정보

· 제목 : 쿠버네티스 인 액션 (그림과 상세한 설명으로 명확하게 이해하는, 재출간판)
· 분류 : 국내도서 > 컴퓨터/모바일 > 컴퓨터 공학 > 소프트웨어 공학
· ISBN : 9791161754048
· 쪽수 : 844쪽

책 소개

쿠버네티스를 이용해 애플리케이션을 효과적으로 개발하고 운영할 수 있는 방법을 초보자도 쉽게 이해할 수 있도록 설명한다. 쿠버네티스 아키텍처와 각 객체의 개념을 명확히 정립할 수 있도록 예제와 그림을 곁들였다.

목차

1부. 쿠버네티스 개요

1장. 쿠버네티스 소개

1.1 쿠버네티스와 같은 시스템이 필요한 이유
1.1.1 모놀리스 애플리케이션에서 마이크로서비스로 전환
1.1.2 애플리케이션에 일관된 환경 제공
1.1.3 지속적인 배포로 전환: 데브옵스와 노옵스
1.2 컨테이너 기술 소개
1.2.1 컨테이너 이해
1.2.2 도커 컨테이너 플랫폼 소개
1.2.3 도커의 대안으로 rkt 소개
1.3 쿠버네티스 소개
1.3.1 쿠버네티스의 기원
1.3.2 넓은 시각으로 쿠버네티스 바라보기
1.3.3 쿠버네티스 클러스터 아키텍처 이해
1.3.4 쿠버네티스에서 애플리케이션 실행
1.3.5 쿠버네티스 사용의 장점
1.4 요약


2장. 도커와 쿠버네티스 첫걸음

2.1 도커를 사용한 컨테이너 이미지 생성, 실행, 공유하기
2.1.1 도커 설치와 Hello World 컨테이너 실행하기
2.1.2 간단한 node.js 애플리케이션 생성하기
2.1.3 이미지를 위한 Dockerfile 생성
2.1.4 컨테이너 이미지 생성
2.1.5 컨테이너 이미지 실행
2.1.6 실행 중인 컨테이너 내부 탐색하기
2.1.7 컨테이너 중지와 삭제
2.1.8 이미지 레지스트리에 이미지 푸시
2.2 쿠버네티스 클러스터 설치
2.2.1 Minikube를 활용한 단일 노드 쿠버네티스 클러스터 실행하기
2.2.2 구글 쿠버네티스 엔진을 활용한 관리형 쿠버네티스 클러스터 사용하기
2.2.3 kubectl의 alias와 명령줄 자동완성 설정하기
2.3 쿠버네티스에 첫 번째 애플리케이션 실행하기
2.3.1 Node.js 애플리케이션 구동하기
2.3.2 웹 애플리케이션에 접근하기
2.3.3 시스템의 논리적인 부분
2.3.4 애플리케이션 수평 확장
2.3.5 애플리케이션이 실행 중인 노드 검사하기
2.3.6 쿠버네티스 대시보드 소개
2.4 요약


2부. 쿠버네티스 핵심 개념

3장. 파드: 쿠버네티스에서 컨테이너 실행

3.1 파드 소개
3.1.1 파드가 필요한 이유
3.1.2 파드 이해하기
3.1.3 파드에서 컨테이너의 적절한 구성
3.2 YAML 또는 JSON 디스크립터로 파드 생성
3.2.1 기존 파드의 YAML 디스크립터 살펴보기
3.2.2 파드를 정의하는 간단한 YAML 정의 작성하기
3.2.3 kubectl create 명령으로 파드 만들기
3.2.4 애플리케이션 로그 보기
3.2.5 파드에 요청 보내기
3.3 레이블을 이용한 파드 구성
3.3.1 레이블 소개
3.3.2 파드를 생성할 때 레이블 지정
3.3.3 기존 파드 레이블 수정
3.4 레이블 셀렉터를 이용해 파드 부분 집합 나열
3.4.1 레이블 셀렉터를 사용한 파드 나열
3.4.2 레이블 셀렉터에서 여러 조건 사용
3.5 레이블과 셀렉터를 이용해 파드 스케줄링 제한
3.5.1 워커 노드 분류에 레이블 사용
3.5.2 특정 노드에 파드 스케줄링
3.5.3 하나의 특정 노드로 스케줄링
3.6 파드에 어노테이션 달기
3.6.1 오브젝트의 어노테이션 조회
3.6.2 어노테이션 추가 및 수정
3.7 네임스페이스를 사용한 리소스 그룹화
3.7.1 네임스페이스의 필요성
3.7.2 다른 네임스페이스와 파드 살펴보기
3.7.3 네임스페이스 생성
3.7.4 다른 네임스페이스의 오브젝트 관리
3.7.5 네임스페이스가 제공하는 격리 이해
3.8 파드 중지와 제거
3.8.1 이름으로 파드 삭제
3.8.2 레이블 셀렉터를 이용한 파드 삭제
3.8.3 네임스페이스를 삭제한 파드 제거
3.8.4 네임스페이스를 유지하면서 네임스페이스 안에 있는 모든 파드 삭제
3.8.5 네임스페이스에서 (거의) 모든 리소스 삭제
3.9 요약


4장. 레플리케이션과 그 밖의 컨트롤러: 관리되는 파드 배포

4.1 파드를 안정적으로 유지하기
4.1.1 라이브니스 프로브 소개
4.1.2 HTTP 기반 라이브니스 프로브 생성
4.1.3 동작 중인 라이브니스 프로브 확인
4.1.4 라이브니스 프로브의 추가 속성 설정
4.1.5 효과적인 라이브니스 프로브 생성
4.2 레플리케이션컨트롤러 소개
4.2.1 레플리케이션컨트롤러의 동작
4.2.2 레플리케이션컨트롤러 생성
4.2.3 레플리케이션컨트롤러 작동 확인
4.2.4 레플리케이션컨트롤러의 범위 안팎으로 파드 이동하기
4.2.5 파드 템플릿 변경
4.2.6 수평 파드 스케일링
4.2.7 레플리케이션컨트롤러 삭제
4.3 레플리케이션컨트롤러 대신 레플리카셋 사용하기
4.3.1 레플리카셋과 레플리케이션컨트롤러 비교
4.3.2 레플리카셋 정의하기
4.3.3 레플리카셋 생성 및 검사
4.3.4 레플리카셋의 더욱 표현적인 레이블 셀렉터 사용하기
4.3.5 레플리카셋 정리
4.4 데몬셋을 사용해 각 노드에서 정확히 한 개의 파드 실행하기
4.4.1 데몬셋으로 모든 노드에 파드 실행하기
4.4.2 데몬셋을 사용해 특정 노드에서만 파드를 실행하기
4.5 완료 가능한 단일 태스크를 수행하는 파드 실행
4.5.1 잡 리소스 소개
4.5.2 잡 리소스 정의
4.5.3 파드를 실행한 잡 보기
4.5.4 잡에서 여러 파드 인스턴스 실행하기
4.5.5 잡 파드가 완료되는 데 걸리는 시간 제한하기
4.6 잡을 주기적으로 또는 한 번 실행되도록 스케줄링하기
4.6.1 크론잡 생성하기
4.6.2 스케줄된 잡의 실행 방법 이해
4.7 요약


5장. 서비스: 클라이언트가 파드를 검색하고 통신을 가능하게 함

5.1 서비스 소개
5.1.1 서비스 생성
5.1.2 서비스 검색
5.2 클러스터 외부에 있는 서비스 연결
5.2.1 서비스 엔드포인트 소개
5.2.2 서비스 엔드포인트 수동 구성
5.2.3 외부 서비스를 위한 별칭 생성
5.3 외부 클라이언트에 서비스 노출
5.3.1 노드포트 서비스 사용
5.3.2 외부 로드밸런서로 서비스 노출
5.3.3 외부 연결의 특성 이해
5.4 인그레스 리소스로 서비스 외부 노출
5.4.1 인그레스 리소스 생성
5.4.2 인그레스로 서비스 액세스
5.4.3 하나의 인그레스로 여러 서비스 노출
5.4.4 TLS 트래픽을 처리하도록 인그레스 구성
5.5 파드가 연결을 수락할 준비가 됐을 때 신호 보내기
5.5.1 레디니스 프로브 소개
5.5.2 파드에 레디니스 프로브 추가
5.5.3 실제 환경에서 레디니스 프로브가 수행해야 하는 기능
5.6 헤드리스 서비스로 개별 파드 찾기
5.6.1 헤드리스 서비스 생성
5.6.2 DNS로 파드 찾기
5.6.3 모든 파드 검색 - 준비되지 않은 파드도 포함
5.7 서비스 문제 해결
5.8 요약


6장. 볼륨: 컨테이너에 디스크 스토리지 연결

6.1 볼륨 소개
6.1.1 예제의 볼륨 설명
6.1.2 사용 가능한 볼륨 유형 소개
6.2 볼륨을 사용한 컨테이너 간 데이터 공유
6.2.1 emptyDir 볼륨 사용
6.2.2 깃 리포지터리를 볼륨으로 사용하기
6.3 워커 노드 파일시스템의 파일 접근
6.3.1 hostPath 볼륨 소개
6.3.2 hostPath 볼륨을 사용하는 시스템 파드 검사하기
6.4 퍼시스턴트 스토리지 사용
6.4.1 GCE 퍼시스턴트 디스크를 파드 볼륨으로 사용하기
6.4.2 기반 퍼시스턴트 스토리지로 다른 유형의 볼륨 사용하기
6.5 기반 스토리지 기술과 파드 분리
6.5.1 퍼시스턴트볼륨과 퍼시스턴트볼륨클레임 소개
6.5.2 퍼시스턴트볼륨 생성
6.5.3 퍼시스턴트볼륨클레임 생성을 통한 퍼시스턴트볼륨 요청
6.5.4 파드에서 퍼시스턴트볼륨클레임 사용하기
6.5.5 퍼시스턴트볼륨과 퍼시스턴트볼륨클레임 사용의 장점 이해하기
6.5.6 퍼시스턴트볼륨 재사용
6.6 퍼시스턴트볼륨의 동적 프로비저닝
6.6.1 스토리지클래스 리소스를 통한 사용 가능한 스토리지 유형 정의하기
6.6.2 퍼시스턴트볼륨클레임에서 스토리지 클래스 요청하기
6.6.3 스토리지 클래스를 지정하지 않은 동적 프로비저닝
6.7 요약


7장. 컨피그맵과 시크릿: 애플리케이션 설정

7.1 컨테이너화된 애플리케이션 설정
7.2 컨테이너에 명령줄 인자 전달
7.2.1 도커에서 명령어와 인자 정의
7.2.2 쿠버네티스에서 명령과 인자 재정의
7.3 컨테이너의 환경변수 설정
7.3.1 컨테이너 정의에 환경변수 지정
7.3.2 변숫값에서 다른 환경변수 참조
7.3.3 하드코딩된 환경변수의 단점
7.4 컨피그맵으로 설정 분리
7.4.1 컨피그맵 소개
7.4.2 컨피그맵 생성
7.4.3 컨피그맵 항목을 환경변수로 컨테이너에 전달
7.4.4 컨피그맵의 모든 항목을 한 번에 환경변수로 전달
7.4.5 컨피그맵 항목을 명령줄 인자로 전달
7.4.6 컨피그맵 볼륨을 사용해 컨피그맵 항목을 파일로 노출
7.4.7 애플리케이션을 재시작하지 않고 애플리케이션 설정 업데이트
7.5 시크릿으로 민감한 데이터를 컨테이너에 전달
7.5.1 시크릿 소개
7.5.2 기본 토큰 시크릿 소개
7.5.3 시크릿 생성
7.5.4 컨피그맵과 시크릿 비교
7.5.5 파드에서 시크릿 사용
7.5.6 이미지를 가져올 때 사용하는 시크릿 이해
7.6 요약


8장. 애플리케이션에서 파드 메타데이터와 그 외의 리소스에 액세스하기

8.1 Downward API로 메타데이터 전달
8.1.1 사용 가능한 메타데이터 이해
8.1.2 환경변수로 메타데이터 노출하기
8.1.3 downwardAPI 볼륨에 파일로 메타데이터 전달
8.2 쿠버네티스 API 서버와 통신하기
8.2.1 쿠버네티스 REST API 살펴보기
8.2.2 파드 내에서 API 서버와 통신
8.2.3 앰배서더 컨테이너를 이용한 API 서버 통신 간소화
8.2.4 클라이언트 라이브러리를 사용해 API 서버와 통신
8.3 요약


9장. 디플로이먼트: 선언적 애플리케이션 업데이트

9.1 파드에서 실행 중인 애플리케이션 업데이트
9.1.1 오래된 파드를 삭제하고 새 파드로 교체
9.1.2 새 파드 기동과 이전 파드 삭제
9.2 레플리케이션컨트롤러로 자동 롤링 업데이트 수행
9.2.1 애플리케이션의 초기 버전 실행
9.2.2 kubectl을 이용한 롤링 업데이트
9.2.3 kubectl rolling-update를 더 이상 사용하지 않는 이유
9.3 애플리케이션을 선언적으로 업데이트하기 위한 디플로이먼트 사용하기
9.3.1 디플로이먼트 생성
9.3.2 디플로이먼트 업데이트
9.3.3 디플로이먼트 롤백
9.3.4 롤아웃 속도 제어
9.3.5 롤아웃 프로세스 일시 중지
9.3.6 잘못된 버전의 롤아웃 방지
9.4 요약


10장. 스테이트풀셋: 복제된 스테이트풀 애플리케이션 배포하기

10.1 스테이트풀 파드 복제하기
10.1.1 개별 스토리지를 갖는 레플리카 여러 개 실행하기
10.1.2 각 파드에 안정적인 아이덴티티 제공하기
10.2 스테이트풀셋 이해하기
10.2.1 스테이트풀셋과 레플리카셋 비교하기
10.2.2 안정적인 네트워크 아이덴티티 제공하기
10.2.3 각 스테이트풀 인스턴스에 안정적인 전용 스토리지 제공하기
10.2.4 스테이트풀셋 보장 이해하기
10.3 스테이트풀셋 사용하기
10.3.1 애플리케이션과 컨테이너 이미지 생성하기
10.3.2 스테이트풀셋을 통한 애플리케이션 배포하기
10.3.3 파드 가지고 놀기
10.4 스테이트풀셋의 피어 디스커버리
10.4.1 DNS를 통한 피어 디스커버리
10.4.2 스테이트풀셋 업데이트
10.4.3 클러스터된 데이터 저장소 사용하기
10.5 스테이트풀셋이 노드 실패를 처리하는 과정 이해하기
10.5.1 노드의 네트워크 연결 해제 시뮬레이션
10.5.2 수동으로 파드 삭제하기
10.6 요약


3부. 쿠버네티스 심화

11장. 쿠버네티스 내부 이해

11.1 아키텍처 이해
11.1.1 쿠버네티스 구성 요소의 분산 특성
11.1.2 쿠버네티스가 etcd를 사용하는 방법
11.1.3 API 서버의 기능
11.1.4 API 서버가 리소스 변경을 클라이언트에 통보하는 방법 이해
11.1.5 스케줄러 이해
11.1.6 컨트롤러 매니저에서 실행되는 컨트롤러 소개
11.1.7 Kubelet이 하는 일
11.1.8 쿠버네티스 서비스 프록시의 역할
11.1.9 쿠버네티스 애드온 소개
11.1.10 모든 것을 함께 가져오기
11.2 컨트롤러가 협업하는 방법
11.2.1 관련된 구성 요소 이해
11.2.2 이벤트 체인
11.2.3 클러스터 이벤트 관찰
11.3 실행 중인 파드에 관한 이해
11.4 파드 간 네트워킹
11.4.1 네트워크는 어떤 모습이어야 하는가
11.4.2 네트워킹 동작 방식 자세히 알아보기
11.4.3 컨테이너 네트워크 인터페이스 소개
11.5 서비스 구현 방식
11.5.1 kube-proxy 소개
11.5.2 kube-proxy가 iptables를 사용하는 방법
11.6 고가용성 클러스터 실행
11.6.1 애플리케이션 가용성 높이기
11.6.2 쿠버네티스 컨트롤 플레인 구성 요소의 가용성 향상
11.7 요약


12장. 쿠버네티스 API 서버 보안

12.1 인증 이해
12.1.1 사용자와 그룹
12.1.2 서비스어카운트 소개
12.1.3 서비스어카운트 생성
12.1.4 파드에 서비스어카운트 할당
12.2 역할 기반 액세스 제어로 클러스터 보안
12.2.1 RBAC 인가 플러그인 소개
12.2.2 RBAC 리소스 소개
12.2.3 롤과 롤바인딩 사용
12.2.4 클러스터롤과 클러스터롤바인딩 사용하기
12.2.5 디폴트 클러스터롤과 클러스터롤바인딩의 이해
12.2.6 인가 권한을 현명하게 부여하기
12.3 요약


13장. 클러스터 노드와 네트워크 보안

13.1 파드에서 호스트 노드의 네임스페이스 사용
13.1.1 파드에서 노드의 네트워크 네임스페이스 사용
13.1.2 호스트 네트워크 네임스페이스를 사용하지 않고 호스트 포트에 바인딩
13.1.3 노드의 PID와 IPC 네임스페이스 사용
13.2 컨테이너의 보안 컨텍스트 구성
13.2.1 컨테이너를 특정 사용자로 실행
13.2.2 컨테이너가 루트로 실행되는 것 방지
13.2.3 특권 모드에서 파드 실행
13.2.4 컨테이너에 개별 커널 기능 추가
13.2.5 컨테이너에서 기능 제거
13.2.6 프로세스가 컨테이너의 파일시스템에 쓰는 것 방지
13.2.7 컨테이너가 다른 사용자로 실행될 때 볼륨 공유
13.3 파드의 보안 관련 기능 사용 제한
13.3.1 PodSecurityPolicy 리소스 소개
13.3.2 runAsUser, fsGroup, supplementalGroups 정책
13.3.3 allowed, default, disallowed 기능 구성
13.3.4 파드가 사용할 수 있는 볼륨 유형 제한
13.3.5 각각의 사용자와 그룹에 다른 PodSecurityPolicies 할당
13.4 파드 네트워크 격리
13.4.1 네임스페이스에서 네트워크 격리 사용
13.4.2 네임스페이스의 일부 클라이언트 파드만 서버 파드에 연결하도록 허용
13.4.3 쿠버네티스 네임스페이스 간 네트워크 격리
13.4.4 CIDR 표기법으로 격리
13.4.5 파드의 아웃바운드 트래픽 제한
13.5 요약


14장. 파드의 컴퓨팅 리소스 관리

14.1 파드 컨테이너의 리소스 요청
14.1.1 리소스 요청을 갖는 파드 생성하기
14.1.2 리소스 요청이 스케줄링에 미치는 영향
14.1.3 CPU 요청이 CPU 시간 공유에 미치는 영향
14.1.4 사용자 정의 리소스의 정의와 요청
14.2 컨테이너에 사용 가능한 리소스 제한
14.2.1 컨테이너가 사용 가능한 리소스 양을 엄격한 제한으로 설정
14.2.2 리소스 제한 초과
14.2.3 컨테이너의 애플리케이션이 제한을 바라보는 방법
14.3 파드 QoS 클래스 이해
14.3.1 파드의 QoS 클래스 정의
14.3.2 메모리가 부족할 때 어떤 프로세스가 종료되는지 이해
14.4 네임스페이스별 파드에 대한 기본 요청과 제한 설정
14.4.1 LimitRange 리소스 소개
14.4.2 LimitRange 오브젝트 생성하기
14.4.3 강제 리소스 제한
14.4.4 기본 리소스 요청과 제한 적용
14.5 네임스페이스의 사용 가능한 총 리소스 제한하기
14.5.1 리소스쿼터 오브젝트 소개
14.5.2 퍼시스턴트 스토리지에 관한 쿼터 지정하기
14.5.3 생성 가능한 오브젝트 수 제한
14.5.4 특정 파드 상태나 QoS 클래스에 대한 쿼터 지정
14.6 파드 리소스 사용량 모니터링
14.6.1 실제 리소스 사용량 수집과 검색
14.6.2 기간별 리소스 사용량 통계 저장 및 분석
14.7 요약


15장. 파드와 클러스터 노드의 오토스케일링

15.1 수평적 파드 오토스케일링
15.1.1 오토스케일링 프로세스 이해
15.1.2 CPU 사용률 기반 스케일링
15.1.3 메모리 소비량에 기반을 둔 스케일링
15.1.4 기타 및 사용자 정의 메트릭 기반 스케일링
15.1.5 오토스케일링에 적합한 메트릭 결정
15.1.6 레플리카를 0으로 감소
15.2 수직적 파드 오토스케일링
15.2.1 리소스 요청 자동 설정
15.2.2 파드가 실행되는 동안 리소스 요청 수정
15.3 수평적 클러스터 노드 확장
15.3.1 클러스터 오토스케일러 소개
15.3.2 클러스터 오토스케일러 활성화
15.3.3 클러스터 스케일 다운 동안에 서비스 중단 제한
15.4 요약


16장. 고급 스케줄링

16.1 테인트와 톨러레이션을 사용해 특정 노드에서 파드 실행 제한
16.1.1 테인트와 톨러레이션 소개
16.1.2 노드에 사용자 정의 테인트 추가하기
16.1.3 파드에 톨러레이션 추가
16.1.4 테이트와 톨러레이션의 활용 방안 이해
16.2 노드 어피니티를 사용해 파드를 특정 노드로 유인하기
16.2.1 하드 노드 어피니티 규칙 지정
16.2.2 파드의 스케줄링 시점에 노드 우선순위 지정
16.3 파드 어피니티와 안티-어피니티를 이용해 파드 함께 배치하기
16.3.1 파드 간 어피니티를 사용해 같은 노드에 파드 배포하기
16.3.2 동일한 랙, 가용 영역 또는 리전에 파드 배포
16.3.3 필수 요구 사항 대신 파드 어피니티 선호도 표현하기
16.3.4 파드 안티-어피니티를 사용해 파드들이 서로 떨어지게 스케줄링하기
16.4 요약


17장. 애플리케이션 개발을 위한 모범 사례

17.1 모든 것을 하나로 모아 보기
17.2 파드 라이프사이클 이해
17.2.1 애플리케이션이 종료되고 파드 재 배치 예상하기
17.2.2 종료된 파드 또는 부분적으로 종료된 파드를 다시 스케줄링하기
17.2.3 원하는 순서로 파드 시작
17.2.4 라이프사이클 훅 추가
17.2.5 파드 셧다운 이해하기
17.3 모든 클라이언트 요청의 적절한 처리 보장
17.3.1 파드가 시작될 때 클라이언트 연결 끊기 방지
17.3.2 파드 셧다운 동안 연결 끊어짐 방지
17.4 쿠버네티스에서 애플리케이션을 쉽게 실행하고 관리할 수 있게 만들기
17.4.1 관리 가능한 컨테이너 이미지 만들기
17.4.2 이미지에 적절한 태그를 지정하고 imagePullPolicy를 현명하게 사용
17.4.3 일차원 레이블 대신 다차원 레이블 사용
17.4.4 어노테이션으로 각 리소스 설명
17.4.5 프로세스가 종료된 원인에 대한 정보 제공
17.4.6 애플리케이션 로깅 처리
17.5 개발 및 테스트 모범사례
17.5.1 개발 중 쿠버네티스 외부에서 애플리케이션 실행
17.5.2 개발 중 Minikube 사용
17.5.3 버전 관리 및 자동 배포 리소스 매니페스트
17.5.4 YAML/JSON 매니페스트 대안으로 Ksonnet 소개
17.5.5 지속적 통합과 지속적 배포
17.6 요약


18장. 쿠버네티스의 확장

18.1 사용자 정의 API 오브젝트 정의
18.1.1 CustomResourceDefinition 소개
18.1.2 사용자 정의 컨트롤러로 사용자 정의 리소스 자동화
18.1.3 사용자 정의 오브젝트 유효성 검증
18.1.4 사용자 정의 오브젝트를 위한 사용자 정의 API 서버 제공
18.2 쿠버네티스 서비스 카탈로그를 통한 쿠버네티스 확장
18.2.1 서비스 카탈로그 소개
18.2.2 서비스 카탈로그 API 서버 및 컨트롤러 매니저 소개
18.2.3 Service Broker와 OpenServiceBroker API 소개
18.2.4 프로비저닝과 서비스 사용
18.2.5 바인딩 해제와 프로비저닝 해제
18.2.6 서비스 카탈로그의 이점 이해
18.3 쿠버네티스 기반 플랫폼
18.3.1 레드햇 오픈시프트 컨테이너 플랫폼
18.3.2 Deis Workflow and Helm
18.4 요약

부록 A. 다중 클러스터 환경에서 kubectl 사용하기

부록 B. kubeadm을 사용한 다중 노드 클러스터 설정하기

부록 C. 다른 컨테이너 런타임 사용하기

부록 D. 클러스터 페더레이션

책에서 다루는 쿠버네티스 리소스

저자소개

마르코 룩샤 (지은이)    정보 더보기
간단한 웹 애플리케이션에서부터 전체 ERP 시스템, 프레임워크, 미들웨어 소프트웨어에 이르기까지 개발 경력만 20년 이상인 전문 소프트웨어 엔지니어다. 1985년 여섯 살 때 아버지가 사준 중고 ZX 스펙트럼 컴퓨터로 프로그래밍에 첫발을 내디뎠다. 초등학교에서는 로고 프로그래밍 대회에서 전국 챔피언이 됐고 여름 코딩 캠프에 참석해 파스칼 프로그래밍을 배웠다. 이후 다양한 프로그래밍 언어를 사용해 소프트웨어를 개발했다. 웹이 상대적으로 성숙하지 않았던 고등학생 때 동적 웹사이트를 만들기 시작했다. 그 후 슬로베니아 류블랴나대학교(University of Ljubljana)에서 컴퓨터 과학을 공부하면서 지역 기업의 의료와 통신 산업용 소프트웨어 개발로 분야를 옮겼다. 마침내 JBoss 미들웨어 제품을 기반으로 한 구글 앱 엔진 API를 오픈소스로 구현하면서 레드햇에서 일하게 됐다. 아울러 CDI/Weld, Infinispan/JBoss Data-Grid 등의 프로젝트에도 참여했다. 2014년 말부터 레드햇의 클라우드 지원 팀에서 근무하고 있다. 쿠버네티스의 새로운 개발 관련 기술에 대한 최신 정보를 유지하고, 회사의 미들웨어 소프트웨어가 쿠버네티스와 오픈시프트의 기능을 최대한 활용할 수 있도록 보장하는 업무를 맡고 있다.
펼치기
강인호 (옮긴이)    정보 더보기
개발자로 IT 경력을 시작해서 EnSOA와 티맥스소프트를 거치면서 CBD & SOA 방법론 컨설팅을 수행했다. 오라클에서는 클라우드 네이티브, 컨테이너 네이티브 애플리케이션 개발과 운영을 도우며, 개발자 생태계를 지원하고 소통하는 역할을 하고 있으며, 최근에는 머신 러닝에도 많은 관심을 가지고 있다.
펼치기
황주필 (옮긴이)    정보 더보기
IT 기업에서 개발자로 시작해 BEA Systems, 오라클, Pivotal, Vmware 등에서 소프트웨어 아키텍트, 엔지니어로 일했다. 수많은 기업에서 기업용 소프트웨어에 대한 지원과 비즈니스 적용을 도왔다. 컨테이너(Container)에 관심이 많아 쿠버네티스(Kubernetes) 생태계에 참여하고 있고 클라우드 네이티브 애플리케이션(Cloud Native Application)의 개발과 운영을 도왔으며, 이벤트 기반 아키텍처(Event Driven Architecture)를 기업에 도입하는 데 도움을 주고 있다. 현재 Confluent에서 솔루션 엔지니어로 일하며 수많은 고객이 EDA 기반의 애플리케이션이나 실시간 데이터 파이프라인을 성공적으로 구축할 수 있도록 돕는 중이다. 주요 번역서로는 『코틀린 마이크로서비스 개발』(에이콘, 2019), 『쿠버네티스로 만나는 손안의 마이크로서비스』(에이콘, 2020), 『쿠버네티스 인 액션』(에이콘, 2020) 등이 있다.
펼치기
이원기 (옮긴이)    정보 더보기
여러 삼성 관계사 웹 기반 서비스를 구현하기 위한 인프라 엔지니어로 시작해 H/W, O/S, 미들웨어 등 인프라 전반을 아우르는 경험을 쌓았다. 이후 SDS 클라우드 서비스의 쿠버네티스 기반 시스템을 운영하며 컨테이너와 쿠버네티스에 관심을 갖게 됐다. 현재 클라우드 기술 전문 조직에서 장애 지원과 기술 전문가 역할을 하고 있다. 업계의 변화를 지각하며 클라우드 네이티브를 위한 다양한 기술 분야에 관심을 갖고 있다.
펼치기
임찬식 (옮긴이)    정보 더보기
백엔드 개발자다. 주로 시스템 인프라를 모니터링하는 서비스 개발 및 데이터 분석 관련 프로젝트를 진행해왔다. 머신러닝 기반 서비스를 효율적으로 제공하기 위해 쿠버네티스와 컨테이너를 적극 도입하고, 프로메테우스와 그라파나를 이용한 통합 모니터링 환경을 구축했다. 쿠버네티스 클러스터를 리눅스 환경에서 직접 구축하며 경험했던 문제점과 해결 방법을 다양한 밋업에서 공유했다. 현재 넥스클라우드에서 쿠버네티스와 프로메테우스를 활용한 모니터링 프로젝트를 진행하고 있다.
펼치기
이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책