000 | 00000nam c2200205 c 4500 | |
001 | 000046158884 | |
005 | 20230918163117 | |
007 | ta | |
008 | 230918s2023 ulka 001a kor | |
020 | ▼a 9791161757803 ▼g 93000 | |
040 | ▼a 211009 ▼c 211009 ▼d 211009 | |
041 | 1 | ▼a kor ▼h eng |
082 | 0 4 | ▼a 005.16 ▼2 23 |
085 | ▼a 005.16 ▼2 DDCK | |
090 | ▼a 005.16 ▼b 2023 | |
245 | 0 0 | ▼a 쿠버네티스 시작하기 / ▼d 브렌던 번스 [외]지음 ; ▼e 이준 옮김 |
246 | 1 9 | ▼a Kubernetes : ▼b up and running : dive into the future of infrastructure ▼g (3rd ed.) |
246 | 3 9 | ▼a Kubernetes : ▼b up & running |
260 | ▼a 서울 : ▼b 에이콘, ▼c 2023 | |
300 | ▼a 482 p. : ▼b 삽화 ; ▼c 24 cm | |
490 | 1 0 | ▼a 에이콘 클라우드 컴퓨팅 시리즈 |
500 | ▼a 색인수록 | |
500 | ▼a 공저자: 조 베다, 켈시 하이타워, 라클런 이븐슨 | |
650 | 0 | ▼a Application software ▼x Development ▼x Automation |
650 | 0 | ▼a Software maintenance |
650 | 0 | ▼a Computer software ▼x Installation |
650 | 0 | ▼a Virtual computer systems |
650 | 0 | ▼a Open source software |
700 | 1 | ▼a Burns, Brendan, ▼d 1976-, ▼e 저 ▼0 AUTH(211009)109641 |
700 | 1 | ▼a Beda, Joe, ▼d 1975-, ▼e 저 ▼0 AUTH(211009)109677 |
700 | 1 | ▼a Hightower, Kelsey, ▼d 1981-, ▼e 저 |
700 | 1 | ▼a Evenson, Lachlan, ▼e 저 |
700 | 1 | ▼a 이준, ▼e 역 |
830 | 0 | ▼a 에이콘 클라우드 컴퓨팅 시리즈 |
900 | 1 0 | ▼a 번스, 브렌던, ▼e 저 |
900 | 1 0 | ▼a 베다, 조, ▼e 저 |
900 | 1 0 | ▼a 하이타워, 켈시, ▼e 저 |
900 | 1 0 | ▼a 이븐슨, 라클런, ▼e 저 |
945 | ▼a ITMT |
Holdings Information
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 005.16 2023 | Accession No. 121264067 | Availability Available | Due Date | Make a Reservation | Service |
Contents information
Book Introduction
가상화 기술을 기반으로 한 가상머신 기술의 높은 오버헤드, 낮은 성능 등 단점이 부각되면서 이러한 문제 해결을 위해 보다 경량화된 도커/컨테이너 기술이 각광받고 있다. 이러한 추세에 따라 관리해야 하는 도커/컨테이너의 수가 많아지면서, 이를 효율적으로 관리 및 운영할 수 있는 쿠버네티스를 설명하는 책이다.
애플리케이션의 컨테이너화 방법부터 쿠버네티스의 설치, 운영에 필요한 기본 개념 및 용어, 운영 환경에서 활용 방안까지 예제와 함께 알기 쉽게 소개한다. 또한 3판에서는 운영 환경에 필요한 정책 및 거버넌스, 최신 기술인 서비스 메시를 새롭게 추가했다. 쿠버네티스를 처음 접하는 독자가 고급 사용자가 될 수 있도록 이끌어주는 좋은 지침서가 될 것이다.
◈ 이 책에서 다루는 내용 ◈
◆ 간단한 클러스터를 생성해 쿠버네티스 동작 방식 살펴보기
◆ 쿠버네티스를 통한 애플리케이션 배포 방법 자세히 알아보기
◆ 데몬셋, 잡, 컨피그맵 및 시크릿과 같은 쿠버네티스의 특수 객체 처리하기
◆ 완전한 애플리케이션의 라이프 사이클을 관리하는 디플로이먼트 고찰하기
◆ 애플리케이션 배포의 보안 강화하기
◆ 멀티클러스터 애플리케이션을 배포하고 프로그래밍 언어를 통해 쿠버네티스에 액세스하기
◈ 이 책의 대상 독자 ◈
분산 시스템을 처음 접하든, 아니면 수년간 클라우드 네이티브 시스템을 배포한 경험이 있는 사용자든 관계없이 컨테이너와 쿠버네티스는 새로운 수준의 속도, 민첩성, 신뢰성, 효율성을 달성하는 데 도움이 될 수 있다. 이 책은 쿠버네티스 클러스터 오케스트레이터, 도구와 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장)을 살펴보는 것으로 마무리한다.
Information Provided By: :

Author Introduction
켈시 하이타워(지은이)
구글의 클라우드 플랫폼을 담당하는 구글의 수석 디벨로퍼 애드보킷(principal developer advocate)이다. 구글의 쿠버네티스 엔진, 클라우드 펑션(Cloud Functions), 애피지(apigee)의 API 게이트웨이 등을 포함한 구글 클라우드의 수많은 제품을 개발 및 개선하는 데 도움을 줬다. 또한 대부분의 시간을 글로벌 <포춘지> 선정 1000대 경영진 및 개발자와 함께 보내며, 이들이 구글의 기술과 플랫폼을 제대로 이해하고 활용해 비즈니스를 성장시키는 데 도움을 줬다. 클라우드 친화적인 애플리케이션을 구축하고 제공하는 데 있어 소프트웨어 개발자와 운영 전문가를 도울 수 있는 프로젝트를 유지 관리하는 데 크게 기여한 오픈소스 컨트리뷰터다. 뛰어난 저자 겸 기조연설자로, 쿠버네티스 커뮤니티의 활동을 도운 공로로 CNCF Top 앰버서더 상(CNCF Top Ambassador Award)을 수상했다. 멘토이자 기술 고문으로 창업자가 자신의 비전을 현실로 바꿀 수 있게 도와주고 있다.
브렌던 번스(지은이)
짧은 기간 동안 소프트웨어 산업 경력을 쌓은 후, 인간처럼 움직이는 로봇 팔에 대한 운동 계획을 연구해 로보틱스 분야에서 박사 학위를 취득했다. 그 후 잠시 동안 컴퓨터과학 교수로 활동했다. 결국 시애틀로 돌아와 구글에 합류해 저지연 색인을 사용한 웹 검색 인프라에 대한 업무를 담당했다. 구글에 있는 동안 조 베다, 크레이크 맥룩키(Craig McLuckie)와 함께 쿠버네티스 프로젝트를 탄생시켰다. 현재 마이크로소프트 애저(Microsoft Azure)의 엔지니어링 임원으로 재직 중이다.
조 베다(지은이)
마이크로소프트에서 인터넷 익스플로러 관련 업무를 담당하며 경력을 시작했다. 마이크로소프트에서 7년, 구글에서 10년간 GUI 프레임워크, 실시간 음성 및 채팅, 전화, 광고용 머신러닝, 클라우드 컴퓨팅 분야에서 경력을 쌓았다. 가장 주목할 만한 업적은 구글 재직 시 브렌던, 크레이그 맥룩키와 함께 구글 컴퓨트 엔진(Google Compute Engine)을 처음 시작해 쿠버네티스를 만든 것이다. 또한 크레이그와 함께 설립한 스타트업 기업인 헵티오(Heptio)가 VM웨어(VMWare)에 인수됐으며, 현재 VM웨어의 수석 엔지니어로 재직 중이다.
라클런 이븐슨(지은이)
애저 오픈소스 팀의 수석 프로그램 매니저다. 쿠버네티스 커뮤니티의 매우 활동적인 회원이며 운영 위원회와 릴리스 리더로 활동 중이다. 수많은 클라우드 네이티브 프로젝트에 대한 깊은 운영 지식을 보유하고 있으며, 클라우드 네이티브 에코시스템에서 오픈소스 프로젝트를 구축하고 기여하는 데 많은 시간을 보내왔다.
이준(옮긴이)
경희대학교 컴퓨터공학과를 졸업하고 동 대학에서 네트워크 분야 석사 학위를 받았다. 졸업 후 네트워크 장비 개발 업체에서 소프트웨어 개발자로 근무하며 경력을 쌓았다. 이후 자동차 회사에서 커넥티드카 서비스를 위한 클라우드 인프라 및 플랫폼 기획/개발/운영 업무를 담당했으며, 현재 통신회사에서 SRE 업무를 담당하고 있다. 다양한 유형의 클라우드 환경에서 컨테이너를 효율적으로 관리하기 위한 쿠버네티스 및 이를 안정적으로 운영하기 위한 모니터링 기술에 관심이 있으며, 이러한 관심사를 반영해 번역한 책으로는 『개발자를 위한 쿠버네티스』(에이콘, 2019), 『쿠버네티스 시작하기 2/e』(에이콘, 2020), 『헬름 배우기』(에이콘, 2021) 등이 있다.

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