스크랩

구간

쿠버네티스 오퍼레이터 쿠버네티스에서 애플리케이션 추상화를 위한 도구

제이슨 도비스, 조슈아 우드 저 | 이상근, 임성일 역 | 에이콘 | 2020년 11월

미리보기 북트리

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

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9791161754789 / 204쪽 188 x 235 (㎜)

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

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

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

책 소개

반디앤루니스 리뷰


쿠버네티스 오퍼레이터는 쿠버네티스에서 애플리케이션을 패키징, 배포, 관리하는 방법이다. 쿠버네티스 오퍼레이터를 통해 쿠버네티스 클러스터에 애플리케이션별 기술을 추가해 복잡한 상태 저장 프로그램의 라이프사이클을 쉽게 자동화할 수 있다. 이 책에서는 구체적인 예시를 통해 오퍼레이터가 작동하는 방식과 오퍼레이터 프레임워크 및 SDK를 사용해 구축하는 방법을 보여준다.

 

출판사 리뷰

★ 이 책의 구성 ★ 오퍼레이터가 무엇인지와 오퍼레이터가 쿠버네티스 API를 확장하는 방법을 설명한다. 기존 오퍼레이터를 배포하고 사용하는 방법과 레드햇 오퍼레이터 프레임워크(Red Hat Operator Framework, https://github.com/operator-framework)를 사용해 애플리케이션에 오퍼레이터를 작성, 분배하는 방법을 보여준다. 이는 오퍼레이터를 설계, 구축, 배포하기 위한 모범 사례와 연관돼 있으며, SRE(Site Reliability Engineering) 원칙을 사용해 오퍼레이터에 생명을 불어넣는다는 컨셉을 설명한다. 1장에서 오퍼레이터와 개념을 설명한 후, 책의 나머지 부분에서 실습할 수 있는 쿠버네티스 클러스터에 접근하는 방법을 제안한다. 클러스터가 실행되면 오퍼레이터를 배포하고 애플리케이션이 실패하거나 확장되거나 새 버전으로 업그레이드될 때의 동작을 관찰할 수 있다. 뒷부분에서는 오퍼레이터 SDK를 살펴보고 이를 사용해 오퍼레이터를 구축하고 예제 애플리케이션을 쿠버네티스 일등 시민으로 귀화시키는 방법을 보여준다. 이러한 실질적인 토대를 마련해 오퍼레이터가 도출한 SRE 아이디어와 이들이 공유하는 목표, 즉 운영 노력과 비용 절감, 서비스 안정성 향상 및 반복적인 유지 보수 작업에서 팀을 해방시켜 혁신을 유발하는 방법을 논의할 것이다.

저자 소개

  • 저자 : 제이슨 도비스, 조슈아 우드
저자 : 제이슨 도비스
레드햇의 디벨로퍼 애드보케이트(developer advocate)다. 약 20년 동안 소프트웨어 산업에서 일하면서 파이썬, 자바, 고(Go)를 포함한 다양한 언어로 개발했다. 엔지니어로서의 경력 외에도 빌라노바대학교(Villanova University)의 겸임 교수로 재직 중이며, 소프트웨어 공학 및 졸업 프로젝트를 지도하고 있다. 컴퓨터 앞에 앉아 있지 않을 때는 아내와 두 자녀와 함께 시간을 보내고 비디오 게임과 운동을 즐긴다

저자 : 조슈아 우드 (Joshua Wood)\t
레드햇의 디벨로퍼 애드보케이트로, 오픈소스 소프트웨어를 사용해 유틸리티 컴퓨팅을 구축하기 위해 경력을 쌓았다. 빠른 차, 느린 배, 짧은 자서전을 좋아한다

역자 : 이상근\t
숭실대학교에서 컴퓨터학을 전공하고, 동대학원에서 공학박사 학위를 받았다. 세부전공은 분산 처리이며, 주로 분산 컴퓨팅 아키텍처와 워크플로 엔진을 연구했다. 학업을 마친 후 개발자로 일하면서 10년 이상의 다양한 경력을 쌓았고 엔터프라이즈 잡스케줄러, 렌더팜 관리 시스템, 클라우드 데이터베이스 프로비저닝 서비스, 빅데이터 관련 시스템, 클라이언트 사이드 로드 밸런싱 등과 같은 다양한 개발 분야를 두루 경험했다. 최근에는 마이크로서비스 아키텍처와 서비스 메시가 가져올 IT 시스템의 큰 변화에 주목하고 있으며, 현재 애플리케이션 아키텍트로 일하고 있다.

역자 소개

  • 역자 : 이상근, 임성일

이상근
숭실대학교에서 컴퓨터공학을 전공하고, 동대학 대학원에서 공학박사 학위를 받았다. 세부 전공은 분산처리이며, 주로 분산 컴퓨팅 아키텍처와 워크플로우 엔진을 연구했다. 학업을 마치고 개발자로 10년 이상 다양한 경력을 쌓았으며 엔터프라이즈 잡 스케줄러, 렌더팜 관리 시스템, 클라우드 데이터베이스 프로비저닝 서비스, 빅데이터 관련 시스템, 클라이언트 사이드 로드 밸런싱 등 다양한 개발 경험을 해왔다. 최근에는 마이크로서비스 아키텍처와 서비스 메시가 가져올 IT 시스템의 큰 변화에 주목하고 있으며, 애플리케이션 아키텍트로 일하고 있다.
번역서로 『엔터프라이즈 환경을 위한 마이크로서비스』(에이콘, 2020), 『이스티오 첫걸음』(에이콘, 2020)이 있다.
이 책의 1~6장 번역을 담당했다.

임성일
한국과학기술원에서 공학석사 학위를 받았다. 세부 전공은 데이터베이스이며, 상황인지 및 이동성 지원을 연구했다. 2010년 클라우드 태동기부터 퍼블릭/프라이빗 클라우드 환경지원을 위한 다양한 서비스를 개발했고 현재 SKT의 Cloud Labs에서 TACO SKT All Container Orchestrator 개발에 참여하고 있다. TACO의 LMA Logging/Montoring/Alerting 를 총괄하고 있으며 이에 따라 관련된 소프트웨어들의 진화, 발전을 관찰하며 배포 및 운영 지원을 위한 개발 툴로 오퍼레이터들을 개발해 적용하고 있다. 또한 Openstack, fluent 등 오픈소스의 업스트림 개발자로 활동하고 있다.
이 책의 7장 이후 번역을 담당했다.

 

머리말

 

★ 지은이의 말 ★

쿠버네티스는 널리 사용되는 컨테이너 오케스트레이터다. 또한 많은 컴퓨터를 하나의 큰 컴퓨팅 리소스로 통합해서 활용하고 쿠버네티스 API를 통해 해당 리소스를 처리하는 수단을 제공한다. 쿠버네티스는 구글에서 시작한 오픈소스 소프트웨어로, 지난 5년 동안 CNCF(Cloud Native Computing Foundation, https://www.cncf.io/)의 후원하에 대규모 공동 작업자 그룹이 개발한 오픈소스 소프트웨어다.
오퍼레이터는 쿠버네티스를 확장해 특정 애플리케이션의 전체 라이프사이클 관리를 자동화한다. 오퍼레이터는 쿠버네티스에서 애플리케이션을 배포하기 위한 패키징 메커니즘의 역할을 하며 배포한 소프트웨어를 모니터링, 유지 관리, 복구 및 업그레이드한다.


★ 옮긴이의 말 ★

클라우드 환경을 구성하는 컨테이너는 사용자가 개발한 HTTP 서비스일 수도 있고 데이터 베이스 서버일 수도 있으며 NoSQL 서버나 캐시 서버일 수도 있다. 쿠버네티스는 기본적으로 이런 것들을 모두 동일하게 파드와 배포, 서비스 수준에서 표현하며 개발과 배포, 운영 역시 이러한 수준에서 이뤄진다.
쿠버네티스는 컨테이너를 기반으로 클라우드 환경에 최적화된 애플리케이션을 개발할 수 있는 훌륭한 토대를 제공하지만, 필요한 모든 것을 제공해주지는 못한다. 이에 CR을 통한 확장 가능한 구조를 제공하는데, 쿠버네티스 오퍼레이터는 이러한 확장을 자동화하는 데 사용할 수 있다. 애플리케이션별 배포 및 운영에 필요한 내용은 오퍼레이터가 자동으로 처리하므로 사용자는 하부 내용의 변화에 관계없이 쿠버네티스의 표준 리소스 관리 방식을 그대로 사용할 수 있다.
만약 쿠버네티스를 확장해 데이터베이스 서버, 캐시 서버 등 좀 더 상위 수준의 리소스를 쿠버네티스의 기본 단위로 다룰 수 있다면 어떻게 될까? 설정 및 운영이 단순해지고, 좀 더 직관적이며 고수준으로 클라우드 애플리케이션을 다룰 수 있을 것이다. 성공적인 사례로 이스티오 등의 서비스 메시 구현과 API 게이트웨이 등의 쿠버네티스 통합이 존재한다. 또한 카프카, 레디스, 각종 관계형 데이터베이스 및 NoSQL 등이 쿠버네티스 오퍼레이터를 구현하고 발전시키면서 이러한 목표를 향해 나아가고 있다.
이 책은 분량이 적고 필요한 모든 것을 다루고 있지는 못하지만, 쿠버네티스 오퍼레이터를 통해 쿠버네티스를 실제로 확장할 수 있는 좋은 시작점이 될 수 있을 것이다. 또한 오퍼레이터를 직접 구현하지 않더라도 쿠버네티스 내부를 좀 더 잘 이해하는 데도 도움이 될 것이다.

목차

1장. 오퍼레이터가 쿠버네티스에 제공하는 새로운 트릭
__쿠버네티스 작동 방식
__예: 상태 비저장 웹 서버
__상태 저장은 어렵다
__오퍼레이터는 소프트웨어 SRE다
__오퍼레이터 작동 방식
____쿠버네티스 CR
__오퍼레이터는 어떻게 만들어지는가?
__예: etcd 오퍼레이터
____사라진 멤버의 경우
__오퍼레이터는 누구를 위한 것인가?
____오퍼레이터 채택
__출발하자!

2장. 오퍼레이터 실행
__오퍼레이터 실험 환경 구성
____클러스터 버전 요구사항
____인가 요구사항
____표준 도구 및 기술
____권장 클러스터 구성
____클러스터 버전 확인
__단순 오퍼레이터 실행
____일반적인 시작점
____etcd 오퍼레이터 매니페스트 가져오기
____CR: 사용자 정의 API 엔드포인트
____나는 누구인가: 오퍼레이터 서비스 계정 정의
____etcd 오퍼레이터 배포
____etcd 클러스터 선언
____etcd 실습
____etcd 클러스터 확장
____장애 및 자동화된 복구
____etcd 클러스터 업그레이드
____정리
__요약

3장. 쿠버네티스 인터페이스의 오퍼레이터
__표준 확장: ReplicaSet 리소스
__사용자 정의 리소스
____CR 또는 ConfigMap?
__사용자 정의 컨트롤러
__오퍼레이터 범위
____네임스페이스 범위
____클러스터 범위 오퍼레이터
__권한 부여
____서비스 계정
____역할
____RoleBinding
____ClusterRole 및 ClusterRoleBinding
__요약

4장. 오퍼레이터 프레임워크
__오퍼레이터 프레임워크의 기원
__오퍼레이터 성숙도 모델
__오퍼레이터 SDK
____오퍼레이터 SDK 도구 설치
__오퍼레이터 라이프사이클 매니저
__오퍼레이터 미터링
__요약

5장. 샘플 애플리케이션: 방문자 사이트
__애플리케이션 개요
__매니페스트를 사용한 설치
____MySQL 배포
____백엔드
____프론트엔드
__매니페스트 배포
__방문자 사이트에 접근
__정리
__요약

6장. 어댑터 오퍼레이터
__Helm 오퍼레이터
____오퍼레이터 구축
____CRD에 대한 설명
____오퍼레이터 권한 검토
____Helm 오퍼레이터 실행
__Ansible 오퍼레이터
____오퍼레이터 구축
____CRD에 대한 설명
____오퍼레이터 권한 검토
____Ansible 오퍼레이터 실행
__오퍼레이터 테스트
__요약
__관련 리소스

7장. 오퍼레이터 SDK를 사용해 Go로 만드는 오퍼레이터
__오퍼레이터 초기화
__오퍼레이터의 리소스 관리 범위
__사용자 정의 리소스 정의
____Go 타입 정의
____CRD 매니페스트
__오퍼레이터 권한
__컨트롤러
____Reconcile 함수
__오퍼레이터 작성 팁
____리소스 검색
____자식 리소스 생성
____자식 리소스 삭제
____자식 리소스 명명법
____멱등성
____오퍼레이터 영향도
__로컬에서 오퍼레이터 실행하기
__방문자 사이트 예제
__요약
__관련 리소스

8장. 오퍼레이터 라이프사이클 매니저
__OLM 사용자 정의 리소스
____ClusterServiceVersion
____CatalogSource
____구독
____InstallPlan
____OperatorGroup
__OLM 설치하기
__OLM 사용하기
____오퍼레이터 둘러보기
____오퍼레이터 삭제하기
__OLM 번들 메타데이터 파일
____CRD
____클러스터 서비스 버전 파일
____패키지 매니페스트 파일
__클러스터 서비스 버전 파일 작성하기
____파일 스켈레톤 생성하기
____메타데이터
____소유 CRD
____필수 CRD
____설치 모드
____버전 관리 및 업데이트
__패키지 매니페스트 파일 작성하기
__로컬 환경에서 실행하기
____전제 조건
____OLM 번들 만들기
____OLM을 통한 오퍼레이터 설치
____실행 중인 오퍼레이터 테스트하기
__방문자 사이트 오퍼레이터 예제
__요약
__관련 리소스

9장. 오퍼레이터 철학
__모든 애플리케이션에 대한 SRE
__수고하지 말아라
____자동화 가능한 것: 당신의 컴퓨터가 할 작업
____제자리 달리기: 지속적인 가치가 없는 일
____고통의 증가: 시스템과 함께 확장되는 작업
__오퍼레이터: 쿠버네티스 애플리케이션 신뢰성 엔지니어링
____애플리케이션 상태 관리
____소프트웨어로 전송되는 골든 시그널
__매우 성공적인 오퍼레이터의 7가지 습관
__요약

10장. 참여하
__기능 요청과 버그 리포트
__기여하기
__오퍼레이터 공유하기
__요약

부록 A. 클러스터 내부에 디플로이먼트로 오퍼레이터 실행하기
부록 B. CR 검증
부록 C. 역할 기반 접근 제어(RBAC)

top