Top

이스티오 첫걸음 [서비스 메시를 통한 연결, 보안, 제어 그리고 관찰]

  • 원서명Istio: Up and Running: Using a Service Mesh to Connect, Secure, Control, and Observe (ISBN 9781492043782)
  • 지은이리 칼코트(Lee Calcote), 잭 부처(Zack Butcher)
  • 옮긴이이상근
  • ISBN : 9791161754192
  • 30,000원
  • 2020년 05월 27일 펴냄
  • 페이퍼백 | 340쪽 | 188*235mm
  • 시리즈 : 클라우드 컴퓨팅

책 소개

소스 파일은 아래 깃허브 페이지에서 내려 받으실 수 있습니다.
(https://github.com/AcornPublishing/istio-up-and-running)

요약

사이드 프로젝트와 핵심 작업에 구별없이 서비스 메시는 클라우드 기본 인프라에 필요한 도구다. 이 책은 이스티오를 시작하려는 사람을 대상으로 하며, 이스티오와 서비스 메시를 다룬다.
이스티오를 시작하는 데 필요한 단계별 가이드를 제공하며, 각 개념은 이전에 다룬 개념을 바탕으로 논리적이고 체계적인 방식으로 설명한다. 이 책을 통해 이스티오의 주요 기능에 익숙해지고 자신 있게 이스티오를 배포할 수 있을 것이다.

추천의 글

"이 책은 커뮤니티에 엄청난 가치가 있을 것이다."
— 마일스 스테인하우져, 선임 클라우드 엔지니어

"서비스 메시가 클라우드 네이티브 단계에 들어오면서 이 탁월한 책은 현대적인 애플리케이션 관리의 여정에 많은 도움을 줄 것이다."
— Layer5의 서비스 메시 커뮤니티 관리자 기리쉬 랑가나단

이 책에서 다루는 내용

■ 이스티오가 다루는 관찰 가능성 문제 탐색
■ 요청 라우팅, 트래픽 전환, 결함 주입, 견고한 서비스 메시 실행에 필수적인 기타 기능
■ 원격 측정 정보 생성 및 수집
■ A/B, 블루/그린 및 카나리아를 포함한 다양한 배포 패턴
■ 이스티오 지원으로 실제 애플리케이션을 개발하고 배포하는 방법

이 책의 대상 독자

사이드 프로젝트든 핵심 작업이든 서비스 메시는 클라우드 기본 인프라에 필요한 도구다. 이 책은 이스티오를 시작하려는 독자를 위한 것이다. 독자가 도커나 쿠버네티스에 익숙할 것으로 기대하지만, 네트워킹 또는 리눅스에 관한 기본 지식이 있으면 이스티오를 배우기에 충분하다. Go나 다른 프로그래밍 언어 지식이 있으면 좋지만 꼭 필요하지는 않다.
프로메테우스(Prometheus), 예거(Jaeger), 그라파나(Grafana), 메셔리(Meshery), Envoy 및OpenTracing과 같은 다양한 클라우드 기본 도구와 주제를 다룬다. 이러한 도구와 주제에 익숙하다면 이상적이나 책 내용을 소화하는 데는 예비 지식만으로 충분하다.

저자/역자 소개

지은이의 말

서비스 메시의 시대는 현대 애플리케이션의 아키텍처를 변화시키고 쉽게 배포할 수 있도록돕는 새로운 지능형 네트워크 서비스 계층으로 안내한다. 이스티오는 많은 서비스 메시 가운데 하나이지만 기능과 특징이 다양해서 상세한 가이드가 필요하다.
이 책의 목적은 이스티오를 시작하기 위한 단계별 가이드를 제공하는 것이다. 각 개념은 이전에 다룬 개념을 바탕으로 논리적이고 체계적으로 설명한다. 이스티오는 변경되는 부분이 많고 커뮤니티가 활발해 책에서 모든 고급 사례를 다루기는 어렵다. 대신 변하지 않는 핵심 빌딩 블록과 프로젝트에 중점을 두고 독자에게 적절한 추가 리소스를 안내할 것이다.
이 책의 마지막 장에 이르렀을 때 모든 이스티오의 주요 기능에 익숙하고 자신의 환경에서 자신 있게 이스티오를 배포할 수 있을 것이다.

지은이 소개

리 칼코트(Lee Calcote)

혁신적인 제품과 기술의 리더로, 효율적인 솔루션으로 엔지니어에게 힘을 실어주는 데 열정적이다. Layer5의 창립자이며 클라우드 네이티브 운동의 선두에 서 있다. 솔라윈즈(SolarWinds), 씨게이트(Seagate), 시스코(Cisco), 슈나이더 일렉트릭(Schneider Electric)에서 오픈소스, 고급 기술과 신흥 기술에 관해 집중적으로 경력을 쌓아 왔다. 고문, 저자, 강연자로서 관련 커뮤니티에서 Docker Captain, Cloud Native Ambassador, Google Summer of Code Mentor로 활동하고 있다.

잭 부처(Zack Butcher)

Tetrate의 창립 엔지니어이며 이스티오 프로젝트의 핵심 공헌자다. IE6용 웹 애플리케이션 개발에서 서비스 관리, 접근 제어 및 구글 클라우드 플랫폼의 중앙 리소스 계층 작업에 이르기까지 항상 어려운 문제에 매혹됐다. Tetrate는 소규모 회사로, 시스템 아키텍처, 판매, 쓰기와 말하기를 포함해 회사의 많은 책무를 지고 있다.

옮긴이의 말

현재 서비스 메시는 마이크로서비스를 기반으로 클라우드 네이티브 애플리케이션을 개발하는 가장 진보된 아키텍처다. 물론 가장 발전했다고 해서 모든 문제점을 해결해주진 못한다. 최신 기술이기 때문에 해결해야 할 난제도 많다.
그러나 개인적으로 서비스 메시를 평가하자면 클라이언트 라이브러리 기반 로드 밸런싱 기능을 C++와 Java 두 가지 언어로 개발하면서 고생한 경험과 클라우드 네트워크의 모든 문제점을 해결해줄 것으로 기대했던 SDN이 풀지 못했던 문제에 대한 해답을 어느 정도 제시한다는 점에서 다른 이들보다 다소 높은 점수를 줄 수 있겠다.
이스티오는 서비스 메시를 가장 강력하게, 가장 쿠버네티스다운 방식으로 구현한 구현체라고 할 수 있다. 2018년 오픈스택 서밋에서 처음 이스티오를 알게 됐을 때의 신선한 충격은 아직도 생생하다.
이스티오는 쿠버네티스의 일부나 확장팩으로 보더라도 전혀 어색하지 않게 자연스럽게 쿠버네티스에 통합된다. 바꿔 말하면 이스티오를 제대로 이해하고 활용하기 위해서는 쿠버네티스를 잘 알아야 한다. 당장 이스티오를 사용하기 어렵다면 쿠버네티스나 가상 네트워킹을 조금 공부해보면 큰 도움이 될 것이다.
현재 이스티오에는 과도한 트래픽으로 인한 부하 등 여러 문제가 존재하지만, 빠른 개발 속도를 볼 때 이러한 문제점은 곧 개선될 것으로 보인다. 또 이러한 문제를 해결하는 과정에서 보여줄 통찰력은 서비스 메시를 직접 적용하지 않더라도 지켜볼 가치가 있을 것이다. 따라서 향후 몇 년 동안은 이스티오와 서비스 메시가 보여주는 발전에 주목해보기를 독자들께 당부 드린다.
한 가지 팁을 드린다면 이스티오를 잘 이해하려면 VirtualService, ServiceEntry,DestinationRule, Gateway 이 네 가지 리소스가 쿠버네티스를 어떻게 확장하는지, 서비스 메시의 제어판인 컨트롤 플레인을 구성하는 믹서와 파일럿의 차이는 무엇인지에 초점을 맞추는 것이 좋다.
VirtualService, ServiceEntry, DestinationRule, Gateway 네 가지 리소스의 이름은 번역할 수도 있지만, 이스티오의 리소스 타입이라기보다는 일반적인 개념으로 받아들여질 수도 있어 따로 번역하지 않고 그대로 뒀음을 밝힌다. 그러나 대문자로 시작하지 않고 일반적인 개념으로 사용된 경우는 ‘게이트웨이’와 같이 우리말로 번역했다.

옮긴이 소개

이상근

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

목차

목차
  • 1장. 서비스 메시 소개
    • 서비스 메시란 무엇인가?
      • 기초
    • 서비스 메시로 항해하기
      • 클라이언트 라이브러리: 첫 번째 서비스 메시?
      • 왜 필요한가?
      • 이미 컨테이너 플랫폼에 이런 것들을 갖고 있지 않은가?
    • 지형과 생태계
      • 지형
      • 생태계
      • 중요하며 오류 발생가능한 네트워크
      • 서비스 메시의 가치
    • 이스티오 서비스 메시
      • 이스티오의 기원
      • 이스티오의 현재 상태
      • 빈도
      • 릴리스
      • 기능 현황
      • 전망
      • 이스티오가 아닌 것
      • 단순한 마이크로서비스가 아니다
    • 용어

  • 2장. 일관된 관찰 가능성에 대한 클라우드 네이티브 접근 방식
    • 클라우드 네이티브는 무엇을 의미하나?
      • 클라우드 네이티브로 가는 길
      • 패키징과 배포
      • 애플리케이션 아키텍처
      • 개발과 운영 프로세스
      • 클라우드 네이티브 인프라
    • 관찰 가능성은 무엇인가?
      • 원격 측정의 기둥들
      • 로그
      • 메트릭
      • 추적
      • 원격 측정 기둥 결합
      • 분산 시스템에서 관찰 가능성이 왜 핵심인가?
    • 서비스 메시를 통한 균일한 관찰 가능성
      • 클라이언트 라이브러리
      • 모니터링 시스템과 인터페이스

  • 3장. 이스티오 한눈에 보기
    • 서비스 메시 아키텍처
    • 플레인
      • 이스티오 컨트롤 플레인 구성 요소
      • 서비스 프록시
      • 이스티오 데이터 플레인 구성 요소
      • 게이트웨이
    • 확장성
      • 사용자 정의 가능 사이드카
      • 확장 가능 어댑터
    • 규모와 성능
    • 배포 모델

  • 4장. 이스티오 배포
    • 이스티오를 위한 환경 준비
      • 설치 환경으로서 도커 데스크톱
      • 도커 데스크톱 구성
    • 이스티오 설치
      • 이스티오 설치 옵션
      • 이스티오의 사용자 정의 리소스 등록
      • 이스티오 컨트롤 플레인 구성 요소 설치
      • Bookinfo 샘플 애플리케이션 배포
      • 자동 사이드카 주입으로 샘플 앱 배포
      • 샘플 앱과 네트워킹
    • 이스티오 제거
    • Helm 기반 설치
      • Helm 설치
      • Helm 템플릿으로 설치
      • Helm 기반 설치 확인
      • Helm 기반 설치 제거

  • 5장. 서비스 프록시
    • 서비스 프록시란 무엇인가?
      • iptables 기초
    • Envoy 프록시 개요
      • 왜 Envoy인가?
    • 이스티오의 Envoy
    • 사이드카 주입
      • 수동 사이드카 주입
      • 애드혹 사이드카 주입
      • 자동 사이드카 주입
      • 쿠버네티스 초기화 컨테이너
      • 사이드카 리소스 관리
    • Envoy의 기능
      • 핵심 구성 요소
      • 인증서와 트래픽 보호

  • 6장. 보안과 ID
    • 접근 제어
      • 인증
      • 권한 부여
    • ID
      • SPIFFE
    • 키 관리 아키텍처
      • 시타델
      • 노드 에이전트
      • Envoy
      • 파일럿
    • mTLS
    • 이스티오 인증 정책 구성
      • 인증 정책: mTLS 구성
      • 권한 부여 정책: 누가 누구와 대화할 수 있는지 구성

  • 7장. 파일럿
    • 파일럿 구성
      • 메시 구성
      • 네트워킹 구성
      • 서비스 발견
    • 구성 제공
    • 파일럿 디버깅과 문제 해결
      • istioctl
      • 파일럿 문제 해결
    • 추적 구성
      • 리스너
      • 라우트
      • 클러스터

  • 8장. 트래픽 관리
    • 이스티오 트래픽 흐름 이해
    • 이스티오 네트워킹 API 이해
      • ServiceEntry
      • DestinationRule
      • VirtualService
      • Gateway
    • 트래픽 조정과 라우팅
    • 복원성
      • 로드 밸런싱 전략
      • 이상치 탐지
      • 재시도8
      • 타임아웃
      • 결함 주입
    • 인그레스와 이그레스
      • 인그레스
      • 이그레스

  • 9장. 메시의 믹서와 정책
    • 아키텍처
      • 정책 시행
    • 믹서 정책 작동 방식의 이해
      • 원격 측정 보고
    • 속성
      • 보고서 전송
      • 캐시 확인
    • 어댑터
      • 프로세스 내 어댑터
      • 프로세스 외부 어댑터
    • 믹서 정책 작성과 어댑터 사용
      • 믹서 구성
      • OPA 어댑터
      • 프로메테우스 어댑터

  • 10장. 원격 측정
    • 어댑터 모델
      • 원격 측정 보고
    • 메트릭
      • 메트릭을 수집하도록 믹서 구성
      • 메트릭 수집 설정과 메트릭 질의
      • 추적
      • 추적 비활성화
    • 로그
      • 메트릭
    • 시각화

  • 11장. 이스티오 디버깅
    • 이스티오 구성 요소 검사
    • 관리 플레인 문제 해결
      • kubectl에 한 번 더 베팅하기
    • 워크로드 준비
      • 애플리케이션 구성
      • 네트워크 트래픽 및 포트
      • 서비스와 배포
      • 파드
    • 이스티오 설치와 업그레이드, 제거
      • 설치
      • 업그레이드
      • 제거
    • 믹서 문제 해결
    • 파일럿 문제 해결
    • 갤리 디버깅
    • Envoy 디버깅
      • Envoy 관리 콘솔
      • 503 또는 404 요청
      • 사이드카 주입
      • 시타델 디버깅
    • 버전 호환성

  • 12장. 애플리케이션 배포를 위한 실제 고려 사항
    • 컨트롤 플레인 고려 사항
      • 갤리
      • 파일럿
      • 믹서
      • 시타델
    • 사례 연구: 카나리아 배포
      • 클러스터 간 배포

  • 13장. 고급 시나리오
    • 고급 토폴로지 유형
      • 단일 클러스터 메시
      • 멀티 클러스터 메시
      • 사례
    • 토폴로지 선택
      • 교차 클러스터 또는 멀티 클러스터?
      • 교차 클러스터 구성
      • DNS 구성과 BookInfo 배포

도서 오류 신고

도서 오류 신고

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

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

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

정오표

정오표

[p. 72 아래에서 8행]
쿠버네트스
->
쿠버네티스