Instructivo: Administra servicios con Anthos

Anthos Service Mesh brinda a los usuarios de Anthos herramientas para supervisar y administrar aplicaciones confiables basadas en microservicios. En este instructivo, se utiliza la implementación de muestra de Anthos en Google Cloud para presentar algunas de las características de administración de servicios de Anthos Service Mesh, ya que muestra cómo definir un objetivo de nivel de servicio (SLO). La implementación de muestra de Anthos implementa un entorno práctico real de Anthos con un clúster de GKE, una malla de servicios y una aplicación del Banco de 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 Anthos a través de 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

Si usas la implementación de muestra de Anthos, se generarán cargos de Anthos por Google Cloud, como se indica en nuestra página de precios, a menos que tengas una suscripción a Anthos.

También eres responsable de otros costos de Google Cloud generados mientras ejecutas la implementación de muestra de Anthos, como los cargos por las VM de Compute Engine y los balanceadores de cargas. Puedes ver un costo mensual estimado de todos estos recursos en la página de Google Cloud Marketplace de la implementación.

Recomendamos realizar una limpieza después de finalizar el instructivo o explorar la implementación para evitar que se generen cargos adicionales. La implementación de muestra de Anthos no está diseñada para su uso en producción y sus componentes no se pueden actualizar.

Antes de comenzar

Este instructivo es un seguimiento del instructivo Explora Anthos. Antes de comenzar con este instructivo, sigue las instrucciones de esa página para configurar tu proyecto e instalar la implementación de muestra de 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 la implementación de muestra de 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

Todavía hay mucho más por ver y hacer en Anthos con nuestra implementación. Si lo deseas, prueba otro instructivo o continúa explorando la implementación de muestra de Anthos en Google Cloud antes de seguir las instrucciones de limpieza en la siguiente sección.

Realice una limpieza

Una vez que termines de explorar la implementación de muestra de Anthos, puedes limpiar los recursos que creaste en Google Cloud para que no consuman tu cuota y no se te facturen en el futuro. En las siguientes secciones, se describe cómo borrar o desactivar estos recursos.

  • Opción 1. Puedes borrar el proyecto. Este es el método recomendado. Sin embargo, si deseas conservar el proyecto, puedes usar la opción 2 para borrar la implementación.

  • Opción 2. (Experimental) Si trabajas dentro de un proyecto existente, pero vacío, es posible que prefieras revertir manualmente todos los pasos de este instructivo, comenzando con la implementación.

  • Opción 3. (Experimental) Si eres experto en Google Cloud o tienes recursos existentes en tu clúster, es posible que prefieras limpiar manualmente los recursos que creaste en este instructivo.

Borra el proyecto (opción 1)

  1. En Cloud Console, 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 se basa en permitir que Deployment Manager anule lo que haya creado. Incluso si la implementación tuvo errores, puedes usar este enfoque para deshacer la acción.

  1. En el menú Navegación de Cloud Console, haz clic en Deployment Manager.

  2. Selecciona la implementación y, luego, haz clic en Borrar.

  3. Vuelve a hacer clic en Borrar para confirmar.

  4. Incluso si la implementación tuvo errores, aún puedes seleccionarla y borrarla.

  5. Si no haces clic en Borrar, como último recurso puedes probar Borrar, pero conservar los recursos. Si Deployment Manager no puede borrar ningún recurso, debes anotar estos recursos y tratar de borrarlos manualmente más tarde.

  6. Espera a que Deployment Manager termine la eliminación.

  7. En el menú Navegación, haz clic en Servicios de red > Balanceo de cargas y, luego, borra las reglas de reenvío que creó el clúster anthos-sample-cluster1. para crear el adjunto de VLAN de supervisión.

  8. (Opcional) Ve a https://source.cloud.google.com/<project_id>. Borra el repositorio cuyo nombre incluye config-repo si hay uno.

  9. Borra la cuenta de servicio que creaste durante la implementación y todas sus funciones de IAM (opcional).

Realiza una limpieza manual (opción 3)

Este enfoque se basa en borrar de forma manual los recursos de Google Cloud Console.

  1. En Cloud Console, en Menú de navegación, haz clic en Kubernetes Engine.

  2. Selecciona tu clúster y haz clic en Borrar. Luego, vuelve a hacer clic en Borrar para confirmar.

  3. En Cloud Console, en el menú Navegación, haz clic en Compute Engine.

  4. Selecciona el servidor de salto y haz clic en Borrar. Luego, vuelve a hacer clic en Borrar para confirmar.

  5. Sigue los pasos 7 y 8 de la opción 2.

Si planeas realizar una implementación después de la limpieza manual, verifica que se satisfagan todos los requisitos como se describe en la sección Antes de comenzar.

¿Qué sigue?

Hay mucho más para explorar en nuestra documentación de Anthos.

Prueba más instructivos

  • Explora las características de seguridad de Anthos con la implementación de muestra de Anthos en Anthos seguro.

  • Explora arquitecturas de referencia, diagramas, instructivos y prácticas recomendadas sobre Google Cloud. Consulta nuestro Cloud Architecture Center.

Obtén más información sobre Anthos