튜토리얼: GKE Enterprise를 사용하여 서비스 관리


Anthos Service Mesh는 GKE Enterprise 사용자에게 신뢰할 수 있는 마이크로서비스 기반 애플리케이션을 모니터링하고 관리할 수 있는 도구를 제공합니다. 이 튜토리얼에서는 Google Cloud의 Bank of Anthos 샘플 배포를 사용하여 서비스 수준 목표(SLO)를 정의하는 방법을 보여줌으로써 Anthos Service Mesh의 서비스 관리 기능 중 일부를 소개합니다. 이 샘플은 GKE 클러스터, 서비스 메시, 여러 마이크로서비스를 포함한 Bank of Anthos 애플리케이션과 함께 실제 GKE Enterprise 실무 환경을 배포합니다.

SLO란 무엇인가요?

Google의 사이트 안정성 엔지니어링(SRE) 교재에 따르면 다음과 같습니다.

해당 서비스에 어떤 동작이 중요한지, 해당 동작을 어떻게 측정 및 평가해야 하는지를 이해하지 못하면 이 서비스를 제대로 관리할 수 없습니다. 이를 위해서 사용자가 내부 API를 사용하는지 또는 공개 제품을 사용하는지에 대한 특정 서비스 수준을 정의하고 전달하려고 합니다.

Google SRE팀은 서비스 수준 지표 (SLI), 서비스 수준 목표(SLO), 서비스수준계약 (SLA)를 사용하여 작업에 정보를 제공하는 측정항목을 구조화하고 안내합니다. SLI는 서비스 지연 시간 또는 가용성과 같은 서비스 성능 측면 일부의 정량적 척도이며 SLO는 SLI로 측정되는 서비스 수준의 목표 값(시간의 x% 여야 함)입니다. Anthos Service Mesh를 사용하면 자체 서비스의 SLO를 쉽게 정의하고 세분화할 수 있습니다. 적절한 SLI와 SLO를 식별하는 데 필요한 정보를 제공하며, 서비스가 SLO를 충족하지 않는 경우에 알림을 제공합니다.

Anthos Service Mesh의 SLO 및 SLI에 대한 자세한 내용은 SLO 개요SLO 설계를 참조하세요.

목표

이 튜토리얼에서는 다음 작업을 통해 GKE Enterprise에서 Anthos Service Mesh로 서비스를 관리하는 방법을 소개합니다.

  • 서비스의 SLI(서비스 수준 지표)를 식별합니다.

  • SLO(서비스 수준 목표)를 사용하여 예상치 못한 동작을 모니터링합니다.

비용

Bank of Anthos 애플리케이션을 배포하면 이미 구독을 구입한 경우가 아니라면 당사의 가격 책정 페이지에 표시된 대로 Google Cloud에서 GKE Enterprise에 대한 사용한 만큼만 지불 비용이 발생합니다.

Compute Engine VM 및 부하 분산기 요금과 같이 Bank of Anthos 애플리케이션을 실행하는 동안 발생하는 기타 Google Cloud 비용도 사용자가 부담합니다.

추가 요금이 청구되지 않도록 튜토리얼을 완료하거나 배포를 살펴본 후 삭제하는 것이 좋습니다.

시작하기 전에

이 튜토리얼은 Explore GKE Enterprise 튜토리얼의 후속 튜토리얼입니다. 이 튜토리얼을 시작하기 전 해당 페이지의 안내에 따라 프로젝트를 설정하고 Bank of Anthos를 배포합니다.

SLI 식별

Anthos Service Mesh를 사용하면 쉽고 간단하게 SLI를 수집하고 SLO를 정의할 수 있습니다. 이 예시에서는 우선 Bank of Anthos의 ledgerwriter 서비스에 대한 SLO를 정의합니다.

먼저 Anthos Service Mesh를 사용하여 서비스의 SLI를 식별하는 데 사용할 수 있는 정보를 찾습니다.

  1. Bank of Anthos를 설치한 프로젝트에서 Anthos Service Mesh 페이지로 이동합니다.

    Anthos Service Mesh 페이지로 이동

    이 뷰의 맨 위 부분에는 SLO가 없는 서비스 수를 포함하여 알림 및 SLO에 대한 지표와 함께 서비스 애플리케이션의 현재 상태가 표시되며 현재 모든 서비스는 설정된 SLO 없음에 있습니다. 또한 상태 열에서 모든 서비스에는 검은색 원 표시기가 있습니다. 모든 서비스에 대한 표시기 위에 마우스 포인터를 가져가면 해당 서비스에 대한 SLO가 설정되어 있지 않다는 메세지가 표시됩니다.

  2. ledgerwriter99% 지연 시간은 밀리초 단위로 기록합니다 (아래로 스크롤해야 볼 수 있습니다). 이 측정항목은 100개 요청 당 하나에서 이러한 수준의 지연 시간이 발생하는 것을 의미합니다. 다음 섹션에서 이 값을 사용합니다.

SLO 만들기

이제 서비스의 지연 시간 SLI에 대해 SLO를 만듭니다. 서비스가 오류 예산을 초과할 때 발생하는 상황을 확인하려면 이전 섹션에서 확인한 정보를 기반으로 의도적으로 낮은 임계값을 설정합니다. 실제 프로덕션 서비스의 경우 사용자가 애플리케이션에서 좋은 경험을 할 수 있도록 필요 이상의 임계값 지연 시간 값을 찾으려고 합니다.

  1. Anthos Service Mesh 테이블 보기에서 ledgerwriter를 클릭하여 서비스 개요 페이지로 이동합니다.

  2. 서비스 상태 아래의 SLO 만들기를 클릭합니다.

  3. SLI 유형 목록에서 지연 시간을 선택합니다.

  4. 기본 요청 기반 평가 메서드를 그대로 두고 계속을 클릭합니다.

  5. 지연 시간 기준10 ms와 같이 임의의 낮은 값으로 설정합니다(앞에서 관찰한 99% 지연 시간 값보다 훨씬 낮은 값). 계속을 다시 클릭합니다.

  6. 규정 준수 기간에서 기간 유형Rolling으로, 기간 길이1 Day로 설정합니다.

  7. SLO 목표에서 규정 준수 대상90%로 설정합니다. Anthos Service Mesh는 이 값을 사용하여 이 SLO에 대한 오류 예산을 계산합니다. 즉, 지정된 지연 시간 기준점을 초과해야 하는 요청의 최대 비율입니다. 미리보기는 최근 1일 동안 SLO의 성능을 보여줍니다. 계속을 클릭합니다.

  8. SLO 이름 지정 섹션에는 새 SLO의 기본 이름이 표시됩니다. 권장 기본값을 수락하거나 새 이름을 지정할 수 있습니다. SLO를 만들고 ledgerwriter상태 페이지로 이동하려면 SLO 만들기를 클릭합니다.

드롭다운 화살표를 클릭하여 SLO에 대한 세부정보를 확인합니다. 설정에 따라 SLO가 오류 예산 부족으로 표시됩니다. 이 뷰에서 SLO를 수정하거나 삭제할 수도 있습니다.

Anthos Service Mesh 서비스 상태 뷰의 스크린샷

SLO 및 알림 표시기 재확인

  1. 서비스 개요 페이지에서 뒤로 화살표를 클릭하여 표 보기로 돌아갑니다. 이제 SLO 조합 없음의 서비스 수가 1 줄어들고 SLO 오류 예산 초과가 더 이상 0이 아님을 알 수 있습니다.

  2. ledgerwriter까지 스크롤을 내리면 인접한 표시기가 주황색 경고 삼각형으로 변경된 것을 확인할 수 있습니다. 해당 표시기 위로 마우스 포인터를 가져가면 서비스 안정성을 조사하라는 메시지가 표시됩니다. 표시기를 클릭하면 서비스의 상태 페이지로 돌아가서 SLO 세부정보를 검토합니다. 또한 토폴로지 뷰의 서비스에도 동일한 표시기가 표시됩니다.

SLO 경고가 있는 Anthos Service Mesh 서비스 목록 스크린샷

배포 더 살펴보기

GKE Enterprise는 그 밖에도 많은 정보와 작업들을 배포에 제공합니다. 다음 섹션의 삭제 안내를 따르기 전에 다른 튜토리얼을 자유롭게 사용해 보거나 직접 Google Cloud의 Bank of Anthos 배포를 계속 살펴보세요.

삭제

Bank of Anthos 애플리케이션을 모두 살펴본 후에는 Google Cloud에서 만든 리소스가 할당량을 차지하지 않고 이후에 요금이 청구되지 않도록 리소스를 삭제할 수 있습니다.

  • 옵션 1. 프로젝트를 삭제할 수 있습니다. 하지만 프로젝트를 유지하려는 경우에는 옵션 2를 사용하여 배포를 삭제하면 됩니다.

  • 옵션 2. 현재 프로젝트를 유지하려면 terraform destroy를 사용해서 샘플 애플리케이션과 클러스터를 삭제할 수 있습니다.

프로젝트 삭제(옵션 1)

청구되지 않도록 하는 가장 쉬운 방법은 튜토리얼에서 만든 프로젝트를 삭제하는 것입니다.

  1. Google Cloud 콘솔에서 리소스 관리 페이지로 이동합니다.

    리소스 관리로 이동

  2. 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제를 클릭합니다.
  3. 대화상자에서 프로젝트 ID를 입력한 후 종료를 클릭하여 프로젝트를 삭제합니다.

배포 삭제(옵션 2)

이 방법을 사용하면 Bank of Anthos 애플리케이션과 클러스터가 삭제되지만 프로젝트는 삭제되지 않습니다. Cloud Shell에서 다음 명령어를 실행합니다.

  1. 설치 스크립트를 호스팅하는 디렉터리로 이동합니다.

    cd bank-of-anthos/iac/tf-anthos-gke
    
  2. 샘플 및 클러스터를 삭제합니다.

    terraform destroy
    
  3. 메시지가 표시되면 프로젝트 ID를 입력합니다.

다시 배포하려면 시작하기 전에 섹션의 설명대로 모든 요구사항이 충족되었는지 확인합니다.

다음 단계

GKE Enterprise 문서에서 다양한 기능을 살펴볼 수 있습니다.

튜토리얼 더보기

  • 보안 GKE Enterprise에서 Bank of Anthos를 사용하여 GKE Enterprise 보안 기능을 살펴봅니다.

  • Google Cloud에 대한 참조 아키텍처, 다이어그램, 권장사항을 살펴봅니다. Cloud 아키텍처 센터를 살펴봅니다.

GKE Enterprise 자세히 알아보기

  • 기술 개요에서 GKE Enterprise에 대해 자세히 알아보기

  • 설정 가이드에서 실제 프로덕션 환경에서 GKE Enterprise 설정 방법 알아보기

  • Anthos Service Mesh 문서에서 Anthos Service Mesh로 더 많은 작업을 수행하는 방법 알아보기