arrow_back

Implementa la entrega continua con Gemini

Acceder Unirse
Obtén acceso a más de 700 labs y cursos

Implementa la entrega continua con Gemini

Lab 1 hora 30 minutos universal_currency_alt 5 créditos show_chart Introductorio
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Obtén acceso a más de 700 labs y cursos

Descripción general

En este lab, usarás Gemini, un colaborador potenciado por IA de Google Cloud, para investigar registros y configurar un entorno de compilación para un conjunto de microservicios en Google Kubernetes Engine (GKE).

Este lab está dirigido a ingenieros con diversos niveles de experiencia que trabajan en un entorno de DevOps.

Nota: Duet AI ahora se llama Gemini, nuestro modelo de nueva generación. Este lab se actualizó para reflejar este cambio. Cualquier referencia a Duet AI en la interfaz de usuario o la documentación debe considerarse equivalente a Gemini mientras sigues las instrucciones del lab. Nota: Como tecnología en etapa inicial, Gemini puede generar resultados que parecen posibles, pero que no son correctos. Te recomendamos validar todos los resultados de Gemini antes de usarlos. Para obtener más información, consulta Gemini para Google Cloud y la IA responsable.

Objetivos

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

  • Crear un clúster de GKE con la ayuda de Gemini
  • Implementar un conjunto de microservicios en GKE
  • Encontrar y comprender los registros de aplicaciones con la ayuda de Gemini
  • Usar Gemini para investigar cómo crear un entorno de compilación privado

Configuración

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

  1. Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá una ventana emergente para que selecciones tu forma de pago. A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:

    • El botón Abrir la consola de Google Cloud
    • El tiempo restante
    • Las credenciales temporales que debes usar para el lab
    • Otra información para completar el lab, si es necesaria
  2. Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).

    El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.

    Sugerencia: Ordena las pestañas en ventanas separadas, una junto a la otra.

    Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta.
  3. De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.

    {{{user_0.username | "Username"}}}

    También puedes encontrar el nombre de usuario en el panel Detalles del lab.

  4. Haz clic en Siguiente.

  5. Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.

    {{{user_0.password | "Password"}}}

    También puedes encontrar la contraseña en el panel Detalles del lab.

  6. Haz clic en Siguiente.

    Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud. Nota: Usar tu propia cuenta de Google Cloud para este lab podría generar cargos adicionales.
  7. Haga clic para avanzar por las páginas siguientes:

    • Acepta los Términos y Condiciones.
    • No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
    • No te registres para obtener pruebas gratuitas.

Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.

Nota: Para ver un menú con una lista de productos y servicios de Google Cloud, haz clic en el menú de navegación que se encuentra en la parte superior izquierda. Ícono del menú de navegación

Active Cloud Shell

Cloud Shell es una máquina virtual que contiene herramientas de desarrollo y un directorio principal persistente de 5 GB. Se ejecuta en Google Cloud. Cloud Shell proporciona acceso de línea de comandos a sus recursos de Google Cloud. gcloud es la herramienta de línea de comandos de Google Cloud, la cual está preinstalada en Cloud Shell y es compatible con la función de autocompletado con tabulador.

  1. En el panel de navegación de Google Cloud Console, haga clic en Activar Cloud Shell (Ícono de Cloud Shell).

  2. Haga clic en Continuar.
    El aprovisionamiento y la conexión al entorno tardan solo unos momentos. Una vez que se conecte, también estará autenticado, y el proyecto estará configurado con su PROJECT_ID. Por ejemplo:

Terminal de Cloud Shell

Comandos de muestra

  • Si desea ver el nombre de cuenta activa, use este comando:

gcloud auth list

(Resultado)

Credentialed accounts: - <myaccount>@<mydomain>.com (active)

(Resultado de ejemplo)

Credentialed accounts: - google1623327_student@qwiklabs.net
  • Si desea ver el ID del proyecto, use este comando:

gcloud config list project

(Resultado)

[core] project = <project_ID>

(Resultado de ejemplo)

[core] project = qwiklabs-gcp-44776a13dea667a6

Tarea 1: Configura tu entorno y cuenta de Gemini

  1. Accede a la consola de Google Cloud con tus credenciales de lab y abre la ventana de terminal de Cloud Shell.

  2. Para configurar tu ID del proyecto y las variables de entorno de la región, en Cloud Shell, ejecuta los siguientes comandos:

    PROJECT_ID=$(gcloud config get-value project) REGION={{{project_0.default_region|set at lab start}}} echo "PROJECT_ID=${PROJECT_ID}" echo "REGION=${REGION}"
  3. Para almacenar en una variable de entorno la cuenta de usuario de Google con la que accediste, ejecuta el siguiente comando:

    USER=$(gcloud config get-value account 2> /dev/null) echo "USER=${USER}"
  4. Habilita la API de Cloud AI Companion para Gemini:

    gcloud services enable cloudaicompanion.googleapis.com --project ${PROJECT_ID}
  5. Para usar Gemini, otorga a tu cuenta de usuario de Google Cloud Qwiklabs los siguientes roles necesarios de IAM:

    gcloud projects add-iam-policy-binding ${PROJECT_ID} --member user:${USER} --role=roles/cloudaicompanion.user gcloud projects add-iam-policy-binding ${PROJECT_ID} --member user:${USER} --role=roles/serviceusage.serviceUsageViewer

    Agregar estos roles te permite usar la asistencia de Gemini.

Para verificar este objetivo, haz clic en Revisar mi progreso. Habilitar las APIs correspondientes y otorgar los roles de IAM necesarios

Tarea 2: Configura Google Kubernetes Engine

En esta tarea, habilitarás la API de Google Kubernetes Engine (GKE), te otorgarás los permisos necesarios para administrar un clúster de GKE y crearás un clúster.

  1. En Cloud Shell, ejecuta el siguiente comando para habilitar la API de GKE:

    gcloud services enable container.googleapis.com --project ${PROJECT_ID}
  2. Para otorgar tus permisos de administrador de usuarios de GKE, ejecuta el siguiente comando:

    gcloud projects add-iam-policy-binding ${PROJECT_ID} --member user:${USER} --role=roles/container.admin

    Puedes crear un clúster de GKE zonal para ejecutar tus microservicios. Gemini puede decirte cómo hacerlo.

  3. En la consola de Google Cloud, si no ves el menú Abrir o cerrar chat de IA de Gemini (Menú de Gemini), actualiza la página.

  4. Para abrir el panel de Gemini, en el menú superior de la consola de Google Cloud, haz clic en Abrir o cerrar chat de IA de Gemini (Menú de Gemini) y, luego, haz clic en Habilitar.

  5. Haz clic en Empezar a chatear.

    Nota: Si el botón Empezar a chatear no está habilitado, actualiza la página y vuelve a abrir Gemini.
  6. Para darle una instrucción a Gemini, escribe el siguiente texto y, luego, haz clic en Enviar instrucción (Enviar en Gemini):

    What's the gcloud command for creating a zonal GKE cluster with a custom number of nodes and custom machine type?

    Gemini debería proporcionar una respuesta similar a esta:

    gcloud container clusters create <CLUSTER_NAME> \ --project=PROJECT_ID \ --zone=COMPUTE_ZONE \ --num-nodes=NUM_NODES \ --machine-type=MACHINE_TYPE
  7. Para crear un clúster de GKE zonal, ejecuta el siguiente comando:

    gcloud container clusters create test \ --project={{{project_0.project_id | set at lab start}}} \ --zone={{{project_0.default_zone | set at lab start}}} \ --num-nodes=3 \ --machine-type=e2-standard-4

    El clúster tardará unos minutos en crearse. Espera a que finalice el comando.

Para verificar este objetivo, haz clic en Revisar mi progreso. Configurar Google Kubernetes Engine

Tarea 3: Usa kubectl para implementar un conjunto de microservicios

En esta tarea, clonarás un repositorio que contiene el código de varios microservicios que componen una aplicación de boutique en línea. También usarás kubectl para implementar estos microservicios en el clúster de GKE.

Este es un diagrama de la arquitectura de la aplicación:

Diagrama de arquitectura de la aplicación

  1. En Cloud Shell, ejecuta el siguiente comando para clonar el repositorio:

    git clone --depth=1 https://github.com/GoogleCloudPlatform/microservices-demo

    Este repositorio contiene el código fuente de cada microservicio de la aplicación.

  2. Para implementar los microservicios en GKE, ejecuta los siguientes comandos:

    cd ~/microservices-demo kubectl apply -f ./release/kubernetes-manifests.yaml
  3. Para consultar el estado de la implementación, hasta que cada microservicio esté disponible, repite el siguiente comando:

    kubectl get deployments

    Cuando todos los microservicios estén disponibles, el valor correspondiente en la columna Disponible será 1. El comando kubectl get deployments se verá de la siguiente manera:

    NAME READY UP-TO-DATE AVAILABLE AGE adservice 1/1 1 1 94s cartservice 1/1 1 1 96s checkoutservice 1/1 1 1 97s currencyservice 1/1 1 1 95s emailservice 1/1 1 1 97s frontend 1/1 1 1 97s loadgenerator 1/1 1 1 95s paymentservice 1/1 1 1 96s productcatalogservice 1/1 1 1 96s recommendationservice 1/1 1 1 97s redis-cart 1/1 1 1 94s shippingservice 1/1 1 1 95s

    Se accede a esta aplicación a través de su dirección IP externa.

  4. Para determinar la URL de la aplicación, ejecuta el siguiente comando:

    echo "http://$(kubectl get service frontend-external -o=jsonpath='{.status.loadBalancer.ingress[0].ip}')" Nota: Es posible que la dirección IP externa tarde algunos minutos en estar disponible. Ejecuta el comando hasta que la URL incluya una dirección IP.
  5. Para abrir la aplicación en una pestaña del navegador, mantén presionado Control (en Windows y Linux) o Command (en macOS) y, luego, haz clic en la URL en Cloud Shell.

    Se abrirá la página principal de la aplicación y podrás probarla.

    Nota: Si ves una ventana emergente con el mensaje La conexión no es segura, haz clic en Continuar al sitio.

Para verificar este objetivo, haz clic en Revisar mi progreso. Usar kubectl para implementar un conjunto de microservicios

Tarea 4: Usa Gemini para comprender los registros de cargas de trabajo en GKE

Imagina que eres un ingeniero DevOps que heredó un conjunto existente de microservicios para administrarlos. Estos se ejecutan en un clúster de GKE. Para comprender el entorno, decides inspeccionar los registros de los múltiples microservicios.

En esta tarea, usarás Gemini para diseñar consultas para buscar registros específicos y explicar sus entradas.

  1. En la barra de título de la consola de Google Cloud, escribe Explorador de registros en el campo Buscar y, luego, haz clic en Explorador de registros en los resultados de la búsqueda.

  2. Para darle una instrucción a Gemini, escribe el siguiente texto y, luego, haz clic en Enviar instrucción (Enviar en Gemini):

    What is a Logs Explorer query to search for logs from Pods in a namespace called "default" in a GKE cluster named "test"?

    Deberías recibir una respuesta que te proporcionará una consulta similar a esta:

    resource.type="k8s_container" resource.labels.cluster_name="test" resource.labels.namespace_name="default" Nota: Si la consulta de Gemini no se parece a la respuesta anterior, puedes usar la que se proporciona aquí.
  3. En el cuadro de Consulta, pega la consulta y, luego, haz clic en Ejecutar consulta.

    Los mensajes de registro ahora se filtran para mostrar solo mensajes que provienen del clúster de GKE test. Ahora puedes explorar las entradas de registro.

  4. Para obtener información sobre una entrada de registro, amplíala y, luego, haz clic en Explica esta entrada de registro.

    Por ejemplo, si haces clic en el botón Explicar de una entrada de registro GET /product/0PUK6V6EV0, es posible que obtengas una respuesta de Gemini similar a esta:

    • This is a log entry from a Kubernetes container named main. • The container is part of a pod named loadgenerator-84cc74dcd-jf6dr in the default namespace. • The pod is running on cluster test in zone us-west1-a. • The log entry is an HTTP request to /product/0PUK6V6EV0 that took 49 milliseconds to process. • The request resulted in a 200 OK response and 40 bytes of data being sent back to the client.

    Después de explorar las explicaciones de los registros de tus cargas de trabajo, decides que debes configurar la infraestructura para compilar las próximas imágenes de contenedor de tu equipo en un conjunto de trabajadores privados sin acceso a Internet.

Tarea 5: Usa Gemini para crear un entorno de compilación privado para imágenes de contenedor

En esta tarea, usarás Gemini para identificar cómo crear y ejecutar un entorno de compilación privado.

Tienes la responsabilidad de configurar un sistema de compilación para un proyecto sensible. Escuchaste que Cloud Build es un servicio para realizar compilaciones en Google Cloud, y que Cloud Build usa grupos de trabajadores para ejecutar tus compilaciones.

  1. En el chat de Gemini, ingresa la siguiente instrucción para obtener más información sobre los grupos de trabajadores:

    What is a Cloud Build worker pool?

    Gemini puede proporcionar una respuesta que comience así:

    A Cloud Build worker pool is a group of virtual machines that are dedicated to running your builds. Worker pools are created in a specific region and zone, and they can be either private or public. Private pools are only accessible to your project, and they offer a number of benefits, including: • Isolation: Your builds will run on dedicated machines, which means that they will not be affected by other workloads running in the same project. • Security: Private pools are more secure than public pools, as they are not accessible to other projects. • Performance: Private pools can offer better performance than public pools, as they are not shared with other projects.

    La seguridad que proporcionan los grupos de trabajadores privados podría ser una buena opción para tu proyecto. Sería incluso mejor si se pudiera bloquear el acceso de las compilaciones al Internet público.

  2. En el chat de Gemini, ingresa la siguiente instrucción:

    Can you create a private worker pool that has no access to the public internet?

    Gemini puede proporcionar una respuesta similar a esta:

    Yes, you can create a private worker pool that has no access to the public internet. This is known as a "private pool with no public egress". To create a private pool with no public egress, you can use the --no-public-egress flag when creating the pool.

    Muy bien, esto debería ser muy seguro. Te das cuenta de que los trabajadores de un grupo privado no tendrán acceso a repositorios públicos de paquetes como PyPI. Sabiendo que necesitarás alojar paquetes privados, te preguntas si puedes usar Artifact Registry.

  3. En el chat de Gemini, ingresa la siguiente instrucción:

    If I create a private pool with no public egress, can I use Artifact Registry to host my packages privately and access them from a private pool?

    Gemini puede proporcionar una respuesta similar a esta:

    Yes, you can use Artifact Registry to host your packages privately and access them from a private pool with no public egress. To do this, you will need to create a private Artifact Registry repository and grant your private pool access to the repository. You can do this by adding the service account for your private pool as a member of the repository with the Artifact Registry Reader role. Once you have created the repository and granted your private pool access, you can push your packages to the repository and then pull them from your private pool.

    Muy bien, pidámosle a Gemini que nos proporcione el comando de gcloud CLI para crear el grupo privado.

  4. En el chat de Gemini, ingresa la siguiente instrucción:

    What is the gcloud command for creating a private worker pool with no public egress?

    Gemini puede proporcionar un comando similar a este:

    gcloud builds worker-pools create POOL_NAME \ --project=PROJECT_ID \ --region=REGION \ --no-public-egress
  5. Para crear el grupo privado, ejecuta el siguiente comando:

    gcloud builds worker-pools create pool-test \ --project={{{project_0.project_id|set at lab start}}} \ --region={{{project_0.default_region|set at lab start}}} \ --no-public-egress

    Es posible que el entorno de lab devuelva un mensaje de error similar a este:

    ERROR: (gcloud.builds.worker-pools.create) FAILED_PRECONDITION: project "{{{project_0.project_id|set at lab start}}}" is unable to use private pools

    Puedes pasar por alto este mensaje de error en el lab.

    Nota: Actualmente, los grupos privados están inhabilitados en el entorno de lab. Para un proyecto fuera del entorno de lab, el comando para crear un grupo privado debería funcionar.

    Ahora, preguntemos a Gemini cómo crear el repositorio de Docker privado.

  6. En el chat de Gemini, ingresa la siguiente instrucción:

    How can I use gcloud to create a private Docker repository for container images in Artifact Registry?

    Gemini puede proporcionar una respuesta que incluya un comando de gcloud CLI similar a este:

    gcloud artifacts repositories create REPOSITORY \ --repository-format=docker \ --location=REGION \ --description="DESCRIPTION" where: • REPOSITORY is the name of the private Docker repository to be created. • REGION is the region in which to create the private Docker repository. • DESCRIPTION is a description of the private Docker repository.
  7. Para crear el repositorio, ejecuta el siguiente comando:

    gcloud artifacts repositories create my-repo \ --repository-format=docker \ --location={{{project_0.default_region|set at lab start}}} \ --description="My private Docker repository"

    Se creó el repositorio.

    Para verificar este objetivo, haz clic en Revisar mi progreso. Crear un repositorio

Finalice su lab

Cuando haya completado su lab, haga clic en Finalizar lab. Qwiklabs quitará los recursos que usó y limpiará la cuenta por usted.

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.

¡Felicitaciones!

En este lab, aprendiste a realizar las siguientes tareas:

  • Crear un clúster de GKE con la ayuda de Gemini
  • Implementar un conjunto de microservicios en GKE
  • Encontrar y comprender los registros de aplicaciones con la ayuda de Gemini
  • Usar Gemini para investigar cómo crear un entorno de compilación privado

Copyright 2024 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

Usa una ventana de navegación privada o de Incógnito para ejecutar el 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.