Top

Istio in Action [서비스 메시 표준, 이스티오 완벽 해부]

  • 원서명Istio in Action (ISBN 9781617295829)
  • 지은이크리스티안 포스타, 라이너 말로쿠
  • 옮긴이연주영
  • ISBN : 9791161758336
  • 40,000원
  • 2024년 09월 10일 펴냄
  • 페이퍼백 | 660쪽 | 188*235mm
  • 시리즈 : 클라우드 컴퓨팅

책 소개

소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
https://github.com/AcornPublishing/istio-in-action

요약

분산형 서비스를 관리하는 강력한 도구인 이스티오 서비스 메시를 소개한다. 이 책은 단순한 기능적 소개를 넘어 서비스 메시의 필요성, 아키텍처를 소개하고 실용적이고 복잡한 사용사례까지도 다루고 있다. 형식 면에서는 실용적인 예제와 다이어그램을 통해 이해하기 쉽게 저술됐다. 이스티오 설치 및 구성, 트래픽 관리, 보안 구축, 가시성 확보 등의 주제를 포괄적으로 다루며, 개발자와 운영 엔지니어 모두에게 도움이 될 책이다.

추천의 글

“이 책은 애플리케이션을 인프라에서 분리하는 목표를 달성하는 명확한 비전을 제시한다. 여러분도 나처럼 이 책을 재미있게 읽길 바란다.”

━ 에릭 브루어(Eric Brewer), 구글 인프라 부문 부사장

“이스티오에 대한 친절한 소개가 정말 마음에 든다. 쿠버네티스로 개발을 시작하는 모든 사람에게 망설임 없이 이 책을 추천한다.”

━ 크리스토프 슈베르트(Christoph Schubert), SAP SE

“이스티오 서비스 메시를 깊이 이해하도록 돕는 포괄적인 가이드다.”

━ 포티스 스타마텔로풀로스(Fotis Stamatelopoulos), 업워크(Upwork)

“이 책을 읽는 내내 마치 고도로 숙련된 전문가와 함께하는 기분이었다.”

━ 파올로 안티노리(Paolo Antinori), 레드햇(Red Hat)

이 책에서 다루는 내용

◆ 이스티오 리소스에 대한 포괄적인 설명
◆ 서비스 메시 기능을 시연하는 실용적인 예제
◆ 웹어셈블리를 활용한 이스티오 확장
◆ 트래픽 라우팅과 관찰 가능성
◆ 가상 머신의 메시 통합

이 책의 대상 독자

사용자 대상 웹 애플리케이션, API, 백엔드 서비스 같은 분산 서비스를 운영 중이거나 운영할 계획이 있는 개발자, 아키텍트, 서비스 운영자를 대상으로 한다. 최종 사용자에게 고가용성 서비스를 제공할 때 이 책이 도움이 될 것이다. 혹은 조직 내 많은 개발 팀에게 인프라와 로그 관리, 모니터링, 컨테이너 오케스트레이션 등의 지원 요소를 제공하는 플랫폼 엔지니어링 팀의 일원이라면, 이 책은 앱을 복원력 있고 안전하고 관찰 가능하게 만들 수 있으면서 새로운 기능을 출시하는 데 따르는 위험을 줄일 수 있는 도구를 사용자에게 제공하는 방법을 보여준다.
이스티오를 테스트 또는 스테이징 환경에서 사용하고 있지만 작동 원리에 대해 많이 알지 못한다면, 이 책은 이스티오의 구성 요소를 명확히 이해하는 데 도움이 될 것이다. 특히 후반부에서는 조직에서 서비스 메시를 어떻게 확장하는지, 동작이 예상과 다를 때 어떻게 트러블 슈팅하는지, 어떻게 회사의 필요에 맞게 커스터마이징하는지를 보여준다.
지난 3년간 현장에서 쌓은 경험을 이 책에 녹여내기 위해 심혈을 기울였기 때문에 이스티오 전문가인 독자도 이 책을 유용하게 활용할 수 있을 것이다. 컨테이너 구축이 처음이거나 쿠버네티스 디플로이먼트(deployment), 파드, 서비스가 무엇인지 잘 모른다면, 이 책이 아직 적합하지 않을 수 있다. 다행히 처음 시작하는 데 도움이 되는 자료가 많이 있다. 여기서는 마르코 룩샤(Marko Lukša)의 『쿠버네티스 인 액션』(에이콘, 2020)을 강력히 추천한다. 이 책은 쿠버네티스에 대한 빈틈없는 입문서일 뿐 아니라 흥미로운 내용을 담고 있다. 쿠버네티스의 기초와 관련 리소스, 쿠버네티스 컨트롤러의 동작 방식까지 이해하고 나면 이 책으로 다시 돌아와 이스티오 서비스 메시를 깊이 파고들 수 있을 것이다.
뿐만 아니라 네트워킹에 대한 기본적인 이해도 필요하다. 여기서 ‘기본적인 이해’란 말 그대로 기초적인 수준의 지식을 말한다. OSI 모델의 네트워크 계층(3계층)과 전송 계층(4계층)에 친숙하고 이 계층들이 애플리케이션 계층(7계층)과 무엇이 다른지 잘 알고 있다면, 이 책을 읽을 준비가 된 것이다.

이 책의 구성

총 4개 부, 14개 장으로 구성돼 있다. 1부는 서비스 메시의 개념을 소개하고, 이스티오가 서비스 메시를 어떻게 구현하는지 설명한다. 1부에 속하는 3개 장에서는 이스티오의 아키텍처를 알아보고, 엔보이가 그 안에서 어떤 역할을 하고 이스티오를 사용했을 때 조직이 어떤 이점을 얻을 수 있는지 알아본다.
1장에서는 이스티오의 장점과 서비스 메시 도입이 조직에 가져다줄 수 있는 가치를 소개한다.
2장은 쿠버네티스 클러스터에 이스티오를 설치하는 실습 튜토리얼을 보여준다. 첫 번째 애플리케이션을 배포하고 메시에 통합한 후, 이를 이스티오의 커스텀 리소스로 설정해본다. 또한 데모 애플리케이션을 사용해 이스티오의 기본 기능을 개괄적으로 설명하고 트래픽 관리, 관찰 가능성, 보안을 다룬다.
3장은 엔보이를 집중해 살펴본다. 엔보이가 어떻게 등장했는지, 어떤 문제를 해결하는지, 서비스 메시 아키텍처에서 어떤 역할을 하는지 등을 설명한다.
2부에서는 이스티오를 깊이 있게 다룬다. 실용적인 예제로 초점을 맞춰 ‘클러스터로 들어오는 트래픽을 보호하는 방법은 무엇인가?’, ‘서비스를 더 복원력 있게 만드는 방법은 무엇인가?’, ‘서비스 프록시가 생성하는 텔레메트리를 사용해 시스템을 관찰 가능하게 만드는 방법은 무엇인가?’ 등의 주요 운영 관련 질문에 답해본다. 2부는 6개 장으로 구성돼 있다.
4장은 이스티오 인그레스 게이트웨이를 사용해 퍼블릭 네트워크에서 서비스로 트래픽을 안전하게 라우팅하는 방법을 설명한다(일명 north-south 트래픽).
5장은 트래픽을 클러스터에 허용한 이후의 과정을 다루며, VirtualService와 DestinationRule을 사용해 트래픽을 세밀하게 라우팅하는 방법을 보여준다. 세밀한 트래픽 라우팅 덕분에 새 소프트웨어를 릴리스할 때 위험을 줄여주는 복잡한 배포 패턴을 사용할 수 있다.
6장에서는 애플리케이션 팀에게 이스티오가 어떤 이점이 있는지 살펴본다. 재시도, 회로 차단, 리전(region) 간 로드 밸런싱, 지역성 인식 로드 밸런싱 기능을 서비스 메시에서 구현해 서비스를 견고하게 만드는 방법을 설명한다.
7장에서는 이스티오가 메트릭, 트레이싱, 로그를 생성해 서비스를 관찰 가능하게 만드는 방법을 설명한다. 여기서는 서비스 프록시가 생성하는 메트릭, 메트릭이 기록하는 정보, 기록하는 정보를 커스터마이징하는 방법을 자세히 살펴본다.
8장에서는 수집된 데이터를 이해하는 데 도움이 되는 텔레메트리 시각화 도구의 사용법을 다룬다. 이를 위해 메트릭을 프로메테우스(Prometheus)로 수집하고 그라파나(Grafana)로 시각화한다. 또한 서비스들을 거치는 요청의 트레이스를 예거(Jaeger)로 연결하고, 키알리(Kiali)가 이 정보들을 어떻게 결합해 메시 안의 서비스 문제 해결을 간편하게 만드는지 보여준다.
9장에서는 이스티오가 서비스 간 트래픽을 어떻게 보호하는지, 서비스가 어떻게 자신의 ID를 부여받는지, 그 ID를 어떻게 사용해 접근 제어를 구현하고 잠재적인 공격 범위를 줄이는지를 자세히 설명한다.
3부는 서비스를 운영하는 단계에 초점을 맞췄다. 따라서 데이터 플레인에서 발생하는 문제를 해결하고 컨트롤 플레인의 안정성과 성능을 유지하는 방법을 주로 다룬다. 이 부분을 마무리하면, 이스티오의 내부 구조를 충분히 이해하게 돼서 문제를 스스로 발견하고 해결하는 능력을 갖추게 될 것이다.
10장에서는 Istioctl, 키알리 등의 도구와 수집돼 시각화된 텔레메트리를 사용해 데이터 플레인의 문제를 해결하는 방법을 보여준다.
11장에서는 이스티오의 성능에 영향을 미치는 요소들을 다루며, 이스티오를 어떻게 설정해야 컨트롤 플레인의 성능을 높일 수 있는지 보여준다. 이는 견고한 서비스 메시의 토대가 된다.
마지막으로 4부에서는 이스티오를 커스터마이징하는 방법을 소개한다. 기업들은 서로 다른 클러스터, 서로 다른 네트워크 또는 클라우드 네이티브 워크로드와 레거시 워크 로드의 혼합과 같이 다양한 환경에서 서비스를 운영하고 있다. 4부를 마치고 나면, 워크로드를 단일 메시로 통합하고 웹어셈블리를 활용해 자신만의 요구 사항에 맞게 메시의 동작을 커스터마이징하는 방법을 알게 될 것이다.
12장은 서로 다른 쿠버네티스 클러스터에서 실행 중인 워크로드를 연결하는 방법을 보여준다. 이를테면 다른 클라우드 제공자, 온프레미스(on-premise), 또는 하이브리드 클라우드에서 실행되는 클러스터를 연결하는 방법이다.
13장에서는 가상 머신에서 실행되는 레거시 워크로드를 메시에 통합하고 메시의 복원력과 고가용성 기능을 해당 워크로드에 확장하는 방법을 보여준다.
14장에서는 기존 엔보이 기능이나 루아 스크립트 및 웹어셈블리 코드를 사용해 이스티오의 기능을 확장하고 커스터마이징하는 방법을 설명한다.

저자/역자 소개

지은이의 말

소프트웨어 개발은 어렵다. 네트워크를 통해 서로 다른 서비스를 연결하는 것은 더욱 까다롭다. 네트워크로 패킷, 메시지, 요청을 보낼 때는 그 결과를 보장할 수 없다. 요청이 도착할까? 얼마나 걸릴까? 통신이 실패한다면 누군가 알아챌 수 있을까?
도커와 쿠버네티스는 마이크로서비스 같은 분산형 서비스 아키텍처를 지원하는 데 많은 역할을 했지만, 기존의 통신 문제를 악화시키기도 했다. 서비스 하나가 문제를 일으키면 모든 것이 멈출 수 있다.
마이크로서비스를 도입하려는 전 세계 조직과 함께 일하면서, 팀들이 이런 통신 문제를 지속적으로 고민하고 해결하는 것이 무척 어려운 일이라는 사실을 알게 됐다. 통신 문제에는 다음과 같은 많은 질문거리가 있다. 서비스 디스커버리는 어떻게 할까? 타임아웃은? 재시도는? 회로 차단은? 트레이싱은? 인증은? 넷플릭스, 트위터, 구글과 같은 대형 클라우드 기업은 초기의 마이크로서비스 아키텍처를 성공적으로 개척했다. 이 회사들은 통신과 관련된 문제를 해결하기 위해 많은 개발자 도구와 인프라를 직접 만들어야 했는데, 다행히도 상당 부분을 오픈소스로 공개했다. 다른 조직에서도 NetflixOSS 스택이나 트위터 피네이글(Finagle)을 사용할 수 있을까? 물론 사용할 수 있고, 누군가는 그렇게 했다. 하지만 그 후 악몽 같은 운영 문제가 시작됐다.
예를 들어 NetflixOSS 스택은 주로 자바 개발자를 위해 작성됐다. 그럼 NodeJS, Go, 파이썬 개발 팀은 어떻게 해야 할까? 이 팀들은 라이브러리를 직접 만들거나 인터넷에서 여러 조각을 그러모아 기능을 구현해야 했으며,이 ‘네트워킹’ 코드를 자신의 비즈니스 로직에 섞어 넣어야 했다. 이런 접근법은 전이적 종속성을 추가하고 코드를 어지럽히며, 수정하기 어렵게 만들었다. 이렇게 애플리케이션 네트워킹 라이브러리가 포함된 서비스 아키텍처를 운영하고 업그레이드하고 패치하는 것은, 특히 이를 다양한 프로그래밍 언어에 일관되게 수행하는 것은 극히 복잡하고 오류가 발생하기 쉬운 일이었다.
서비스 메시는 이런 애플리케이션-네트워킹 문제를 더 깔끔하게 해결하는 방법이다. 서비스 메시를 이용하면 애플리케이션-네트워킹 로직을 전용 인프라로 추상화해 언어에 상관없이 모든 서비스에 적용할 수 있다. 이스티오는 확장성 있고 성숙하며 강력한 서비스 메시 구현체로, IBM과 구글의 프로젝트에서 시작됐다. 나는 2017년 1월에 이스티오 팀을 소개받은 이후 아주 초기부터 프로젝트에 참여했다. 2018년 말에는 서비스 메시 기술에 전념하고 애플리케이션 네트워킹의 발전에 힘쓰고자 스타트업인 Solo.io에 글로벌 필드 CTO로 합류했다.
스타트업을 밑바닥부터 성장시키는 것, 기술의 경계를 넓히는 것과 이 주제에 대해 깊이 있는 책을 저술하는 작업을 병행하는 것은 쉬운 일이 아니었다. 그래서 집필 작업을 진전시키는 데 도움을 줄 헌신적이고 열정적인 사람이 필요했다. 원고를 절반가량 집필했을 무렵 매닝출판사 편집 팀과 나는 라이너 말로쿠를 이 책의 공동 저자로 초대했다. 우리는 커뮤니티에서 활동하고 Solo.io에서 고객(그중 일부는 전 세계에서 이스티오 운영규모가 가장 크다)과 함께 일하면서 많은 시간을 보냈기 때문에, 현실의 경험을 바탕으로 이스티오에 대한 훌륭한 자료를 엮어낼 수 있었다. 이 책이 여러분에게 이스티오의 가치와 강력함을 보여줄 뿐 아니라 다른 사례들처럼 프로덕션에 이스티오를 채택하는 과정에서 편안함을 느끼게 해주길 기대한다.

지은이 소개

크리스티안 포스타(Christian Posta)

Solo.io의 글로벌 필드 CTO(Global Field CTO)이자 부사장이다. 클라우드 네이티브 커뮤니티에서는 저자, 블로거(https://blog.christianposta.com), 강연자이자 서비스 메시와 클라우드 네이티브 생태계에 속한 다양한 오픈소스 프로젝트의 기여자로 잘 알려져 있다. 엔터프라이즈와 초대형 IT 기업에서 경험을 쌓았으며, 현재는 조직들이 대규모(large-scale)의 탄력적인 클라우드 네이티브 분산 아키텍처를 구축하고 배포하는 데 도움을 주고 있다. 분산 시스템 개념, 마이크로서비스, 데브옵스, 클라우드 네이티브 애플리케이션 설계로 팀을 멘토링하고 훈련시키면서 성공으로 이끄는 것을 즐긴다.

라이너 말로쿠(Rinor Maloku)

Solo.io의 엔지니어로, 서비스 메시와 같은 네트워킹 솔루션을 채택하는 고객에게 컨설팅을 제공한다. 이전에는 레드햇에 근무하면서 서비스의 고가용성을 보장하기 위한 미들웨어 소프트웨어를 구축했으며, 프리랜서로 활동하면서 클라우드 컴퓨팅 기술의 잠재력을 최대한 활용하려고 노력하는 여러 DAX 30 회원사에 컨설팅을 제공했다.

옮긴이의 말

최근 몇 년간 서비스 메시에 대한 필요성이 크게 증가하고 있습니다. 마이크로서비스와 클라우드 네이티브 애플리케이션 시대가 도래하면서 분산 시스템은 더욱 복잡해지고 있으며, 동시에 급변하는 고객의 요구에 빠르게 대응하기 위해 애자일 방법론의 중요성도 날로 커지고 있습니다. 이러한 두 흐름이 맞물리면서 개발자의 부담을 줄이고 효과적으로 시스템을 관리할 수 있는 방법에 대한 요구가 증가하고 있으며, 그 해결책으로서 서비스 메시의 중요성이 대두됐습니다.
서비스 메시란 무엇이며, 왜 필요할까요? 마이크로서비스 아키텍처에서는 수많은 서비스가 서로 통신해야 합니다. 이 과정에서 보안, 로드 밸런싱, 모니터링 등의 과제가 생기게 되는데, 서비스 메시는 이러한 과제를 해결하는 기술입니다. 특히 서비스 메시를 사용하면 각 서비스 간의 통신을 일관되게 관리하고 제어할 수 있어 시스템의 복잡성을 크게 줄일 수 있습니다.
그렇다면 왜 여러 서비스 메시 중에서 이스티오를 선택해야 할까요? 이스티오는 서비스 메시 기술의 사실상 표준으로 자리 잡고 있습니다. 오픈소스 기술을 채택할 때 커뮤니티의 생명력은 매우 중요한 요소인데, 커뮤니티의 활동이 멈추면 오픈소스로서의 강점을 상실하기 때문입니다. 이스티오는 커뮤니티가 대단히 활발하며, IT 최전선에 있는 기업들, 예를 들어 카카오, 토스, 크래프톤 등이 채택하고 있어 신뢰할 만한 기술임을 증명하고 있습니다.
이 책의 매력은 무엇일까요? 이스티오에 대한 정보의 원천으로 공식 문서가 있지만, 대부분의 문서가 개별적인 기능만을 다루기 때문에 체계적인 학습에는 한계가 있습니다. 게다가 이러한 필요성에도 불구하고 국내에는 잘 안내된 서적이 아직 출판되지 않았습니다. 다행히도 이 책은 이스티오의 필요성과 아키텍처부터 일반적으로 다루지 않는 복잡한 사용사례에 이르기까지 다양한 내용을 이해하기 쉽게 체계적으로 설명하고 있습니다. 비록 최근 개발 중인 앰비언트 메시(ambient mesh) 같은 비교적 최신인 내용은 포함되지 않았지만, 이 기능이 아직 알파 단계에 불과하다는 점을 고려하면 큰 단점이 되지는 않을 것입니다.
이 책을 번역하면서 가장 중점을 둔 부분은 최대한 자연스럽게 읽히도록 하는 것이었습니다. 저 역시 대학 시절부터 직장인인 현재에 이르기까지 숱한 번역서를 접했는데, 그 과정에서 가장 이해하기 어려웠던 것은 원문을 그대로 옮긴 표현이었습니다. 따라서 이 책에서는 원문을 그대로 옮기기보다는 한국어에 더 가까운 표현을 사용하고자 노력했습니다. 번역 과정에서 가장 큰 어려움은 기술 용어와 개념을 정확히 전달하면서도 자연스럽게 번역하는 것이었는데, 이 과정에서 쿠버네티스 문서 한글화 가이드의 용어집을 참고했습니다. 부디 이 번역서가 ‘원서로 보는 편이 더 나은 책’이 아니길 바랍니다. 제 노력으로 독자 여러분이 좀 더 쉽게 이스티오를 이해하고 실무에 적용할 수 있다면 더 바랄 게 없습니다.

옮긴이 소개

연주영

고려대학교 컴퓨터학과를 졸업한 후 센드버드에서 데브옵스 엔지니어로 재직 중이다. 데브옵스 철학을 실무에 적극 활용하며, AWS의 전 세계 11개 리전에서 70개 이상의 쿠버네티스 클러스터를 구축하고 운영하면서 클라우드 경험을 쌓았다. 최근에는 인프라 지식을 바탕으로, 가상머신 기반 애플리케이션을 쿠버네티스로 마이그레이션하면서 운영 도구를 개발하는 업무를 담당하고 있다. 새로운 기술을 배우고 효율적인 시스템을 구축하는 것을 좋아하며, 계속 성장하기 위해 노력 중이다.

목차

목차
  • 1부 이스티오 이해하기

  • 1장. 서비스 메시 소개하기
  • 1.1 속도를 높이며 마주하는 문제들
  • 1.1.1 클라우드 인프라는 신뢰할 수 없다
  • 1.1.2 서비스 상호작용을 복원력 있게 만들기
  • 1.1.3 일어나고 있는 일 실시간으로 이해하기
  • 1.2 이 과제를 애플리케이션 라이브러리로 해결해보기
  • 1.2.1 애플리케이션별 라이브러리의 단점
  • 1.3 이런 관심사를 인프라에 전가하기
  • 1.31 애플리케이션 인식 서비스 프록시
  • 1.3.2 엔보이 프록시 만나기
  • 1.4 서비스 메시란 무엇인가?
  • 1.5 이스티오 서비스 메시 소개
  • 1.5.1 서비스 메시와 엔터프라이즈 서비스 버스의 관계
  • 1.5.2 서비스 메시와 API 게이트웨이의 관계
  • 1.5.3 마이크로서비스가 아닌 아키텍처에도 이스티오를 사용할 수 있는가?
  • 1.5.4 이스티오가 분산 아키텍처에 적합한 경우
  • 1.5.5 서비스 메시를 사용할 때의 단점은 무엇인가?
  • 요약
  • 2장. 이스티오 첫걸음
  • 2.1 쿠버네티스에 이스티오 배포하기
  • 2.1.1 예제에서 도커 데스크톱 사용하기
  • 2.1.2 이스티오 배포판 받기
  • 2.1.3 쿠버네티스에 이스티오 구성 요소 설치하기
  • 2.2 이스티오 컨트롤 플레인 알아보기
  • 2.2.1 istiod
  • 2.2.2 ingress 및 egress 게이트웨이
  • 2.3 서비스 메시에 첫 애플리케이션 배포해보기
  • 2.4 복원력, 관찰 가능성, 트래픽 제어 기능을 갖춘 이스티오의 능력 살펴보기
  • 2.4.1 이스티오 관찰 가능성
  • 2.4.2 복원력을 위한 이스티오
  • 2.4.3 트래픽 라우팅을 위한 이스티오
  • 요약
  • 3장. 이스티오의 데이터 플레인: 엔보이 프록시
  • 3.1 엔보이 프록시란 무엇인가?
  • 3.1.1 엔보이의 핵심 기능
  • 3.1.2 엔보이와 다른 프록시 비교
  • 3.2 엔보이 설정하기
  • 3.2.1 정적 설정
  • 3.2.2 동적 구성
  • 3.3 엔보이 인 액션
  • 3.3.1 엔보이의 Admin API
  • 3.3.2 엔보이 요청 재시도
  • 3.4 엔보이는 어떻게 이스티오에 맞는가?
  • 요약

  • 2부. 서비스 네트워크 트래픽 보안, 관찰, 제어하기
  • 4장. 이스티오 게이트웨이: 클러스터로 트래픽 들이기
  • 4.1 트래픽 인그레스 개념
  • 4.1.1 가상 IP: 서비스 접근 단순화
  • 4.1.2 가상 호스팅: 단일 접근 지점의 여러 서비스
  • 4.2 이스티오 인그레스 게이트웨이
  • 4.2.1 Gateway 리소스 지정하기
  • 4.2.2 VirtualService로 Gateway 라우팅하기
  • 4.2.3 전체적인 트래픽 흐름 개요
  • 4.2.4 이스티오 인그레스 게이트웨이 vs
  • 4.2.5 이스티오 인그레스 게이트웨이 vs
  • 4.3 게이트웨이 트래픽 보안
  • 4.3.1 TLS를 사용한 HTTP 트래픽
  • 4.3.2 HTTPS로 HTTP 리다이렉트
  • 4.3.3 상호 TLS를 사용한 HTTP 트래픽
  • 4.3.4 여러 가상 호스트를 TLS로 서빙하기
  • 4.4 TCP 트래픽
  • 4.4.1 이스티오 게이트웨이에서 TCP 포트 노출하기
  • 4.4.2 SNI 통과를 사용한 트래픽 라우팅
  • 4.5 운영 팁
  • 4.5.1 게이트웨이 책임 나누기
  • 4.5.2 게이트웨이 주입
  • 4.5.3 인그레스 게이트웨이 액세스 로그
  • 4.5.4 게이트웨이 설정 줄이기
  • 요약
  • 5장. 트래픽 제어: 세밀한 트래픽 라우팅
  • 5.1 새로운 코드 배포의 위험 줄이기
  • 5.1.1 배포 vs
  • 5.2 이스티오로 요청 라우팅하기
  • 5.2.1 작업 공간 청소
  • 5.2.2 catalog 서비스 v1 배포하기
  • 5.2.3 catalog 서비스 v2 배포하기
  • 5.2.4 모든 트래픽을 catalog 서비스 v1으로 라우팅하기
  • 5.2.5 특정 요청을 v2로 라우팅하기
  • 5.2.6 호출 그래프 내 깊은 위치에서 라우팅
  • 5.3 트래픽 전환
  • 5.3.1 Flagger로 카나리 릴리스하기
  • 5.4 위험을 더욱 줄이기: 트래픽 미러링
  • 5.5 이스티오의 서비스 디스커버리 기능을 사용해 클러스터 외부의 서비스로 라우팅하기
  • 요약
  • 6장. 복원력: 애플리케이션 네트워킹 문제 해결하기
  • 6.1 애플리케이션에 복원력 구축하기
  • 6.1.1 애플리케이션 라이브러리에 복원력 구축하기
  • 6.1.2 이스티오로 이런 문제 해결하기
  • 6.1.3 분산형 복원력 구현
  • 6.2 클라이언트 측 로드 밸런싱
  • 6.2.1 클라이언트 측 로드 밸런싱 시작하기
  • 6.2.2 시나리오 설정하기
  • 6.2.3 다양한 클라이언트 측 로드 밸런싱 전략 테스트하기
  • 6.2.4 다양한 로드 밸런싱 알고리듬 이해하기
  • 6.3 지역 인식 로드 밸런싱
  • 6.3.1 지역 인식 로드 밸런싱 실습
  • 6.3.2 가중치 분포로 지역 인식 로드 밸런싱 제어 강화
  • 6.4 투명한 타임아웃과 재시도
  • 6.4.1 타임아웃
  • 6.4.2 재시도
  • 6.4.3 고급 재시도
  • 6.5 이스티오를 이용한 서킷 브레이킹
  • 6.5.1 커넥션 풀 제어로 느린 서비스에 대응하기
  • 6.5.2 이상값 감지로 비정상 서비스에 대응하기
  • 요약
  • 7장. 관찰 가능성: 서비스의 동작 이해하기
  • 7.1 관찰 가능성이란 무엇인가?
  • 7.1.1 관찰 가능성 vs
  • 7.1.2 이스티오는 어떻게 관찰 가능성을 돕는가?
  • 7.2 이스티오 메트릭 살펴보기
  • 7.2.1 데이터 플레인의 메트릭
  • 7.2.2 컨트롤 플레인의 메트릭
  • 7.3 프로메테우스로 이스티오 메트릭 긁어오기
  • 7.3.1 프로메테우스와 그라파나 설정하기
  • 7.3.2 이스티오 컨트롤 플레인과 워크로드를 긁어가도록
  • 프로메테우스 오퍼레이터 설정하기
  • 7.4 이스티오 표준 메트릭 커스터마이징하기
  • 7.4.1 기존 메트릭 설정하기
  • 7.4.2 새로운 메트릭 만들기
  • 7.4.3 새 속성으로 호출 그룹화하기
  • 요약
  • 8장. 관찰 가능성: 그라파나, 예거, 키알리로 네트워크 동작 시각화하기
  • 8.1 그라파나를 사용해 이스티오 서비스와 컨트롤 플레인 메트릭 시각화하기
  • 8.1.1 이스티오의 그라파나 대시보드 설정하기
  • 8.1.2 컨트롤 플레인 메트릭 보기
  • 8.1.3 데이터 플레인 메트릭 보기
  • 8.2 분산 트레이싱
  • 8.2.1 분산 트레이싱은 어떻게 작동하는가?
  • 8.2.2 분산 트레이싱 시스템 설치하기
  • 8.2.3 분산 트레이싱을 수행하도록 이스티오 설정하기
  • 8.2.4 분산 트레이싱 데이터 보기
  • 8.2.5 트레이스 샘플링, 강제 트레이스, 커스텀 태그
  • 8.3 키알리를 이용한 시각화
  • 8.3.1 키알리 설치하기
  • 8.3.2 결론
  • 요약
  • 9장. 마이크로서비스 통신 보호하기
  • 9.1 애플리케이션 네트워크 보안의 필요성
  • 9.1.1 서비스 간 인증
  • 9.1.2 최종 사용자 인증
  • 9.1.3 인가
  • 9.1.4 모놀리스와 마이크로서비스의 보안 비교
  • 9.1.5 이스티오가 SPIFFE를 구현하는 방법
  • 9.1.6 이스티오 보안 요약
  • 9.2 자동 상호 TLS
  • 9.2.1 환경 설정하기
  • 9.2.2 이스티오의 PeerAuthentication 리소스 이해하기
  • 9.3 서비스 간 트래픽 인가하기
  • 9.3.1 이스티오에서 인가 이해하기
  • 9.3.2 작업 공간 설정하기
  • 9.3.3 워크로드에 정책 적용 시 동작 변경
  • 9.3.4 전체 정책으로 기본적으로 모든 요청 거부하기
  • 9.3.5 특정 네임스페이스에서 온 요청 허용하기
  • 9.3.6 미인증 레거시 워크로드에서 온 요청 허용하기
  • 9.3.7 특정 서비스 어카운트에서 온 요청 허용하기
  • 9.3.8 정책의 조건부 적용
  • 9.3.9 값 비교 표현식 이해하기
  • 9.3.10 인가 정책이 평가되는 순서 이해하기
  • 9.4 최종 사용자 인증 및 인가
  • 9.4.1 JSON 웹 토큰이란 무엇인가?
  • 9.4.2 인그레스 게이트웨이에서의 최종 사용자 인증 및 인가
  • 9.4.3 RequestAuthentication으로 JWT 검증하기
  • 9.5 커스텀 외부 인가 서비스와 통합하기
  • 9.5.1 외부 인가 실습
  • 9.5.2 이스티오에 외부 인가 설정하기
  • 9.5.3 커스텀 AuthorizationPolicy 리소스 사용하기
  • 요약


  • 3부. 이스티오 운영
  • 10장. 데이터 플레인 트러블 슈팅하기
  • 10.1 가장 흔한 실수: 잘못 설정한 데이터 플레인
  • 10.2 데이터 플레인 문제 식별하기
  • 10.2.1 데이터 플레인이 최신 상태인지 확인하는 방법
  • 10.2.2 키알리로 잘못된 설정 발견하기
  • 10.2.3 istioctl로 잘못된 설정 발견하기
  • 10.3 엔보이 설정에서 수동으로 잘못된 설정 발견하기
  • 10.3.1 엔보이 관리 인터페이스
  • 10.3.2 istioctl로 프록시 설정 쿼리하기
  • 10.3.3 애플리케이션 문제 트러블 슈팅하기
  • 10.3.4 ksniff로 네트워크 트래픽 검사
  • 10.4 엔보이 텔레메트리로 자신의 애플리케이션 이해하기
  • 10.4.1 그라파나에서 실패한 요청 비율 찾기
  • 10.4.2 프로메테우스를 사용해 영향받는 파드 쿼리하기
  • 요약
  • 11장. 컨트롤 플레인 성능 튜닝하기
  • 11.1 컨트롤 플레인의 주요 목표
  • 11.1.1 데이터 플레인 동기화 단계 이해하기
  • 11.1.2 성능을 결정짓는 요소
  • 11.2 컨트롤 플레인 모니터링하기
  • 11.2.1 컨트롤 플레인의 네 가지 황금 신호
  • 11.3 성능 튜닝하기
  • 11.3.1 워크스페이스 준비하기
  • 11.3.2 최적화 전 성능 측정하기
  • 11.3.3 이벤트 무시하기: 디스커버리 셀렉터로 디스커버리 범위 줄이기
  • 11.3.4 이벤트 배치 처리 및 푸시 스로틀링 속성
  • 11.4 성능 튜닝 가이드라인
  • 요약

  • 4부. 조직에서의 이스티오
  • 12장. 조직 내에서 이스티오 스케일링하기
  • 12.1 다중 클러스터 서비스 메시의 이점
  • 12.2 다중 클러스터 서비스 메시 개요
  • 12.2.1 이스티오 다중 클러스터 배포 모델
  • 12.2.2 다중 클러스터 배포에서 워크로드는 어떻게 찾는가?
  • 12.2.3 클러스터 간 워크로드 연결
  • 12.2.4 클러스터 간 공통 신뢰
  • 12.3 다중 클러스터, 다중 네트워크, 다중 컨트롤 플레인 서비스 메시 개요
  • 12.3.1 다중 클러스터 배포 모델 선택하기
  • 12.3.2 클라우드 인프라 준비하기
  • 12.3.3 플러그인 CA 인증서 설정하기
  • 12.3.4 각 클러스터에 컨트롤 플레인 설치하기
  • 12.3.5 클러스터 간 워크로드 디스커버리 활성화하기
  • 12.3.6 클러스터 간 연결 설정하기
  • 12.3.7 클러스터 간 로드 밸런싱
  • 요약
  • 13장. 가상머신 워크로드를 메시에 통합하기
  • 13.1 이스티오의 가상머신 지원
  • 13.1.1 가상머신에서의 사이드카 프록시 설치 및 설정 단순화하기
  • 13.1.2 가상머신 고가용성
  • 13.1.3 메시 내 서비스의 DNS 해석
  • 13.2 인프라 준비하기
  • 13.2.1 서비스 메시 준비하기
  • 13.2.2 가상머신 프로비저닝
  • 13.3 가상머신까지 메시 확장
  • 13.3.1 istiod와 클러스터 서비스들을 가상머신에 노출하기
  • 13.3.2 WorkloadGroup으로 워크로드 그룹 나타내기
  • 13.3.3 가상머신에 istio-agent 설치 및 설정하기
  • 13.3.4 클러스터 서비스로 트래픽 라우팅하기
  • 13.3.5 트래픽을 WorkloadEntry로 라우팅하기
  • 13.3.6 컨트롤 플레인이 가상머신 설정: 상호 인증 강제
  • 13.4 DNS 프록시 이해하기
  • 13.4.1 DNS 프록시가 클러스터 호스트네임을 해석하는 방법
  • 13.4.2 DNS 프록시가 인식하는 호스트네임은 무엇인가?
  • 13.5 에이전트 동작 커스터마이징하기
  • 13.6 메시에서 WorkloadEntry 제거하기
  • 요약
  • 14장. 이스티오의 요청 처리 기능 확장하기
  • 14.1 엔보이의 확장 기능
  • 14.1.1 엔보이의 필터 체인 이해하기
  • 14.1.2 확장용 필터
  • 14.1.3 이스티오의 데이터 플레인 커스터마이징하기
  • 14.2 EnvoyFilter 리소스로 엔보이 필터 설정하기
  • 14.3 외부 호출로 요청 속도 제한하기
  • 14.3.1 엔보이 속도 제한 이해하기
  • 14.4 루아로 이스티오의 데이터 플레인 확장하기
  • 14.5 웹어셈블리로 이스티오의 데이터 플레인 확장하기
  • 14.5.1 웹어셈블리 소개
  • 14.5.2 왜 엔보이에 웹어셈블리를 사용하는가?
  • 14.5.3 웹어셈블리로 새로운 엔보이 필터 만들기
  • 14.5.4 meshctl로 새 엔보이 필터 빌드하기
  • 14.5.5 새로운 웹어셈블리 엔보이 필터 배포하기
  • 요약
  • 부록 A. 이스티오 설치 커스터마이징
  • 부록 B. 이스티오의 사이드카와 그 주입 옵션
  • 부록 C. 이스티오 보안: SPIFFE
  • 부록 D. 이스티오 구성 요소 트러블 슈팅하기
  • 부록 E. 가상머신이 메시에 참여하도록 구성하는 방법

도서 오류 신고

도서 오류 신고

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

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

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