상세정보
미리보기
클라우드 네이티브 쿠버네티스
- 저자
- 알렉산더 라울 저/김정민,이주현,김상민 역
- 출판사
- 위키북스
- 출판일
- 2023-07-10
- 등록일
- 2024-10-18
- 파일포맷
- PDF
- 파일크기
- 5MB
- 공급사
- YES24
- 지원기기
-
PC
PHONE
TABLET
웹뷰어
프로그램 수동설치
뷰어프로그램 설치 안내
책소개
쿠버네티스의 확장성을 활용하여 현대적인 아키텍처 패턴을 도입하고프로덕션 문제를 효과적으로 처리하는 방법을 배운다!쿠버네티스는 현대적인 클라우드 네이티브 컨테이너 오케스트레이션 도구이며, 전 세계적으로 가장 인기 있는 오픈소스 프로젝트 중 하나입니다. 쿠버네티스는 강력하고 매우 유연한 기술이며 쿠버네티스 엔지니어는 업계 전반에서 수요가 많습니다. 이 책은 쿠버네티스에서 최신 클라우드 네이티브 애플리케이션을 배포, 보호, 운영하기 위한 포괄적인 안내서입니다. 기초적인 내용부터 쿠버네티스 모범 사례에 이르기까지 이 책은 애플리케이션 구성을 위한 필수적인 요소를 다룹니다. 프로덕션 환경에서 클러스터를 실행하기 위한 현실적인 기술, 클러스터 리소스에 대한 관찰 가능성을 설정하기 위한 팁 및 중요 문제 해결을 위한 기법도 함께 살펴봅니다. 마지막으로 쿠버네티스를 확장하고 커스터마이즈하는 방법과 서비스 메시, 서버리스 도구 등을 클러스터에 배포하기 위한 팁을 설명합니다. 이 책을 끝까지 공부하면 쿠버네티스에서 최신 애플리케이션을 자신 있게 실행하고 확장하기 위한 도구를 갖추게 될 것입니다.
저자소개
알렉산더 라울은 래크너(Rackner)의 CEO입니다. 래크너는 많은 투자를 받은 스타트업부터 포춘 및 글로벌 500 선정 기업에 이르기까지 다양한 고객을 대상으로 쿠버네티스와 클라우드를 구축하고 운영 및 보안 관리해주는 혁신적인 컨설팅 회사입니다. 래크너에서 저자는 대형 쿠버네티스 기반 플랫폼을 구축하고 관리했으며, 규모가 큰 조직을 대상으로 엔드 투 엔드 DevSecOps를 구현했습니다. 기술적인 배경과 학력(메릴랜드 대학의 항공우주학 학사)뿐만 아니라 클라우드와 쿠버네티스에 대한 비즈니스와 전략 논의는 물론, 관련 기술 도입에 관한 문제에도 정통합니다. 알렉산더는 워싱턴 D.C.에 살고 있으며 고객과 일하지 않는 시간에는 등산이나 스키, 달리기를 즐겨합니다.
목차
[1부] 쿠버네티스 설치하기 ㆍ 01장: 쿠버네티스와 통신하기 기술 요구사항 컨테이너 오케스트레이션 소개 __컨테이너 오케스트레이션이란? __컨테이너 오케스트레이션의 장점 __일반적인 오케스트레이션 도구 쿠버네티스의 아키텍처 __쿠버네티스 노드 유형 __쿠버네티스 컨트롤 플레인 __쿠버네티스 API 서버 __쿠버네티스 스케줄러 __쿠버네티스 컨트롤러 매니저 __etcd __쿠버네티스 워커 노드 __kubelet __kube-proxy __컨테이너 런타임 __애드온 쿠버네티스 인증 및 권한 __네임스페이스 __사용자 __인증 방법 __TLS와 보안을 위한 쿠버네티스의 인증서 인프라 __권한 부여 옵션 __RBAC __ABAC kubectl과 YAML 사용하기 __kubectl과 kubeconfig 설정 __명령형imperative 커맨드와 선언형declarative 커맨드 __kubectl 기본 커맨드 소개 __YAML 파일에 쿠버네티스 리소스 작성하기 요약 질문 더 읽을 거리 ㆍ 02장: 쿠버네티스 클러스터 설정하기 기술 요구사항 신규 클러스터 생성 옵션 minikube로 클러스터 쉽게 시작하기 __minikube 설치하기 __minikube에서 클러스터 생성하기 관리형 쿠버네티스 서비스 __관리형 쿠버네티스 서비스의 장점 __관리형 쿠버네티스 서비스의 단점 AWS의 EKS(Elastic Kubernetes Service) __시작하기 구글 클라우드의 GKE(Google Kubernetes Engine) __시작하기 마이크로소프트 애저의 AKS(Azure Kubernetes Service) __시작하기 프로그램 방식의 클러스터 생성 도구 __Kubeadm __Kops __Kubespray Kubeadm으로 클러스터 생성하기 __Kubeadm 설치하기 __마스터 노드 시작하기 __워커 노드 시작하기 __kubectl 설정하기 Kops를 사용하여 클러스터 생성하기 __macOS에 설치하기 __리눅스에 설치하기 __윈도우에 설치하기 __Kops에 대한 자격 증명 설정하기 __상태 저장소 설정하기 __클러스터 생성하기 완전히 처음부터 클러스터 생성하기 __노드 프로비저닝 __TLS를 위한 쿠버네티스 인증 생성하기 __설정 파일 생성하기 __etcd 클러스터 생성과 암호화 구성하기 __컨트롤 플레인 컴포넌트 부트스트랩하기 __워커 노드 부트스트랩하기 요약 질문 더 읽을 거리 ㆍ 03장: 쿠버네티스에서 애플리케이션 컨테이너 실행하기 기술 요구사항 파드란? 파드 구현하기 __파드 패러다임 __파드 네트워크 __파드 스토리지 __네임스페이스 __파드의 라이프사이클 __파드 리소스 스펙 이해하기 요약 질문 더 읽을 거리 [2부] 쿠버네티스 애플리케이션 구성 및 배포 ㆍ 04장: 애플리케이션 스케일링 및 배포하기 기술 요구 사항 파드의 문제점과 해결책 이해하기 __파드 컨트롤러 레플리카셋 사용하기 __레플리카 __셀렉터 __템플릿 __레플리카셋 테스트 배포 제어하기 __명령형 커맨드로 배포 제어 수평형 파드 오토스케일러의 활용하기 데몬셋 구현하기 스테이트풀셋 이해하기 잡 사용하기 __크론잡 종합 정리 요약 질문 더 읽을 거리 ㆍ 05장: 서비스 및 인그레스 - 외부 시스템과 통신하기 기술 요구 사항 서비스와 클러스터 DNS 이해하기 __클러스터 DNS __서비스 프락시 종류 ClusterIP 구현 __프로토콜 NodePort 사용하기 로드밸런서 서비스 설정하기 ExternalName 서비스 생성하기 인그레스 구성하기 __인그레스 컨트롤러 요약 질문 더 읽을 거리 ㆍ 06장: 쿠버네티스 애플리케이션 구성하기 기술 요구 사항 모범 사례를 활용한 컨테이너화된 애플리케이션 구성 __컨피그맵 이해하기 __시크릿 이해하기 컨피그맵 구현하기 __텍스트 값에서 컨피그맵 생성하기 __파일에서 컨피그맵 생성하기 __볼륨으로 컨피그맵 마운트하기 __환경 변수로 컨피그맵 마운트하기 시크릿 사용하기 __파일에서 시크릿 생성하기 수동 선언적으로 시크릿 생성하기 __볼륨으로 시크릿 마운트하기 __시크릿을 환경 변수로 마운트하기 __암호화된 시크릿 구현하기 __시크릿의 암호화 여부 확인하기 __클러스터 암호화 비활성화하기 요약 질문 더 읽을 거리 ㆍ 07장: 쿠버네티스의 스토리지 기술 요구 사항 볼륨과 퍼시스턴트 볼륨의 차이점 이해 볼륨 퍼시스턴트 볼륨 __퍼시스턴트 볼륨 클레임 __파드에 퍼시스턴트 볼륨 클레임(PVC) 연결하기 클라우드 스토리지가 없는 퍼시스턴트 볼륨 __Rook 설치하기 __rook-ceph-block 스토리지 클래스 __Rook Ceph 파일 시스템 요약 질문 더 읽을 거리 ㆍ 08장: 파드 할당 제어하기 기술 요구 사항 파드 할당에 대한 사용 사례 확인하기 __쿠버네티스 노드 상태 할당 제어하기 __다양한 노드 유형이 필요한 애플리케이션 __특정 데이터 규정 준수가 필요한 애플리케이션 __다중 장애 도메인 노드 셀렉터와 노드 네임 사용하기 테인트와 톨러레이션 구현하기 다중 테인트와 톨러레이션 노드 어피니티로 파드 제어하기 __requiredDuringSchedulingIgnoredDuringExecution 노드 어피니티 사용하기 __preferredDuringSchedulingIgnoredDuringExecution 노드 어피니티 사용하기 __다중 노드 어피니티 인터-파드 어피니티와 안티-어피니티 사용하기 __파드 어피니티 __파드 안티-어피니티 __결합된 어피니티와 안티-어피니티 __파드 어피니티와 안티-어피니티 제한 사항 __파드 어피니티와 안티-어피니티 네임스페이스 요약 질문 더 읽을 거리 [3부] 프로덕션 환경에서 쿠버네티스 실행하기 ㆍ 09장: 쿠버네티스의 관찰 가능성 기술 요구 사항 쿠버네티스 관찰 가능성 이해하기 __쿠버네티스 클러스터 및 애플리케이션 상태에 대한 중요 사항 이해하기 기본 관찰 도구 사용하기 __쿠버네티스의 지표 __쿠버네티스의 로깅 __쿠버네티스 대시보드 설치하기 __쿠버네티스의 경고와 추적 최상의 에코시스템을 활용하여 쿠버네티스 관찰 가능성 향상시키기 __프로메테우스와 그라파나 소개 __쿠버네티스에서 EFK 스택 구현하기 __예거를 사용하여 분산 추적 구현하기 __타사 도구 요약 질문 더 읽을 거리 ㆍ 10장: 쿠버네티스 문제 해결하기 기술 요구 사항 분산 애플리케이션의 장애 모드 이해하기 네트워크가 안정적입니다 __지연 시간이 0입니다 __대역폭이 무한합니다 __네트워크가 안전합니다 __토폴로지가 변경되지 않습니다 __관리자가 한 명뿐입니다 __전송비가 0입니다 __네트워크가 동종입니다 쿠버네티스 클러스터 문제 해결하기 __사례 연구 - 쿠버네티스 파드 배치 실패 쿠버네티스에서 애플리케이션 문제 해결하기 __사례 연구 1 - 서비스가 응답하지 않음 __사례 연구 2 - 잘못된 파드 시작 커맨드 __사례 연구 3 - 로그가 있는 파드 애플리케이션 오작동 요약 질문 더 읽을 거리 ㆍ 11장: 쿠버네티스의 템플릿 코드 생성 및 CI/CD 기술 요구 사항 쿠버네티스에서 템플릿 코드 생성을 위한 옵션 이해하기 __Helm __Kustomize Helm 및 Kustomize를 사용하여 쿠버네티스에서 템플릿 구현하기 __쿠버네티스와 함께 Helm 사용하기 __Helm 차트 설치 및 제거하기 __쿠버네티스와 함께 Kustomize 사용하기 클러스터 내부 및 외부 관점에서 쿠버네티스의 CI/CD 패러다임 이해하기 __클러스터 외 CI/CD __클러스터 내 CI/CD 쿠버네티스를 사용하여 클러스터 내 및 클러스터 외 CI/CD 구현하기 __AWS Codebuild로 쿠버네티스 CI 구현 __FluxCD로 쿠버네티스 CI 구현하기 요약 질문 더 읽을 거리 ㆍ 12장: 쿠버네티스 보안 및 규정 준수 기술 요구 사항 쿠버네티스의 보안 이해하기 쿠버네티스에 대한 CVE 및 보안 감사 검토하기 __CVE-2016-1905 이해 - 부적절한 승인 제어 __CVE-2018-1002105 이해 - 백엔드로의 연결 업그레이드 __2019년 보안 감사 결과 이해하기 클러스터 구성 및 컨테이너 보안을 위한 도구 구현하기 __승인 컨트롤러 사용하기 __파드 보안 정책 활성화하기 __네트워크 정책 사용하기 쿠버네티스에서 침입 감지, 런타임 보안 및 규정 준수 처리하기 __팔코 설치하기 __팔코의 기능 이해하기 __팔코를 규정 준수 및 런타임 보안 사용 사례에 매핑하기 요약 질문 더 읽을 거리 [4부] 쿠버네티스 확장하기 ㆍ 13. CRD로 쿠버네티스 확장하기 기술 요구 사항 CRD로 쿠버네티스를 확장하는 방법 __커스텀 리소스 정의 작성하기 __커스텀 리소스 버전 정의 이해하기 __커스텀 리소스 정의 테스트하기 쿠버네티스 오퍼레이터를 통한 자체 관리 기능 __오퍼레이터의 제어 루프 매핑하기 __커스텀 리소스 정의를 위한 오퍼레이터 설계하기 클라우드별 쿠버네티스 익스텐션 사용하기 __cloud-controller-manager 컴포넌트 이해하기 __cloud-controller-manager 설치하기 __cloud-controller-manager 기능 확인하기 __쿠버네티스에서 external-dns 사용하기 __cluster-autoscaler 애드온 사용하기 에코시스템과 통합하기 __클라우드 네이티브 컴퓨팅 재단(CNCF) 소개 요약 질문 더 읽을 거리 ㆍ 14장: 서비스 메시 및 서버리스 기술 요구 사항 사이드카 프락시 사용 __NGINX를 사이드카 리버스 프락시로 사용하기 __사이드카 프락시로 Envoy 사용 쿠버네티스에 서비스 메시 추가 __쿠버네티스에서 Istio 설정 쿠버네티스에서 서버리스 구현 __쿠버네티스에서 FaaS용 Knative 사용 __쿠버네티스에서 FaaS용 OpenFaaS 사용 요약 질문 더 읽을 거리 ㆍ 15장: 쿠버네티스의 스테이트풀 워크로드 기술 요구 사항 쿠버네티스의 스테이트풀 애플리케이션 이해 __인기 있는 쿠버네티스 기반 스테이트풀 애플리케이션 __쿠버네티스에서 스테이트풀 애플리케이션을 실행하는 전략 이해 쿠버네티스에 객체 스토리지 배포 __Minio 오퍼레이터 설치 __Krew와 Minio kubectl 플러그인 설치 __Minio 오퍼레이터 시작 __Minio 테넌트 생성 __Minio 콘솔 접속 쿠버네티스에서 DB 실행 __쿠버네티스에서 CockroachDB 실행 __SQL로 CockroachDB 테스트 쿠버네티스에서 메시징과 큐 구현 __쿠버네티스에 RabbitMQ 배포 요약 질문 더 읽을 거리