마이크로서비스 정의

이 문서에서는 커스텀 서비스와 GKE 기반 리소스와 Cloud Run 기반 리소스의 서비스를 만드는 방법을 설명합니다.

Cloud Monitoring에서 서비스는 SLO 및 알림 정책과 연결할 수 있는 구조입니다. Monitoring 서비스를 만들 수 있는 여러 리소스를 서비스라고 하지만 GKE 서비스 또는 Cloud Run 서비스와 같이 의미는 다릅니다.

Monitoring은 GKE 기반 서비스와 Cloud Run 기반 서비스를 모니터링 후보로 인식할 수 있습니다. 서비스를 만들려면 Monitoring 서비스로 취급할 후보를 표시합니다. Monitoring에서 자동으로 필요한 인프라를 만듭니다.

임의의 커스텀 서비스를 정의할 수도 있습니다.

서비스 식별 또는 만들기

후보 서비스를 식별하거나 커스텀 서비스를 만들려면 서비스 정의 창으로 이동합니다.

  1. Google Cloud 콘솔에서 Monitoring으로 이동하거나 다음 버튼을 사용합니다.

    모니터링으로 이동

  2. Monitoring 탐색창에서 서비스를 클릭합니다.

  3. 서비스 개요 페이지에서 다음 중 하나를 수행합니다.

    • 서비스 정의를 클릭합니다.

    • 현재 상태 창에서 서비스 정의 링크를 클릭합니다.

      **서비스 정의**를 사용하여 커스텀 및 사용자 식별 서비스를 만듭니다.

서비스 정의 창에서 다음을 수행할 수 있습니다.

  • 후보 서비스 목록에서 GKE 기반 서비스나 Cloud Run 기반 서비스를 만듭니다.
  • 커스텀 서비스를 정의합니다.

다음 섹션에서는 이러한 옵션을 설명합니다.

GKE 기반 및 Cloud Run 기반 서비스 만들기

Cloud Monitoring은 다음 유형의 잠재 서비스를 식별할 수 있습니다.

  • GKE 네임스페이스
  • GKE 서비스
  • GKE 워크로드
  • Cloud Run 서비스

이러한 잠재적 서비스가 많을 수 있으므로 Monitoring은 해당 서비스가 모두 SLO가 있는 서비스로 취급된다고 가정하지 않습니다. Monitoring에서 서비스로 취급해야 하는 잠재 서비스를 표시하려면 콘솔 또는 API를 사용합니다.

콘솔을 사용하여 GKE 및 Cloud Run 서비스 만들기

콘솔을 사용하여 GKE 기반 또는 Cloud Run 기반 Monitoring 서비스를 식별하려면 다음을 수행합니다.

  1. 서비스 개요 페이지에서 서비스 정의를 클릭합니다.

  2. 서비스 후보를 선택합니다.

    잠재 서비스가 **서비스 후보** 탭에 나열됩니다.

    목록에 후보 서비스가 많이 있을 수 있습니다. 다음과 같이 목록을 필터링할 수 있습니다.

    1. 테이블 필터링을 클릭합니다. 필터 옵션 목록이 표시됩니다.

    2. 필터 목록의 옵션 중 하나를 선택합니다. 선택한 옵션은 필터 표시줄에 표시됩니다.

    3. 필터 표시줄의 옵션 옆을 클릭하고 입력합니다. 일치하는 값이 목록에 제공됩니다. 목록에서 값을 선택합니다.

  3. 잠재 서비스 목록에서 후보 서비스를 클릭합니다.

    항목을 클릭하면 다음 필드가 자동으로 채워집니다.

    • 표시 이름이 목록의 항목 이름으로 설정됩니다. 이 값을 변경할 수 있습니다.

    • 새 서비스 구성에 사용되는 JSON 코드 블록이 후보에서 생성됩니다. 이 값을 변경하지 마세요.

  4. 제출을 클릭합니다. 서비스가 생성되면 성공 알림이 표시됩니다.

API를 사용하여 GKE 및 Cloud Run 서비스 만들기

GKE 기반 서비스와 Cloud Run 기반 서비스를 Cloud Monitoring API의 일부인 SLO API를 사용하여 정의할 수도 있습니다.

서비스를 프로그래매틱 방식으로 만들려면 services.create 메서드에 다음 중 하나와 같은 구성 객체를 게시합니다.

GKE 네임스페이스

예를 들어 GkeNamespace 구조를 사용합니다.

{
  "displayName": "test-kube-namespace",
  "gkeNamespace": {
    "location": "us-central1-c",
    "clusterName": "cluster-1",
    "namespaceName": "test-kube-namespace"
  }
}

GKE 서비스

예를 들어 GkeService 구조를 사용합니다.

{
  "displayName": "test-kube-service",
  "gkeService": {
    "location": "us-central1-c",
    "clusterName": "cluster-1",
    "namespaceName": "kube-system",
    "serviceName": "test-kube-service"
  }
}

GKE 워크로드

예를 들어 GkeWorkload 구조를 사용합니다.

{
  "displayName": "frontend-a",
  "gkeWorkload": {
    "location": "us-central1-b",
    "clusterName": "cluster-2",
    "namespaceName": "default",
    "topLevelControllerType": "Deployment",
    "topLevelControllerName": "frontend-a"
  }
}

Cloud Run

예를 들어 CloudRun 구조를 사용합니다.

{
  "displayName": "test-cloudrun-service",
  "cloudRun": {
    "serviceName": "test-cloudrun-service",
    "location": "us-central1"
  }
}

프로그래매틱 방식으로 서비스를 관리하는 방법에 대한 자세한 내용은 API 작업을 참조하세요.

커스텀 서비스 만들기

다른 서비스 유형이 요구사항에 맞지 않으면 커스텀 서비스를 만듭니다. 커스텀 서비스를 사용하면 환경에 의미 있는 방식으로 SLO를 임의로 그룹화하거나 기존 마이크로서비스에 해당하지 않는 비즈니스 측정항목에 SLO를 만들 수 있습니다.

콘솔을 사용하여 커스텀 서비스 만들기

Google Cloud 콘솔을 사용하여 커스텀 서비스를 정의하려면 다음을 수행합니다.

  1. 서비스 개요 페이지에서 서비스 정의를 클릭하여 서비스 정의 창을 표시합니다.

  2. 커스텀 서비스를 선택합니다.

    **커스텀 서비스** 탭을 사용하여 임의 서비스를 정의합니다.

  3. 커스텀 서비스의 표시 이름을 입력합니다.

  4. 제출을 클릭합니다. 서비스가 생성되면 성공 알림이 표시됩니다.

API를 사용하여 커스텀 서비스 만들기

SLO API를 사용하여 커스텀 서비스를 정의하려면 다음과 같은 Custom 구성 객체를 services.create 메서드에 게시합니다.

{
  "displayName": "hello-world-service",
  "custom": {}
}

프로그래매틱 방식으로 서비스를 관리하는 방법에 대한 자세한 내용은 API 작업을 참조하세요.

다음 단계

새 서비스를 식별하거나 만든 후 다음을 수행할 수 있습니다.

  • 새 서비스의 SLO를 만듭니다. 서비스가 유용하려면 새 서비스에 SLO를 하나 이상 정의해야 합니다. 자세한 내용은 SLO 만들기를 참조하세요.
  • 새 서비스의 대시보드로 이동합니다. 새 서비스의 경우 대시보드는 비어 있지만 대시보드에서 SLO를 정의할 수 있습니다. 자세한 내용은 마이크로서비스 대시보드 사용을 참조하세요.