Top

Istio로 시작하는 서비스 메시 [쿠버네티스에서 마이크로서비스 관리]

  • 원서명Getting Started with Istio Service Mesh: Manage Microservices in Kubernetes (ISBN 9781484254578)
  • 지은이라훌 샤르마(Rahul Sharma), 아비나시 싱(Avinash Singh)
  • 옮긴이황주필
  • ISBN : 9791161754123
  • 28,000원
  • 2020년 04월 27일 펴냄
  • 페이퍼백 | 320쪽 | 188*235mm
  • 시리즈 : 소프트웨어 아키텍처

책 소개

요약

최근 클라우드 네이티브 애플리케이션을 위한 플랫폼으로 거의 표준이 된 쿠버네티스가 마이크로서비스 아키텍처를 개발 운영할 때 해결해 주지 못하는 문제가 있다. 넷플릭스(Netflix) OSS와 같은 다양한 라이브러리로 이런 문제를 일부 해결할 수 있지만, 개발 언어의 제약이 있고, 개발자는 비즈니스 로직 이외에도 다양한 문제를 처리해야 한다. 서비스 메시는 개발자가 이런 문제를 신경 쓰지 않고 비즈니스 로직에 집중할 수 있도록 했다. 서비스 메시를 위한 표준이 된 Istio 아키텍처와 구성요소를 사용해 어떻게 서비스 메시를 구성하는지 소개한다.

이 책에서 다루는 내용

■ Istio 아키텍처 구성요소와 Envoy 프록시 확인
■ 서비스 라우팅과 애플리케이션 구축을 위한 주요 트래픽 관리
■ 타임아웃, 회로 차단기, 연결 풀을 사용해 애플리케이션 복원력 구축
■ 프로메테우스와 그라파나를 이용한 모니터
■ 애플리케이션 보안 구성

이 책의 대상 독자

쿠버네티스에 애플리케이션을 운영하려는 개발자나 프로젝트 관리자에게 적합하다. 이 책의 예제는 자바 또는 파이썬으로 작성됐지만 특정 언어에만 국한되는 내용은 아니다.

저자/역자 소개

지은이 소개

라훌 샤르마(Rahul Sharma)

14년 이상의 업계 경험을 가진 노련한 자바 개발자다. 일반 기업에서 스타트업에 이르기까지 다양한 규모의 회사와 협력했으며 오픈소스 소프트웨어를 사용해 클라우드(AWS/GCE/DigitalOcean)에서 마이크로서비스를 개발하고 관리했다. 오픈소스 애호가이며 현지 모임에서 경험을 공유한다. 『Java Unit Testing with JUnit 5』(Apress, 2017)의 공동 저자이기도 하다.

아비나시 싱(Avinash Singh)

확장 가능하고 분산된 클라우드 애플리케이션의 아키텍처, 디자인 및 개발 분야에서 10년 이상의 경험을 가진 IIT Kanpur 동문이다. AWS Cloud, J2EE, ROR, MySQL, MongoDB, Spring, Hibernate와 같은 기술 실무 경험이 있다. SOA와 마이크로서비스 아키텍처를 잘 이해하고 있으며, 리소스 용량 계획을 잘 다룬다.

옮긴이의 말

클라우드 네이티브 애플리케이션을 개발하고 운영하는 데는 많은 방법이 있다. 특히 마이크로서비스 아키텍처를 도입하는 경우, 더더욱 개발과 운영에 고려해야 할 것이 많다. 민첩성, 혁신성, 확장성, 유지 보수성의 장점도 있지만, 여러 개의 서비스로 인한 분산 시스템의 문제점도 있다.
최근 클라우드 네이티브 애플리케이션을 위한 플랫폼으로 거의 표준이 된 쿠버네티스가 이런 문제를 일부 해결해주지만, 모든 문제를 해소해주진 않는다. 넷플릭스(Netflix) OSS와 같은 개발자를 위한 다양한 라이브러리로 이런 문제를 일부 해결할 수 있다. 그러나 개발 언어의 제약이 있고, 개발자는 비즈니스 로직 이외에도 다양한 문제를 처리해야 한다.
이때 등장한 것이 바로 서비스 메시다. 서비스 메시를 위한 Istio, Linkerd, Consul 등과 같은 다양한 솔루션이 있지만, 가장 많이 알려지고 사용되는 것은 바로 Istio일 것이다. 이 책에서는 Istio가 등장하게 된 배경부터 아키텍처, 구성 요소까지 자세히 설명하고 있다. 쿠버네티스 환경에서 Istio를 사용해 서비스 메시를 구성하고, 세부 설정이 어떤 의미가 있는지 알게 될 것이다.
한 가지 참고할 사항이 있다면, 이 책은 Istio 1.2를 기반으로 작성됐다. 번역 당시 Istio는 1.5로, Istio의 아키텍처와 구성 요소가 변경됐다. 이 점을 유념하기 바란다. 기본 개념과 설정은 동일하기 때문에 내용을 따라 가는 데에는 크게 문제되지 않는다.

옮긴이 소개

황주필

IT 기업에서 개발자로 시작해 BEA Systems, Oracle, Pivotal 등에서 소프트웨어 아키텍트, 엔지니어로 일했다. 수많은 기업에서 기업용 소프트웨어에 대한 지원과 비즈니스 적용을 도왔다. Container에 관심이 많아 쿠버네티스 생태계에 참여하고 있으며 클라우드 네이티브 애플리케이션의 개발과 운영을 돕고 있다. 현재 브이엠웨어(VMware)에서 플랫폼 아키텍트로 일하며 수많은 고객이 클라우드와 마이크로서비스 아키텍처를 통해 성공적으로 디지털 트랜스포메이션을 할 수 있도록 돕고 있다. 쿠버네티스 기반의 Tanzu 스페셜리스트다. 주요 번역서로는 『쿠버네티스 인 액션』(에이콘, 2020), 『쿠버네티스로 만나는 손안의 마이크로서비스』(에이콘, 2020), 『코틀린 마이크로서비스 개발』(에이콘, 2019)이 있다.

목차

목차
  • 1장. 쿠버네티스 훑어보기
    • K8s 아키텍처/구성 요소
      • 쿠버네티스 마스터
      • 쿠버네티스 워커
    • 쿠버네티스 용어
    • 쿠버네티스 클러스터 설정
      • 버추얼박스 설정
      • Kubectl 설치
      • Minikube 설정
      • 도커 설정
      • 파이썬 설정
      • 자바 설정
    • 첫 번째 쿠버네티스 클러스터
    • 쿠버네티스에서 애플리케이션 실행
      • 애플리케이션 세부 사항
      • 애플리케이션 배포
      • 쿠버네티스 서비스
      • 쿠버네티스의 자가 치유
    • 마이크로서비스 추가
      • 애플리케이션 설정
      • 릴리스와 배포
    • 레디니스 프로브
    • 요약

  • 2장. 서비스 메시 소개
    • 마이크로서비스 아키텍처
      • 민첩성
      • 혁신성
      • 확장성
      • 유지 보수성
      • 도전 과제
      • 신뢰할 수 있는 네트워크
    • 서비스 메시
      • 트래픽 제어
      • 보안
      • 분석
    • 사이드카 패턴
    • Envoy, 사이드카 프로바이더
      • Envoy 구성
      • 서비스 확인
    • 요약

  • 3장. Istio 설치
    • Istio 서비스 메시
    • Istio 아키텍처
      • 데이터 플레인
      • 컨트롤 플레인
      • 믹서
      • 파일럿
      • 시타델
      • 갤리
    • Istio 설정
      • Helm을 사용한 설치
      • Helm 없이 데모 설치
      • GKE에 설치
      • 설치 확인
      • Istio 서비스
    • Istio로 작업하기
    • Istio CLI 사용
      • 인증
      • 등록 해제
      • 등록
      • 실험용 명령
      • kube-inject
      • 프록시 구성 부트 스트랩 | 클러스터 | 엔드포인트 | 리스너 | 라우트
      • 확인
    • 요약

  • 4장. Istio VirtualService
    • 요청 라우팅
    • 쿠버네티스에서 실행
      • 서비스 포트에 이름 지정
      • 버전 레이블이 있는 파드
      • 파드 포트 선언
    • Destination Rule
      • 연결 풀
      • 로드 밸런싱
      • 특이점 탐지
    • VirtualService
      • 전달
      • 재작성
      • HTTP 속성 조회
      • 가중치 분배
    • 카나리 릴리스
    • 요약

  • 5장. Istio 게이트웨이
    • 인그레스
    • SSL
      • istio-ingressgateway-certs 구성
      • istio-ingressgateway-ca-certs 구성
    • 외부 서비스 액세스
      • 서비스 엔트리
      • 이그레스
    • 요약

  • 6장. 서비스 복원력
    • 애플리케이션 설정
    • 로드 밸런싱
    • 재시도 요청
    • 요청 시간 제한
    • 회로 차단기
      • 연결 풀 회로 차단기
      • 로드 밸런서 회로 차단기
    • 복원력
    • 요약

  • 7장. 애플리케이션 메트릭
    • 애플리케이션 모니터링
    • Istio 믹서
    • 프로메테우스
      • 설치
      • 프로메테우스 대시보드
      • 사용자 정의 메트릭
    • 그라파나
    • 설치
      • 그라파나 대시보드
      • 그라파나 알람
    • 요약

  • 8장. 로그 및 추적
    • 분산 추적
    • 애플리케이션 로그
    • 믹서
      • 핸들러
      • 인스턴스
      • 규칙
    • 요약

  • 9장. 정책과 규칙
    • 인증
      • 전송 인증
      • 사용자 인증
    • 인가
    • 규칙
    • 요약

  • 10장. 문제 해결
    • 컨피그맵
    • 프록시
    • 라우트
    • 요약

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

정오표

[p.128 : 아래에서 1행]
istio-system | kubectl apply -f
->
istio-system | kubectl apply -f -