Instrucciones y requisitos de configuración del lab
Protege tu cuenta y tu progreso. Usa siempre una ventana de navegador privada y las credenciales del lab para ejecutarlo.

AHYBRID041 Observación de servicios de Anthos

Lab 1 hora 30 minutos universal_currency_alt 5 créditos show_chart Intermedio
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Este contenido aún no está optimizado para dispositivos móviles.
Para obtener la mejor experiencia, visítanos en una computadora de escritorio con un vínculo que te enviaremos por correo electrónico.

Descripción general

En este lab, aprenderás a instalar Cloud Service Mesh (CSM) en Google Kubernetes Engine. Cloud Service Mesh es un servicio administrado basado en Istio, la malla de servicios de código abierto líder.

Una malla de servicios te proporciona un framework para conectar, proteger y administrar microservicios. Ofrece una capa de redes sobre Kubernetes con funciones como capacidades avanzadas de balanceo de cargas, autenticación de servicio a servicio y supervisión sin requerir ningún cambio en el código de servicio.

Cloud Service Mesh tiene un conjunto de funciones y herramientas adicionales que te ayudan a observar y administrar servicios confiables y seguros de forma unificada. En este lab, también aprenderás a usar algunas de estas funciones:

  • Las métricas y los registros de servicio del tráfico HTTP(S) en el clúster de GKE de tu malla se transfieren automáticamente a Google Cloud.
  • Los paneles de servicio preconfigurados te proporcionan la información que necesitas para comprender los servicios.
  • La telemetría detallada te permite profundizar en tus métricas y registros mediante el filtrado y la división de sus datos según una gran variedad de atributos.
  • Las relaciones de servicio a servicio te ayudan, de un vistazo, a comprender quién se conecta a determinado servicio y los servicios de los que depende cada uno.
  • Los objetivos de nivel de servicio (SLO) proporcionan estadísticas sobre el estado de tus servicios. Puedes definir con facilidad un SLO y una alerta en función de tus propios estándares del estado del servicio.

Cloud Service Mesh es la manera más fácil y completa de implementar una malla de servicios basada en Istio en tus clústeres de GKE Enterprise.

Objetivos

En este lab, aprenderás a realizar las siguientes tareas:

  • Instalar Cloud Service Mesh con el seguimiento habilitado y configurado para usar Cloud Trace como backend
  • Implementar Bookinfo, una aplicación de varios servicios habilitada para Istio
  • Habilitar el acceso externo usando una puerta de enlace de entrada de Istio
  • Usar la aplicación Bookinfo
  • Evaluar el rendimiento del servicio con las funciones de Cloud Trace en Google Cloud
  • Crear y supervisar objetivos de nivel de servicio (SLO)
  • Aprovechar el panel de Cloud Service Mesh para comprender el rendimiento del servicio

Configuración y requisitos

En cada lab, recibirá un proyecto de Google Cloud y un conjunto de recursos nuevos por tiempo limitado y sin costo adicional.

  1. Accede a Qwiklabs desde una ventana de incógnito.

  2. Ten en cuenta el tiempo de acceso del lab (por ejemplo, 1:15:00) y asegúrate de finalizarlo en el plazo asignado.
    No existe una función de pausa. Si lo necesita, puede reiniciar el lab, pero deberá hacerlo desde el comienzo.

  3. Cuando esté listo, haga clic en Comenzar lab.

  4. Anote las credenciales del lab (el nombre de usuario y la contraseña). Las usarás para acceder a la consola de Google Cloud.

  5. Haga clic en Abrir Google Console.

  6. Haga clic en Usar otra cuenta, copie las credenciales para este lab y péguelas en el mensaje emergente que aparece.
    Si usa otras credenciales, se generarán errores o incurrirá en cargos.

  7. Acepta las condiciones y omite la página de recursos de recuperación.

Después de completar los pasos iniciales de acceso, aparecerá el panel del proyecto.

  1. Haz clic en Seleccionar un proyecto, destaca tu ID del proyecto de Google Cloud y haz clic en Abrir para seleccionar tu proyecto.

Activa Google Cloud Shell

Google Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud.

Google Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.

  1. En la consola de Cloud, en la barra de herramientas superior derecha, haz clic en el botón Abrir Cloud Shell.

    Ícono de Cloud Shell destacado

  2. Haz clic en Continuar.

El aprovisionamiento y la conexión al entorno demorarán unos minutos. Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu PROJECT_ID. Por ejemplo:

ID del proyecto destacado en la terminal de Cloud Shell

gcloud es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con el completado de línea de comando.

  • Puedes solicitar el nombre de la cuenta activa con este comando:
gcloud auth list

Resultado:

Credentialed accounts: - @.com (active)

Resultado de ejemplo:

Credentialed accounts: - google1623327_student@qwiklabs.net
  • Puedes solicitar el ID del proyecto con este comando:
gcloud config list project

Resultado:

[core] project =

Resultado de ejemplo:

[core] project = qwiklabs-gcp-44776a13dea667a6 Nota: La documentación completa de gcloud está disponible en la guía de descripción general de gcloud CLI . Nota: El entorno del lab ya se configuró de forma parcial. Se creó y registró un clúster de GKE llamado gke.

Tarea 1: Instala Cloud Service Mesh con el seguimiento habilitado

Ya se creó y registró un clúster de Google Kubernetes Engine (GKE) llamado gke. Instalarás Cloud Service Mesh en este clúster y anularás la configuración estándar para habilitar los componentes de seguimiento opcionales.

Configura el acceso de kubectl al clúster y verifica el clúster

Para configurar variables de entorno para usarlas en secuencias de comandos, ejecuta los siguientes comandos en Cloud Shell:

  1. Establece la variable de entorno del nombre.

    CLUSTER_NAME=gke
  2. Establece las variables de entorno de la zona y la región.

    CLUSTER_ZONE={{{ project_0.default_zone| "Zone added at lab start" }}} CLUSTER_REGION={{{ project_0.default_region| "Region added at lab start" }}}
  3. Establece la variable de entorno del ID del proyecto.

    PROJECT_ID={{{ project_0.project_id | "PROJECT ID added at lab start" }}}
  4. Establece la variable de entorno del número del proyecto.

    PROJECT_NUMBER=$(gcloud projects describe ${PROJECT_ID} \ --format="value(projectNumber)")
  5. Establece la variable de entorno del ID del proyecto de la flota.

    FLEET_PROJECT_ID="${PROJECT_ID}"
  6. Establece la variable de entorno de IDNS.

    IDNS="${PROJECT_ID}.svc.id.goog"
  7. Establece el directorio de salida.

    DIR_PATH=.
  8. Verifica que las variables de entorno estén configuradas de manera correcta.

    printf '\nCLUSTER_NAME:'$CLUSTER_NAME'\nCLUSTER_ZONE:'$CLUSTER_ZONE'\nPROJECT_ID:'$PROJECT_ID'\nPROJECT_NUMBER:'$PROJECT_NUMBER'\nFLEET PROJECT_ID:'$FLEET_PROJECT_ID'\nIDNS:'$IDNS'\nDIR_PATH:'$DIR_PATH'\n'

    Resultado:

    CLUSTER_NAME:gke CLUSTER_ZONE:{{{ project_0.default_zone| "Zone" }}} PROJECT_ID:{{{ project_0.project_id | "PROJECT ID" }}} PROJECT_NUMBER:946429310725 FLEET PROJECT_ID:{{{ project_0.project_id | "PROJECT ID" }}} IDNS:{{{ project_0.project_id | "PROJECT ID" }}}.svc.id.goog DIR_PATH:.
  9. Configura kubectl para administrar tu clúster de GKE:

    gcloud container clusters get-credentials $CLUSTER_NAME \ --zone $CLUSTER_ZONE --project $PROJECT_ID
  10. Revisa tu configuración de kubectl:

    kubectl config view

Resultado:

apiVersion: v1 clusters: - cluster: certificate-authority-data: DATA+OMITTED server: https://34.67.123.27 name: gke_qwiklabs-gcp-04-6163e6198bad_{{{ project_0.default_zone }}}_gke contexts: - context: cluster: gke_qwiklabs-gcp-04-6163e6198bad_{{{ project_0.default_zone }}}_gke user: gke_qwiklabs-gcp-04-6163e6198bad_{{{ project_0.default_zone }}}_gke name: gke current-context: gke kind: Config preferences: {} users: - name: gke_qwiklabs-gcp-04-6163e6198bad_{{{ project_0.default_zone }}}_gke user: auth-provider: config: cmd-args: config config-helper --format=json cmd-path: /usr/lib/google-cloud-sdk/bin/gcloud expiry-key: '{.credential.token_expiry}' token-key: '{.credential.access_token}' name: gcp
  1. Comprueba que tu clúster se esté ejecutando:
gcloud container clusters list

Resultado:

NAME: gke LOCATION: {{{ project_0.default_zone }}} MASTER_VERSION: 1.24.8-gke.2000 MASTER_IP: 35.192.65.244 MACHINE_TYPE: e2-standard-2 NODE_VERSION: 1.24.8-gke.2000 NUM_NODES: 3 STATUS: RUNNING Nota:

La versión principal de tu instalación puede ser diferente porque estás usando el canal de versiones regular de GKE para instalar el clúster.

Habilita GKE Enterprise

  1. Habilita GKE Enterprise desde la línea de comandos. Esto también habilita automáticamente la API de Fleet (GKE Hub).
gcloud services enable --project="${PROJECT_ID}" \ anthos.googleapis.com
  1. Registra el clúster de GKE llamado gke en la flota del proyecto.
gcloud container clusters update gke --enable-fleet --region "${CLUSTER_ZONE}"
  1. Verifica que el clúster se haya registrado correctamente en tu flota.
gcloud container fleet memberships list --project "${PROJECT_ID}"

Instala Cloud Service Mesh

  1. Habilita Cloud Service Mesh en el proyecto de flota.
gcloud container fleet mesh enable --project "${PROJECT_ID}"
  1. Habilita la administración automática del plano de control de Cloud Service Mesh.
gcloud container fleet mesh update \ --management automatic \ --memberships gke \ --project "${PROJECT_ID}" \ --location "$CLUSTER_REGION"
  1. Verifica que se esté administrando el plano de control.
gcloud container fleet mesh describe --project "${PROJECT_ID}"

Espera hasta que el objeto controlPlaneManagement cambie el estado de PROVISIONING a REVISION_READY. Esto podría llevar varios minutos.

Resultado:

createTime: '2024-10-09T08:36:54.101719145Z' membershipSpecs: projects/251431549018/locations/us-east1/memberships/gke: mesh: management: MANAGEMENT_AUTOMATIC membershipStates: projects/251431549018/locations/us-east1/memberships/gke: servicemesh: conditions: - code: VPCSC_GA_SUPPORTED details: This control plane supports VPC-SC GA. documentationLink: http://cloud.google.com/service-mesh/docs/managed/vpc-sc severity: INFO controlPlaneManagement: details: - code: REVISION_READY details: 'Ready: asm-managed' implementation: TRAFFIC_DIRECTOR state: ACTIVE dataPlaneManagement: details: - code: MANAGED_CONTROL_PLANE_REQUIRED details: Requires active managed control plane. state: FAILED_PRECONDITION state: code: OK description: 'Revision ready for use: asm-managed.' updateTime: '2024-10-09T08:46:33.932321311Z' name: projects/qwiklabs-gcp-04-e66a83de81ad/locations/global/features/servicemesh resourceState: state: ACTIVE spec: {} updateTime: '2024-10-09T08:38:23.722727135Z'
  1. Habilita Cloud Service Mesh para enviar datos de telemetría a Cloud Trace.
cat <<EOF | kubectl apply -n istio-system -f - apiVersion: telemetry.istio.io/v1alpha1 kind: Telemetry metadata: name: enable-cloud-trace namespace: istio-system spec: tracing: - providers: - name: stackdriver EOF
  1. Verifica que se haya habilitado el mapa de configuración: kubectl get configmap

Resultado:

NAME DATA AGE kube-root-ca.crt 1 48m

¡Felicitaciones!

Ahora tienes un clúster de GKE con Cloud Service Mesh instalado. Las métricas de Kubernetes se registran en Cloud Monitoring y los registros en Cloud Logging, y la información de seguimiento distribuida se envía a Cloud Trace.

Tarea 2: Instala la aplicación de demostración de microservicios en el clúster

Online Boutique es una aplicación de demostración de microservicios nativa de la nube. Se trata de una aplicación de microservicios de 10 niveles. Dado que es una aplicación de comercio electrónico basada en la Web, los usuarios pueden explorar productos, agregarlos al carrito y comprarlos.

Google usa esta aplicación para demostrar el uso de tecnologías como Kubernetes/GKE, Istio/ASM, Google Cloud's operations suite, gRPC y OpenCensus. Esta aplicación funciona en cualquier clúster de Kubernetes (como uno local) y en Google Kubernetes Engine. Es fácil de implementar y requiere poca o ninguna configuración.

Para obtener más información sobre la aplicación, consulta el repo de GitHub.

Configura el plano de datos de la malla

  1. Habilita la inyección del sidecar de Istio:

    kubectl label namespace default istio.io/rev- istio-injection=enabled --overwrite

    Resultado:

    namespace/default labeled
  1. Para permitir que Google administre tu plano de datos de modo que los proxies sidecar se actualicen automáticamente, anota el espacio de nombres:

    kubectl annotate --overwrite namespace default \ mesh.cloud.google.com/proxy='{"managed":"true"}'

    Resultado:

    namespace/default annotated

Instala la aplicación Online Boutique en el clúster de GKE

  1. Implementa la aplicación:

    kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/microservices-demo/master/release/kubernetes-manifests.yaml kubectl patch deployments/productcatalogservice -p '{"spec":{"template":{"metadata":{"labels":{"version":"v1"}}}}}'
  2. Para poder acceder a la aplicación desde fuera del clúster, instala la puerta de enlace de entrada:

    git clone https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages kubectl apply -f anthos-service-mesh-packages/samples/gateways/istio-ingressgateway
  3. Instala las definiciones de recursos personalizados requeridas

    kubectl apply -k "github.com/kubernetes-sigs/gateway-api/config/crd/experimental?ref=v0.6.0" kubectl kustomize "https://github.com/GoogleCloudPlatform/gke-networking-recipes.git/gateway-api/config/mesh/crd" | kubectl apply -f -
  4. Configura la puerta de enlace:

    kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/microservices-demo/master/release/istio-manifests.yaml
  5. Regresa a Kubernetes, haz clic en Cargas de trabajo y, luego, en Redes, haz clic en la página Puertas de enlace, Ingress y Service y verifica que se hayan creado las nuevas implementaciones y los nuevos servicios en el clúster de GKE.

    Nota: Puedes filtrar estas páginas por clúster, tipo de objeto y espacio de nombres para facilitar el análisis de la información presentada.
  6. Tómate unos minutos para investigar la aplicación de demostración con la consola y la IU.

    Nota: Cuando las cargas de trabajo muestren el estado OK, usa la dirección IP asociada con el servicio frontend-external (para cualquiera de los clústeres) para realizar una de las siguientes acciones:
    • Busca en la página Ingress y Service de la consola.
    • Explora el clúster con Cloud Shell.
  7. Visualiza la implementación con Cloud Shell

    kubectl get deployments

    Resultado:

    NAME READY UP-TO-DATE AVAILABLE AGE adservice 1/1 1 1 2m39s cartservice 1/1 1 1 2m41s checkoutservice 1/1 1 1 2m44s currencyservice 1/1 1 1 2m40s emailservice 1/1 1 1 2m45s frontend 1/1 1 1 2m43s istio-ingressgateway 3/3 3 3 2m24s loadgenerator 1/1 1 1 2m41s paymentservice 1/1 1 1 2m42s productcatalogservice 1/1 1 1 2m42s recommendationservice 1/1 1 1 2m43s redis-cart 1/1 1 1 2m39s shippingservice 1/1 1 1 2m40s
  8. Visualiza los servicios con Cloud Shell

    kubectl get services

    Resultado:

    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE adservice ClusterIP 10.28.7.144 9555/TCP 7m37s cartservice ClusterIP 10.28.12.9 7070/TCP 7m40s checkoutservice ClusterIP 10.28.15.239 5050/TCP 7m42s currencyservice ClusterIP 10.28.14.145 7000/TCP 7m39s emailservice ClusterIP 10.28.11.181 5000/TCP 7m43s frontend ClusterIP 10.28.1.40 80/TCP 7m41s frontend-external LoadBalancer 10.28.15.84 34.66.85.60 80:31445/TCP 7m41s istio-ingressgateway LoadBalancer 10.28.0.95 34.68.255.184 15021:30153/TCP,80:31266/TCP,443:30286/TCP 7m22s kubernetes ClusterIP 10.28.0.1 443/TCP 62m paymentservice ClusterIP 10.28.1.138 50051/TCP 7m41s productcatalogservice ClusterIP 10.28.8.22 3550/TCP 7m40s recommendationservice ClusterIP 10.28.0.104 8080/TCP 7m42s redis-cart ClusterIP 10.28.5.71 6379/TCP 7m38s shippingservice ClusterIP 10.28.5.69 50051/TCP 7m39s
  9. Abre una pestaña nueva y, luego, ingresa la dirección IP del servicio frontend-external.

  10. Haz clic en varias páginas para conocer la aplicación.

Tarea 3: Revisa la funcionalidad de Google Cloud's operations suite

Cuando instalas un clúster de GKE o Anthos, puedes habilitar la recopilación y el reenvío de registros y métricas del clúster a Cloud Logging y Cloud Monitoring. Esto te ofrece visibilidad sobre el clúster, los nodos, los Pods y hasta los contenedores de ese clúster. Sin embargo, GKE y Anthos no supervisan la comunicación entre los microservicios.

Con Cloud Service Mesh, dado que cada solicitud pasa por un proxy de Envoy, se puede recopilar e inspeccionar la información de telemetría de los microservicios. Luego, las extensiones del proxy de Envoy envían esa telemetría a Google Cloud, donde puedes inspeccionarla. Usa los paneles de Cloud Trace para investigar las solicitudes y sus latencias, y obtener un desglose de todos los servicios involucrados en una solicitud.

  1. En el menú de navegación de la consola de Google Cloud, haz clic en Trace.

    En el gráfico de seguimiento, se muestran las solicitudes de servicio realizadas dentro de la aplicación de demostración.

  2. Haz clic en un punto que se muestre más arriba en el gráfico (lo que representa un tiempo de solicitud general más alto).

  • ¿Cuánto tiempo tardó la solicitud?
  • ¿Cuándo se produjo la solicitud?
  • ¿A qué servicio se llamó?
  • ¿Qué otros servicios se llamaron durante la ejecución de esta solicitud?
  • ¿En qué parte se invirtió la mayor parte del tiempo para procesar esta solicitud?

Revisa la documentación de Cloud Trace para obtener más detalles sobre cómo comprender la información de seguimiento.

Tarea 4: Implementa un lanzamiento Canary que tenga una latencia alta

En esta tarea, implementarás una nueva versión de un servicio con un problema que causa una latencia alta. En tareas posteriores, usarás las herramientas de observabilidad para diagnosticar y resolver problemas.

  1. En Cloud Shell, clona el repositorio que tiene los archivos de configuración que necesitas para esta parte del lab:

    git clone https://github.com/GoogleCloudPlatform/istio-samples.git \ ~/istio-samples
  2. Crea la nueva regla de destino en el clúster gke:

    kubectl apply -f ~/istio-samples/istio-canary-gke/canary/destinationrule.yaml
  3. Crea el nuevo catálogo de productos en el clúster gke:

    kubectl apply -f ~/istio-samples/istio-canary-gke/canary/productcatalog-v2.yaml
  4. Crea una división del tráfico en el clúster gke:

    kubectl apply -f ~/istio-samples/istio-canary-gke/canary/vs-split-traffic.yaml Nota: Esto es lo que vas a crear:

    • Una DestinationRule para establecer el enrutamiento de solicitudes entre las versiones del servicio
    • Una nueva implementación del servicio de catálogo de productos que tiene una latencia alta
    • Un VirtualService para dividir el tráfico del catálogo de productos en un 75% para la v1 y un 25% para la v2

    Puedes abrir cada uno de los archivos de configuración en el editor de Cloud Shell para comprender mejor la definición de cada recurso nuevo.

Tarea 5: Define tu objetivo de nivel de servicio

Cuando no usas Cloud Service Mesh, puedes definir los SLO con la API de Service Monitoring. Cuando usas Cloud Service Mesh, al igual que con el clúster gke, puedes definir y supervisar los SLO a través del panel de Cloud Service Mesh.

  1. En la consola de Google Cloud, en el menú de navegación, haz clic en Kubernetes Engine para abrir el panel de GKE.

    Observa que hay un clúster registrado en la flota.

  2. En el panel lateral, en Funciones, haz clic en Malla de servicios para ir al panel de Cloud Service Mesh.

    Se muestra un resumen del rendimiento del servicio, incluida la información de los SLO. Definirás un SLO nuevo para el servicio de catálogo de productos.

  3. En la lista Servicios, haz clic en productcatalogservice.

  4. En el panel del menú, haz clic en Estado.

  5. Haz clic en +Crear SLO.

  6. En el panel desplegable Establece tu SLI, para Métrica, selecciona Latencia.

  7. Selecciona Basado en solicitudes como método de evaluación.

  8. Haz clic en Continuar.

  9. Establece el Umbral de latencia en 1,000 y haz clic en Continuar.

  10. Establece Tipo de período en Calendario.

  11. Establece la Duración del período en Día consecutivo.

    Nota: La disponibilidad del 99% en un día difiere de la disponibilidad del 99% en un mes. El primer SLO no permitiría más de 14 minutos de tiempo de inactividad consecutivos (24 h × 1%) y el segundo SLO permitiría un tiempo de inactividad de hasta 7 horas consecutivas (30 días × 1%).
  12. Establece el Objetivo de rendimiento en un 99.5%.

    En el gráfico de Vista previa, se muestra cómo se refleja tu objetivo en comparación con los datos históricos reales.

  13. Haz clic en Continuar.

  14. Revisa Nombre visible: 99.5% - Latencia - Día consecutivo.

    Puedes ajustarlo según sea necesario.

    También se muestra el documento JSON generado automáticamente. En el futuro, puedes usar las APIs para automatizar la creación de SLO.

  15. Para crear el SLO, haz clic en +Crear SLO.

Tarea 6: Diagnostica el problema

Usa las métricas de servicio para ver dónde está el problema

  1. Haz clic en la entrada de tu SLO en la lista de SLO.

    Se mostrará una vista expandida. Es probable que tu SLO muestre que ya te quedaste sin porcentaje de error aceptable. Si no es así, espera de 3 a 5 minutos y actualiza la página. Con el tiempo, agotarás tu porcentaje de error aceptable, ya que demasiadas solicitudes a este servicio llegarán al nuevo backend, que tiene una latencia alta.

  2. En el panel del menú, haz clic en Métricas.

    Desplázate hacia abajo hasta la sección Latencia de la vista Métricas y observa que la latencia del servicio aumentó unos minutos antes, alrededor del momento en que implementaste la versión canary del servicio.

  3. En el menú desplegable Desglosar por, selecciona Servicio de origen.

    ¿Qué Pods muestran una latencia alta y provocan que el error general alcance tu SLO?

  4. Para volver a la página Malla de servicios, haz clic en Malla de servicios en el panel del menú.

    Un SLO se marca como fuera del porcentaje de error aceptable y se muestra un indicador de advertencia junto al servicio con problemas en la lista Servicios.

    Nota: Solo definiste un SLO para un servicio. En un entorno de producción real, probablemente tendrías varios SLO para cada servicio.

    Además, no definiste ninguna política de alertas para tu SLO. Probablemente, harías que Cloud Monitoring ejecutara una alerta si estás agotando tu porcentaje de error aceptable más rápido de lo esperado.

Usa Cloud Trace para comprender mejor dónde se produce la demora

  1. En el menú de navegación de la consola de Google Cloud, haz clic en Trace > Explorador de seguimiento.

  2. Haz clic en un punto que se encuentre alrededor de los 3,000 ms. Debería representar una de las solicitudes al servicio de catálogo de productos.

    Ten en cuenta que todo el tiempo parece transcurrir dentro del propio servicio de catálogo. Aunque se realizan llamadas a otros servicios, todas parecen regresar muy rápido, y algo dentro del servicio de catálogo de productos está tardando mucho.

    Nota: Cloud Service Mesh recopila automáticamente información sobre las llamadas de red dentro de la malla y proporciona datos de seguimiento que documentan el tiempo dedicado a estas llamadas. Esto es útil y no requirió ningún esfuerzo adicional por parte del desarrollador.

    Sin embargo, Istio no instrumenta directamente cómo se emplea el tiempo dentro de la carga de trabajo, en este caso, el Pod del servicio de catálogo de productos. Si es necesario, para obtener este nivel de detalle, el desarrollador agregaría lógica de instrumentación dentro del servicio.

Tarea 7: Revierte la versión y verifica que haya una mejora

  1. En Cloud Shell, revierte el lanzamiento Canary de la regla de destino:

    kubectl delete -f ~/istio-samples/istio-canary-gke/canary/destinationrule.yaml
  2. En Cloud Shell, revierte el lanzamiento Canary del catálogo de productos:

    kubectl delete -f ~/istio-samples/istio-canary-gke/canary/productcatalog-v2.yaml
  3. En Cloud Shell, revierte el lanzamiento Canary de la división del tráfico:

    kubectl delete -f ~/istio-samples/istio-canary-gke/canary/vs-split-traffic.yaml
  4. En el menú de navegación de la consola de Google Cloud, haz clic en Anthos > Malla de servicios.

  5. Haz clic en productcatalogservice y, luego, en el panel del menú, haz clic en Estado.

    Anota el porcentaje de cumplimiento actual.

  6. Haz clic en Métricas.

    En el gráfico de latencia, todas las series de latencia muestran una disminución repentina que corresponde al momento en que revertiste la versión incorrecta de la carga de trabajo.

  7. Regresa a la página Estado.

  8. Compara la métrica de cumplimiento actual con la que viste antes. Ahora debería ser más alta, lo que refleja el hecho de que ya no ves solicitudes de latencia alta.

Tarea 8: Visualiza tu malla con el panel de Cloud Service Mesh

  1. En el menú de navegación, haz clic en Kubernetes Engine > Malla de servicios.

  2. Mira la Topología en el lado derecho.

    Se muestra un gráfico que representa tu malla de servicios.

    El gráfico de topología

    Si no ves un gráfico de topología completo como este, es posible que no se hayan recopilado todos los datos correspondientes. Estos datos pueden tardar más de 10 minutos en reflejarse en el gráfico. Puedes continuar con la siguiente sección y volver más tarde para ver el gráfico.

  3. Haz clic en el nodo de la carga de trabajo de frontend y observa los servicios que llama esa carga de trabajo.

    Dependencias de servicios en el gráfico de topología

Tómate un par de minutos para explorar más y comprender mejor la arquitectura de la aplicación. Puedes reorganizar los nodos, desglosar las cargas de trabajo para ver las implementaciones y los Pods constituyentes, cambiar los períodos, etcétera.

¡Felicitaciones! Usaste las herramientas de Google Cloud's operations suite para evaluar, solucionar problemas y mejorar el rendimiento del servicio en tu clúster de GKE Enterprise.

Revisión

En este lab, aprendiste sobre el registro, la supervisión y el seguimiento con Google Cloud's operations suite.

Finalice su lab

Cuando haya completado el lab, haga clic en Finalizar lab. Google Cloud Skills Boost quitará los recursos que usó y limpiará la cuenta.

Tendrá la oportunidad de calificar su experiencia en el lab. Seleccione la cantidad de estrellas que corresponda, ingrese un comentario y haga clic en Enviar.

La cantidad de estrellas indica lo siguiente:

  • 1 estrella = Muy insatisfecho
  • 2 estrellas = Insatisfecho
  • 3 estrellas = Neutral
  • 4 estrellas = Satisfecho
  • 5 estrellas = Muy satisfecho

Puede cerrar el cuadro de diálogo si no desea proporcionar comentarios.

Para enviar comentarios, sugerencias o correcciones, use la pestaña Asistencia.

Copyright 2026 Google LLC. Todos los derechos reservados. Google y el logotipo de Google son marcas de Google LLC. El resto de los nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que están asociados.

Antes de comenzar

  1. Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
  2. .
  3. Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
  4. En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar

Usa la navegación privada

  1. Copia el nombre de usuario y la contraseña proporcionados para el lab
  2. Haz clic en Abrir la consola en modo privado

Accede a la consola

  1. Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
  2. Acepta las condiciones y omite la página de recursos de recuperación
  3. No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto

Este contenido no está disponible en este momento

Te enviaremos una notificación por correo electrónico cuando esté disponible

¡Genial!

Nos comunicaremos contigo por correo electrónico si está disponible

Un lab a la vez

Confirma para finalizar todos los labs existentes y comenzar este

Usa la navegación privada para ejecutar el lab

Usar una ventana de incógnito o de navegación privada es la mejor forma de ejecutar este lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.