Definir un microservicio

En este documento, se describe cómo crear servicios y servicios personalizados para recursos basados en GKE y Cloud Run.

En Cloud Monitoring, un servicio es una construcción que puedes asociar con los SLO y las políticas de alertas. Varios de los recursos para los que puedes crear servicios de Monitoring también se denominan servicios, pero con diferentes significados, como servicios de GKE o servicios de Cloud Run.

Monitoring puede reconocer los servicios basados en GKE y Cloud Run como candidatas para la supervisión. Para crear servicios por ellos, debes indicar qué candidatos quieres que se traten como servicios de Monitoring. Monitoring crea la infraestructura necesaria por ti.

También puedes definir servicios personalizados arbitrarios.

Identifica o crea un servicio

Para identificar los servicios candidatos o crear servicios personalizados, ve al panel Definir servicio:

  1. En el panel de navegación de la consola de Google Cloud, elige Monitoring y, luego, selecciona SLO:

    Ir a SLO

  2. En la página Descripción general de los servicios, realiza una de las siguientes acciones:

    • Haz clic en Definir servicio.

    • En el panel Estado actual, haz clic en el vínculo Definir servicio:

      Crea servicios personalizados y servicios identificados por el usuario con **Definir servicio**.

En el panel Definir servicio, puedes hacer lo siguiente:

  • Crear servicios basados en GKE o Cloud Run a partir de una lista de servicios candidatos
  • Definir servicios personalizados

En las siguientes secciones, se describen estas opciones.

Crea servicios basados en GKE y Cloud Run

Cloud Monitoring puede identificar posibles servicios de los siguientes tipos:

  • Espacios de nombres de GKE
  • Servicios de GKE
  • Cargas de trabajo de GKE
  • Servicio de Cloud Run

Dado que puede haber muchos de estos posibles servicios, Monitoring no da por sentado que desees que todos se traten como servicios con SLO. Para indicar cuáles de los posibles servicios deben tratarse como servicios en Monitoring, usa la consola de Google Cloud o la API.

Usa la consola de Google Cloud para crear servicios de GKE y Cloud Run

Para identificar un servicio de Monitoring basado en GKE o en Cloud Run mediante la consola de Google Cloud, haz lo siguiente:

  1. En la página Descripción general de los servicios, haz clic en Definir el servicio.

  2. Selecciona Candidatos al servicio.

    Los servicios potenciales se enumeran en la pestaña **Candidatos al servicio**.

    Es posible que haya una gran cantidad de servicios candidatos en la lista. Puedes filtrar la lista de la siguiente manera:

    1. Haz clic en  Tabla de filtros. Se muestra una lista de opciones de filtro.

    2. Selecciona una de las opciones de la lista de filtros. La opción seleccionada aparecerá en la barra de filtros.

    3. Haz clic junto a la opción en la barra de filtros y comienza a escribir. Los valores que coinciden se proporcionan en una lista. Selecciona un valor de la lista.

  3. Haz clic en un servicio candidato de la lista de servicios posibles.

    Cuando haces clic en una entrada, se completan automáticamente los siguientes campos:

    • El nombre visible se configura como el nombre de la entrada en la lista. Puedes cambiar este valor.

    • A partir del candidato se genera un bloque de código JSON para la configuración del nuevo servicio. No cambies este valor

  4. Haga clic en Submit. Cuando se crea el servicio, se muestra una notificación de Correcto.

Usa la API para crear servicios de GKE y Cloud Run

Los servicios basados en GKE y Cloud Run también se pueden definir mediante la API de SLO, que forma parte de la API de Cloud Monitoring.

Si deseas crear un servicio de manera programática, publica un objeto de configuración como uno de los siguientes en el método services.create:

Espacio de nombres de GKE

Usa la estructura GkeNamespace, por ejemplo:

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

Servicio de GKE

Usa la estructura GkeService, por ejemplo:

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

Carga de trabajo de GKE

Usa la estructura GkeWorkload, por ejemplo:

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

Cloud Run

Usa la estructura CloudRun, por ejemplo:

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

Para obtener más información sobre cómo administrar servicios de manera programática, consulta Trabaja con la API.

Crea un servicio personalizado

Cuando ningún otro tipo de servicio satisfaga tus necesidades, crea un servicio personalizado. Con un servicio personalizado, puedes agrupar de forma arbitraria los SLO de una manera que sea significativa para tu entorno o crear SLO en métricas empresariales que no correspondan a un microservicio existente.

Usa la consola de Google Cloud para crear un servicio personalizado

Para definir un servicio personalizado mediante la consola de Google Cloud, haz lo siguiente:

  1. Haz clic en Definir servicio en la página Descripción general de los servicios para abrir el panel Definir servicio.

  2. Selecciona Servicio personalizado.

    Usa la pestaña **Servicio personalizado** para definir servicios arbitrarios.

  3. Ingresa un nombre visible para tu servicio personalizado.

  4. Haga clic en Submit. Cuando se crea el servicio, se muestra una notificación de Correcto.

Usa la API para crear un servicio personalizado

Para definir un servicio personalizado mediante la API de SLO, envía un objeto de configuración Custom como el siguiente al método services.create:

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

Para obtener más información sobre cómo administrar servicios de manera programática, consulta Trabaja con la API.

¿Qué sigue?

Después de identificar o crear un servicio nuevo, puedes hacer lo siguiente:

  • Crear un SLO para el servicio nuevo. Debes definir por lo menos un SLO para el servicio nuevo a fin de que este sea útil. Para obtener más información, consulta Crea un SLO.
  • Ir al panel del servicio nuevo. En el caso de un servicio nuevo, el panel estará vacío, pero puedes definir los SLO desde el panel. Para obtener más información, consulta Usa los paneles de microservicios.