Instructivo: Administra servicios con GKE Enterprise


Anthos Service Mesh proporciona a los usuarios de GKE Enterprise herramientas para supervisar y administrar aplicaciones confiables basadas en microservicios. En este instructivo, se usa la implementación de muestra de Bank of Anthos en Google Cloud para presentarte algunas de las funciones de administración de servicios de Anthos Service Mesh. Para ello, se muestra cómo definir un objetivo de nivel de servicio (SLO). En la muestra, se implementa un entorno práctico real de GKE Enterprise con un clúster de GKE, una malla de servicios y una aplicación de Bank of Anthos con varios microservicios.

¿Qué es un SLO?

Según el libro de Ingeniería de Confiabilidad de Sitios (SRE) de Google:

Es imposible administrar un servicio de forma correcta sin comprender qué comportamientos son realmente importantes para el servicio en cuestión ni entender cómo medir y evaluar esos comportamientos. Para cumplir este objetivo, definiremos un nivel de servicio determinado para brindarles a nuestros usuarios, independientemente de si usan una API interna o un producto público.

Los equipos de SRE de Google usan indicadores de nivel de servicio (SLI), objetivos de nivel de servicio (SLO) y acuerdos de nivel de servicio (ANS) para estructurar y guiar las métricas que informan su trabajo. Un SLI es una medida cuantitativa de algún aspecto del rendimiento de tu servicio, como su latencia o disponibilidad, mientras que un SLO es un valor objetivo (“esto debe ocurrir x% del tiempo") para un nivel de servicio medido por un SLI. Anthos Service Mesh facilita la definición y definición de los SLO para tus propios servicios. Te proporciona la información que necesitas para identificar los SLI y SLO adecuados, y te notifica cuando tu servicio no cumple con sus SLO.

Para obtener más información sobre los SLO y los SLI en la malla de servicios de Anthos, consulta la descripción general de SLO y el diseño de SLO.

Objetivos

En este instructivo, aprenderás a administrar servicios con Anthos Service Mesh en GKE Enterprise mediante las siguientes tareas:

  • Identifica un indicador de nivel de servicio (SLI) para un servicio.

  • Usa un objetivo de nivel de servicio (SLO) para supervisar el comportamiento inesperado.

Costos

La implementación de la aplicación Bank of Anthos generará cargos de pago por uso para GKE Enterprise en Google Cloud, como se muestra en nuestra página de precios, a menos que ya hayas comprado una suscripción.

También eres responsable de otros costos de Google Cloud generados cuando ejecutas la aplicación de Bank of Anthos, como los cargos por las VM de Compute Engine y los balanceadores de cargas.

Recomendamos realizar una limpieza después de finalizar el instructivo o explorar la implementación para evitar que se generen cargos adicionales.

Antes de comenzar

Este instructivo es un seguimiento del instructivo Explora GKE Enterprise. Antes de comenzar este instructivo, sigue las instrucciones en esa página para configurar tu proyecto y, luego, implementar Bank for Anthos.

Identifica SLI

La malla de servicios de Anthos hace que recopilar SLI y definir tus SLO sea una tarea sencilla y directa. En nuestro ejemplo, decides que primero debes definir un SLO para el servicio ledgerwriter del Banco de Anthos.

Primero, usa la malla de servicios de Anthos a fin de encontrar información que puedas usar para identificar un SLI del servicio.

  1. Ve a la página Anthos Service Mesh en el proyecto en el que instalaste Bank of Anthos.

    Ir a la página de Anthos Service Mesh

    En la parte superior de esta vista, se muestra el estado actual de los servicios de tu aplicación junto con los indicadores de las alertas y los SLO, incluido el recuento de servicios sin SLO. Actualmente, todos los servicios se encuentran enNo hay SLO configurados para crear el adjunto de VLAN de supervisión. Además, en la columna Estado, todos los servicios tienen un indicador de círculo negro. Si mantienes el puntero sobre ese indicador para cualquier servicio, se te informará que no se estableció ningún SLO para el servicio.

  2. Ten en cuenta el valor en ms para la latencia del 99% de ledgerwriter (es posible que debas desplazarte hacia abajo y desplazarse para verlo). Esta métrica significa que una de cada 100 solicitudes experimenta este nivel de retraso. Usarás este valor en la siguiente sección.

Crear un SLO

Ahora, crea un SLO con un SLI de latencia para el servicio. Para ver qué sucede cuando un servicio excede su porcentaje de error aceptable, establece un límite que sea bastante bajo, en función de la información que viste en la sección anterior. Para un servicio de producción real, tratarás de encontrar un valor de latencia de umbral inferior al necesario para que tus usuarios tengan una buena experiencia desde tu aplicación.

  1. En la Vista de tabla de Anthos Service Mesh, haz clic en ledwritewrite para ir a la página de descripción general del servicio.

  2. En Estado del servicio, haz clic en Crear un SLO.

  3. En la lista Tipo de SLI, selecciona Latencia.

  4. Deja el método predeterminado de evaluación basado en solicitudes y haga clic en Continuar.

  5. Establece el Umbral de latencia en un valor arbitrariamente bajo, como 10 ms (algo mucho más bajo que el valor de Latencia del 99% que viste antes), y vuelve a hacer clic en Continuar.

  6. En Período de cumplimiento, configura el Tipo de período como Rolling y la Duración del período como 1 Day.

  7. En Objetivo de SLO, configura el Objetivo de cumplimiento como 90%. Anthos Service Mesh usa este valor para calcular el porcentaje de error aceptable que tienes para este SLO. es decir, el porcentaje máximo de solicitudes que deben superar el límite de latencia especificado. Una vista previa muestra cómo hubiera sido el rendimiento de tu SLO en el período de un día más reciente. Haga clic en Continuar.

  8. En la sección Nombra tu SLO, se sugiere un nombre predeterminado para tu SLO nuevo: puedes aceptar el valor predeterminado recomendado o especificar un nombre nuevo. A fin de crear el SLO y ir a la página de Estado del servicio del ledgerwriter, haz clic en Crear SLO.

Haz clic en la flecha desplegable para ver más detalles sobre tu SLO. Deberías ver que el SLO está fuera de porcentaje de error aceptable según tu configuración. También puedes editar o borrar el SLO desde esta vista.

Captura de pantalla de la vista de estado del servicio de Anthos Service Mesh

Vuelve a verificar los SLO y los indicadores de alerta

  1. En la página de descripción general del servicio, haz clic en la flecha hacia atrás para volver a la vista de tabla. Ahora puedes ver que la cantidad de servicios de Sin SLO configurado se redujo por uno y que los SLO de porcentaje de error aceptable ya no son 0.

  2. Si te desplazas hacia abajo hasta ledgerwriter, ten en cuenta que el colector adyacente cambió a un triángulo de advertencia naranja. Si conservas el puntero sobre ese indicador, se te pedirá que investigues la confiabilidad del servicio. Si haces clic en el indicador, regresa a la página Estado del servicio para revisar los detalles del SLO. También aparece el mismo indicador para tu servicio en la vista de topología.

Captura de pantalla de la lista de servicios de Anthos Service Mesh con una advertencia de SLO

Explora más sobre la implementación

Hay mucho más por ver y hacer en GKE Enterprise con nuestra implementación. Puedes probar otro instructivo o seguir explorando la implementación de Bank of Anthos en Google Cloud antes de seguir las instrucciones de limpieza de la siguiente sección.

Limpia

Una vez que termines de explorar la aplicación de Bank of Anthos, puedes limpiar los recursos que creaste en Google Cloud para que no consuman tu cuota y no se te facturen en el futuro.

  • Opción 1. Puedes borrar el proyecto. Sin embargo, si deseas conservar el proyecto, puedes usar la opción 2 para borrar la implementación.

  • Opción 2. Si deseas conservar tu proyecto actual, puedes usar terraform destroy para borrar la aplicación de muestra y el clúster.

Borra el proyecto (opción 1)

La manera más fácil de evitar la facturación es borrar el proyecto que creaste para este instructivo.

  1. En la consola de Google Cloud, ve a la página Administrar recursos.

    Ir a Administrar recursos

  2. En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
  3. En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.

Borra la implementación (opción 2)

Este enfoque borra la aplicación de Bank of Anthos y el clúster, pero no borra el proyecto. Ejecuta los siguientes comandos en Cloud Shell:

  1. Ve al directorio que aloja las secuencias de comandos de instalación:

    cd bank-of-anthos/iac/tf-anthos-gke
    
  2. Borra la muestra y el clúster:

    terraform destroy
    
  3. Ingresa el ID del proyecto cuando se te solicite.

Si planeas volver a realizar la implementación, verifica que se cumplan todos los requisitos como se describe en la sección Antes de comenzar.

¿Qué sigue?

Hay mucho más por explorar en nuestra documentación de GKE Enterprise.

Prueba más instructivos

Más información sobre GKE Enterprise