장바구니 담기 close

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

쿠버네티스 시작하기

쿠버네티스 시작하기

  • 브렌던 번스
  • |
  • 에이콘출판
  • |
  • 2023-08-31 출간
  • |
  • 484페이지
  • |
  • 188 X 235 X 27mm
  • |
  • ISBN 9791161757803
판매가

35,000원

즉시할인가

31,500

배송비

무료배송

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

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

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

출판사서평

◈ 이 책에서 다루는 내용 ◈
◆ 간단한 클러스터를 생성해 쿠버네티스 동작 방식 살펴보기
◆ 쿠버네티스를 통한 애플리케이션 배포 방법 자세히 알아보기
◆ 데몬셋, 잡, 컨피그맵 및 시크릿과 같은 쿠버네티스의 특수 객체 처리하기
◆ 완전한 애플리케이션의 라이프 사이클을 관리하는 디플로이먼트 고찰하기
◆ 애플리케이션 배포의 보안 강화하기
◆ 멀티클러스터 애플리케이션을 배포하고 프로그래밍 언어를 통해 쿠버네티스에 액세스하기

◈ 이 책의 대상 독자 ◈
분산 시스템을 처음 접하든, 아니면 수년간 클라우드 네이티브 시스템을 배포한 경험이 있는 사용자든 관계없이 컨테이너와 쿠버네티스는 새로운 수준의 속도, 민첩성, 신뢰성, 효율성을 달성하는 데 도움이 될 수 있다. 이 책은 쿠버네티스 클러스터 오케스트레이터, 도구와 API를 사용해 분산 애플리케이션의 개발, 배포, 보안, 유지 관리를 개선하는 방법을 설명한다. 쿠버네티스에 대한 사전 경험이 없는 상태에서 이 책을 최대한 활용하려면 서버 기반 애플리케이션에 대한 빌드와 배포 지식을 갖추고 있어야 한다. 또한 로드밸런서와 네트워크 스토리지 같은 개념에 익숙하다면 내용을 이해하는 데 도움이 된다. 마찬가지로 리눅스, 리눅스 컨테이너, 도커에 대한 경험 역시 필수는 아니지만 경험이 있다면 이 책을 최대한 활용하는 데 있어 큰 도움이 될 것이다.

◈ 이 책의 구성 ◈
1장, ‘쿠버네티스 소개’에서는 쿠버네티스의 장점을 상위 수준 개념으로 소개하며, 쿠버네티스를 처음 접하는 경우 이 책의 나머지 부분을 모두 읽어야 하는 이유를 설명한다.
2장, ‘컨테이너 생성과 실행’에서는 컨테이너 및 컨테이너화된 애플리케이션 개발 방법을 자세히 소개한다. 이전에 도커(Docker)를 사용해본 경험이 있다면 2장이 매우 유용할 것이다. 이미 도커 전문가라면 다시 한번 리뷰할 수 있는 기회가 될 것이다.
3장, ‘쿠버네티스 클러스터 배포’에서는 쿠버네티스를 배포하는 방법을 설명한다. 이 책의 내용 대부분은 쿠버네티스 사용 방법에 중점을 두고 있지만 클러스터를 본격적으로 사용하기에 앞서 클러스터를 구동하고 이를 실행해야 한다. 운영 환경 구성을 위해 클러스터를 실행하는 방법은 이 책에서 다루지 않지만 3장에서 클러스터를 생성하는 쉬운 방법을 통해 쿠버네티스 사용 방법을 이해할 수 있다.
4장, ‘공통 kubectl 명령’에서는 쿠버네티스 클러스터와 상호작용하는 데 사용되는 공통 명령을 소개한다.
5장부터는 쿠버네티스를 사용한 애플리케이션 배포 방법을 자세히 살펴보는데, 파드(5장), 라벨과 애노테이션(6장), 서비스(7장), 인그레스(8장), 레플리카셋(9장)을 다룬다. 이들은 쿠버네티스에서 서비스를 배포하는 데 필요한 핵심 사항들이다. 그런 다음 완전한 애플리케이션의 생명주기와 밀접하게 관련이 있는 디플로이먼트(10장)를 살펴본다.
이후에는 쿠버네티스에서 데몬셋(11장), 잡(12장), 컨피그맵과 시크릿(13장) 같은 좀 더 쿠버네티스에 특화된 객체를 다룬다. 이 개념들은 대부분의 운영 환경 애플리케이션에 필수적이지만 쿠버네티스를 학습하는 단계에서는 일단 건너뛰고 더 많은 경험과 전문 지식을 쌓고 난 후에 살펴보는 것이 더 도움이 될 수 있다.
다음으로 역할 기반 접근 제어(14장)를 소개하고 서비스 메시(15장) 및 쿠버네티스와 스토리지 연계(16장)를 살펴본다. 쿠버네티스 확장(17장)과 프로그래밍 언어에서 쿠버네티스 접근(18장)을 살펴본다. 그런 다음 쿠버네티스에서 애플리케이션 보안(19장), 쿠버네티스 정책과 거버넌스(20장)에 초점을 맞춰 설명한다. 마지막으로 멀티클러스터에서 애플리케이션을 개발하고 배포하는 방법(21장)에 대한 몇 가지 예제와 소스 컨트롤 시스템에서 애플리케이션을 구성하는 방법(22장)을 살펴보는 것으로 마무리한다.

◈ 옮긴이의 말 ◈
클라우드 컴퓨팅 분야의 발전과 함께 최근 많은 기업이 온프레미스 자원을 클라우드로 전환해 IT 인프라 환경을 베어메탈에서 가상머신으로 전환했다. 그 결과 인프라 자원을 공유함으로써 좀 더 효율적으로 사용하고 비용을 절감할 수 있었다. 이러한 장점에도 높은 오버헤드, 보안 취약점, 낮은 성능 등 여러 단점이 부각됐다. 이처럼 가상머신의 한계를 느끼게 된 사용자들은 좀 더 안전하고 경량화된 도커/컨테이너 기술에 관심을 갖게 됐으며, 최근 많은 기업이 애플리케이션의 개발과 배포 환경을 가상머신에서 격리 기반의 도커/컨테이너로 변경하고 있다. 이처럼 기업 내에서 도커/컨테이너 전환이 점점 더 가속화되고 관리해야 하는 컨테이너의 수가 많아지면서 컨테이너 오케스트레이션(Container Orchestration) 기술의 필요성이 대두됐다. 컨테이너 오케스트레이션이란 컨테이너의 배포, 관리, 확장, 네트워킹 등을 자동화하는 기술을 의미한다. 초기에는 컨테이너 오케스트레이션을 위한 여러 관리 도구가 등장했지만 오늘날에는 쿠버네티스가 사실상의 업계 표준으로 자리매김했다. 쿠버네티스는 구글에서 개발해 오픈소스로 공개한 관리 시스템이며, 수백 또는 수천 개의 컨테이너를 관리하는 구글의 기술과 경험이 집약돼 있다. 따라서 대규모 환경에서 도커/컨테이너를 효율적으로 관리할 수 있는 쿠버네티스에 대한 체계적인 이해와 학습이 필요한 시점이다. 이 책은 세 번째 개정을 통해 최근에 개념이 추가된 쿠버네티스 보안, 서비스 메시 등을 포함해 쿠버네티스 학습에 필요한 필수 요소를 예제와 함께 다루고 있으며, 실제 운영 환경에 정책을 정의하고 컨테이너화된 애플리케이션을 배포하는 것은 물론 보안을 강화하며 관리할 수 있는 방법까지도 설명하고 있다. 이 책이 클라우드 환경에 쿠버네티스 도입을 꿈꾸는 모든 담당자에게 큰 도움이 되길 바란다.

목차

1장. 쿠버네티스 소개
__속도
____불변성의 가치
____선언형 컨피규레이션
____자가 치유 시스템
__서비스와 팀의 확장
____분리
____애플리케이션과 클러스터의 손쉬운 확장
____마이크로서비스를 통한 개발 팀 확장
____일관성과 확장에 대한 고려 사항 분리
__인프라 추상화
__효율성
__클라우드 네이티브 에코시스템
__요약


2장. 컨테이너 생성과 실행
__컨테이너 이미지
__도커를 활용한 애플리케이션 이미지 빌드
____도커파일
____이미지 크기 최적화
____이미지 보안
__다단계 이미지 빌드
__원격 레지스트리에 이미지 저장
__컨테이너 런타임 인터페이스
____도커로 컨테이너 실행
____kuard 애플리케이션 탐색
____리소스 사용량 제한
__정리
__요약


3장. 쿠버네티스 클러스터 배포
__퍼블릭 클라우드 제공자 환경에 쿠버네티스 설치
____구글 쿠버네티스 엔진을 활용해 쿠버네티스 설치
____애저 쿠버네티스 서비스에 쿠버네티스 설치
____아마존 웹 서비스에 쿠버네티스 설치
__미니큐브를 통해 로컬 환경에 쿠버네티스 설치
__도커 환경에서 쿠버네티스 실행
__쿠버네티스 클라이언트
____클러스터 상태 확인
____쿠버네티스 노드 조회
__클러스터 컴포넌트
____쿠버네티스 프록시
____쿠버네티스 DNS
____쿠버네티스 UI
__요약


4장. 공통 kubectl 명령
__네임스페이스
__콘텍스트
__쿠버네티스 API 객체 조회
__쿠버네티스 객체 생성, 수정, 삭제
__객체 라벨링과 애노테이션
__디버깅 명령
__클러스터 관리
__명령 자동 완성
__클러스터 조회의 대안
__요약


5장. 파드
__쿠버네티스에서의 파드
__파드에 대한 생각
__파드 매니페스트
____파드 생성
____파드 매니페스트 생성
__파드 실행
____파드 조회
____파드 세부 사항
____파드 삭제
__파드에 접근
____로그를 통해 더 많은 정보 얻기
____exec를 사용해 컨테이너에서 명령 실행
____컨테이너 내외부로 파일 복사
__상태 검사
____활성 프로브
____준비 프로브
____시작 프로브
____고급 프로브 구성
____상태 검사의 기타 타입
__리소스 관리
____리소스 요청: 최소 필요 리소스
____리소스 제한으로 리소스 사용량 제한
__볼륨을 통한 데이터 보존
____파드에 볼륨 사용
____파드에서 볼륨을 사용하는 다양한 방법
__종합
__요약


6장. 라벨과 애노테이션
__라벨
____라벨 적용
____라벨 수정
____라벨 셀렉터
____API 객체의 라벨 셀렉터
____쿠버네티스 아키텍처의 라벨
__애노테이션
__정리
__요약


7장. 서비스 탐색
__서비스 탐색이란?
__서비스 객체
____서비스 DNS
____준비 검사
__클러스터 외부로의 서비스
__로드밸런서 연계
__고급 세부 정보
____엔드포인트
____수동 서비스 탐색
____kube-proxy와 클러스터 IP
____클러스터 IP 환경 변수
__기타 환경과 연결
____클러스터 외부 리소스에 연결
____클러스터 내부의 서비스에 외부 리소스 연결
__정리
__요약


8장. 인그레스를 통한 HTTP 로드밸런싱
__인그레스 스펙과 인그레스 컨트롤러
__컨투어 설치
____DNS 설정
____로컬 hosts 파일 설정
__인그레스의 사용
____가장 간단한 사용법
____호스트 이름의 사용
____경로 사용
____정리
__심화된 인그레스 주제와 문제
____다중 인그레스 컨트롤러 실행
____다중 인그레스 객체
____인그레스와 네임스페이스
____경로 재작성
____TLS 제공
__인그레스의 대체 구현
__인그레스의 미래
__요약


9장. 레플리카셋
__조정 루프
__파드와 레플리카셋의 관계
____기존 컨테이너 수용
____컨테이너 격리
__레플리카셋을 통한 설계
__레플리카셋 명세
____파드 템플릿
____라벨
__레플리카셋 생성
__레플리카셋 검사
____파드에서 레플리카셋 찾기
____레플리카셋에 대한 파드 집합 찾기
__레플리카셋 확장
____kubectl scale을 사용한 명령형 확장
____kubectl apply를 사용한 선언형 확장
____레플리카셋 자동 확장
__레플리카셋 삭제
__요약


10장. 디플로이먼트
__첫 번째 디플로이먼트
__디플로이먼트 내부
__디플로이먼트 생성
__디플로이먼트 관리
__디플로이먼트 업데이트
____디플로이먼트 확장
____컨테이너 이미지 업데이트
____롤아웃 이력
__디플로이먼트 전략
____재생성 전략
____롤링업데이트 전략
____서비스 안정을 위한 느린 롤아웃
__디플로이먼트 삭제
__디플로이먼트 모니터링
__요약


11장. 데몬셋
__데몬셋 스케줄러
__데몬셋 생성
__데몬셋을 특정 노드로 제한
____노드에 라벨 추가
____노드 셀렉터
__데몬셋 업데이트
__데몬셋 삭제
__요약


12장. 잡
__잡 객체
__잡 패턴
____원샷
____병렬
____작업 대기열
__크론잡
__요약


13장. 컨피그맵과 시크릿
__컨피그맵
____컨피그맵 생성
____컨피그맵 사용
__시크릿
____시크릿 생성
____시크릿 사용
____사설 컨테이너 레지스트리
__명명 규칙
__컨피그맵과 시크릿 관리
____조회
____생성
____업데이트
__요약


14장. 쿠버네티스를 위한 역할 기반 접근 제어
__역할 기반 접근 제어
____쿠버네티스에서의 ID
____역할과 역할 바인딩의 이해
____쿠버네티스에서의 역할과 역할 바인딩
__RBAC을 관리하기 위한 기술
____can-i를 통한 권한 부여 테스트
____소스 컨트롤에서 RBAC 관리
__고급 주제
____클러스터 역할 조합
____바인딩을 위한 그룹 사용
__요약


15장. 서비스 메시
__암호화와 상호 TLS를 통한 인증
__트래픽 셰이핑
__내부 검사
__서비스 메시가 정말로 필요한가?
__서비스 메시 구현체에 대한 내부 검사
__서비스 메시 환경
__요약


16장. 스토리지 솔루션과 쿠버네티스의 연계
__외부 서비스 가져오기
____셀렉터가 없는 서비스
____외부 서비스의 제약 사항: 상태 검사
__신뢰할 수 있는 싱글톤 실행
____MySQL 싱글톤 실행
____동적 볼륨 프로비저닝
__스테이트풀셋을 통한 쿠버네티스 네이티브 스토리지
____스테이트풀셋의 속성
____스테이트풀셋을 통한 몽고DB 수동 복제
____몽고DB 클러스터 생성 자동화
____영구 볼륨과 스테이트풀셋
____마지막 단계: 준비 프로브
__요약


17장. 쿠버네티스 확장
__쿠버네티스 확장의 의미
__확장 지점
__사용자 정의 리소스를 위한 패턴
____저스트 데이터
____컴파일러
____오퍼레이터
____시작하기
__요약


18장. 공통 프로그래밍 언어에서 쿠버네티스 접근하기
__쿠버네티스 API: 클라이언트의 관점
____OpenAPI와 생성된 클라이언트 라이브러리
____kubectl x는 어떤가?
__쿠버네티스 API 프로그래밍
____클라이언트 라이브러리 설치
____쿠버네티스 API에 인증
____쿠버네티스 API에 접근
____모두 합치기: 파이썬, 자바, .NET에서 파드 나열과 생성
____객체 생성과 패치
____변경 사항에 대한 쿠버네티스 API 지켜보기
____파드와 상호작용
__요약


19장. 쿠버네티스에서 애플리케이션 보안
__SecurityContext 이해
____SecurityContext 문제
__파드 보안
____파드 보안이란?
____파드 보안 표준 적용
__서비스 계정 관리
__역할 기반 접근 제어
__런타임 클래스
__네트워크 정책
__서비스 메시
__보안 벤치마크 도구
__이미지 보안
__요약


20장. 쿠버네티스 클러스터에 대한 정책과 거버넌스
__정책과 거버넌스가 중요한 이유
__승인 흐름
__게이트키퍼를 통한 정책과 거버넌스
____개방형 정책 에이전트란?
____게이트키퍼 설치
____정책 구성
____제약 조건 템플릿 이해
____제약 조건 생성
____감사
____변형
____데이터 복제
____메트릭
____정책 라이브러리
__요약


21장. 멀티클러스터 애플리케이션 배포
__시작에 앞서
__로드밸런싱 접근 방식으로 맨 위에서부터 시작하기
__멀티클러스터를 위한 애플리케이션 구축
____복제된 사일로: 가장 단순한 교차 지역 모델
____샤딩: 지역 데이터
____더 나은 유연성: 마이크로서비스 라우팅
__요약


22장. 애플리케이션 구성
__알아야 할 원칙
____신뢰성 있는 원천 데이터로서의 파일 시스템
____코드 리뷰의 역할
____피처 게이트
__소스 컨트롤에서의 애플리케이션 관리
____파일 시스템 레이아웃
____정기 버전 관리
__개발, 테스트, 배포를 위한 애플리케이션 구조화
____목표
____릴리스 진행
__템플릿을 통한 애플리케이션 매개변수화
____헬름과 템플릿을 통한 매개변수화
____매개변수화를 위한 파일 시스템 레이아웃
__전 세계에 애플리케이션 배포
____전 세계 배포를 위한 아키텍처
____전 세계 배포 구현
____전 세계 배포를 위한 대시보드와 모니터링
__요약


부록. 쿠버네티스 클러스터 구축

교환 및 환불안내

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