Crea y modifica un clúster de GKE con la asistencia de Duet AI

En este instructivo, se muestra cómo usar Duet AI, un colaborador potenciado por IA en Google Cloud, para crear, probar y modificar un clúster de Google Kubernetes Engine (GKE) en Autopilot. Verás cómo Duet AI puede ayudarte a implementar una app simple en el clúster y a crear un período de mantenimiento diario para la app. Este instructivo está dirigido a ingenieros de cualquier nivel de experiencia.

Objetivos

  • Explora varios servicios de Google que puedes usar para implementar una app en GKE mediante preguntas basadas en el contexto de Duet AI.
  • Solicita a Duet AI que proporcione comandos que puedes usar para implementar una app básica en un clúster de GKE.
  • Crear, explorar y modificar el clúster de GKE con Duet AI para explicar y generar los comandos de shell.

Productos de Google Cloud utilizados

En este instructivo, se usan los siguientes productos facturables de Google Cloud. Usa la calculadora de precios para generar una estimación de los costos según el uso previsto.

  • GKE. GKE es un servicio administrado de Kubernetes que te permite implementar y administrar aplicaciones en contenedores a gran escala. Para obtener información sobre los precios, consulta Precios de GKE.

  • Duet AI. Duet AI es un colaborador siempre activo en Google Cloud que ofrece asistencia potenciada por IA generativa a una amplia gama de usuarios, incluidos desarrolladores y científicos de datos. Para brindar una experiencia de asistencia integrada, Duet AI está incorporada en muchos productos de Google Cloud.

Antes de comenzar

  1. Habilita la API de GKE.
  2. Asegúrate de que Duet AI esté configurado para tu cuenta de usuario y proyecto de Google Cloud.

Explora Kubernetes en Google Cloud

En el siguiente ejemplo, considera que eres un administrador de infraestructura responsable de configurar la infraestructura para un equipo que desarrolla una aplicación web. La organización en general usó contenedores y Kubernetes para estandarizar, por lo que el equipo quiere comprender cómo ejecutar su aplicación web en Kubernetes en Google Cloud. El equipo también quiere la menor sobrecarga de administración de infraestructura como sea posible.

En la consola de Google Cloud, puedes chatear con Duet AI para obtener ayuda. En el panel Duet AI, ingresas instrucciones, que son preguntas o declaraciones que describen la ayuda que deseas, y Duet AI muestra respuestas. Duet AI no usa tus instrucciones ni sus respuestas como datos para entrenar el modelo. Para obtener más información, consulta Cómo Duet AI en Google Cloud usa tus datos.

Si quieres obtener más información para escribir instrucciones para generar buenas respuestas, consulta Cómo escribir mejores instrucciones para Duet AI.

Para pedirle a Duet AI que te ayude a decidir cómo ejecutar Kubernetes en Google Cloud, sigue estos pasos:

  1. En la barra de herramientas de la consola de Google Cloud, haz clic en chat_spark Abrir Duet AI.

  2. En el panel Duet AI, ingresa la siguiente instrucción según tus requisitos y preferencias y, luego, haz clic en Enviar:

    How can I run Kubernetes on Google Cloud without having to own
    management of nodes and the control plane?
    

    Es posible que la respuesta de Duet AI sea similar a la siguiente:

    To run Kubernetes on Google Cloud without having to own management of
    nodes and the control plane, you can use Google Kubernetes Engine
    (Google Kubernetes Engine (GKE)) in Autopilot. In Autopilot mode, Google manages the
    control plane and system components for you, and also manages your
    worker nodes.
    
  3. Ingresa una pregunta de seguimiento. Por ejemplo, si deseas estandarizar la creación de clústeres de GKE en modo Autopilot con Terraform, ingresa el siguiente mensaje:

    Can you use Terraform to provision GKE clusters in Autopilot mode?
    

    Es posible que la respuesta de Duet AI sea similar a la siguiente:

    Yes, you can use Terraform to provision GKE clusters in Autopilot
    mode. Terraform is a tool that can be used to create and manage
    infrastructure on Google Cloud Platform. Find more information
    for your question here:
    https://cloud.google.com/blog/products/containers-kubernetes/partner-devops-and-security-solutions-for-gke-autopilot
    
  4. Opcional: Si tu historial de chat no es relevante para lo que vas a preguntar, restablece el historial. Para ello, en el panel de Duet AI, haz clic en el ícono de borrar y, luego, selecciona Restablecer chat.

Crea un clúster de GKE en modo Autopilot

Ten en cuenta que no estás familiarizado con la ejecución de Kubernetes con GKE en modo Autopilot. Antes de aprovisionar un clúster para tus desarrolladores, decides probar GKE en modo Autopilot. En esta sección, le pedirás a Duet AI que te ayude a crear y ejecutar una app web de prueba en un clúster de GKE en modo Autopilot.

  1. En el panel Duet AI, ingresa la siguiente instrucción y, luego, haz clic en Enviar:

    How do I create a GKE Autopilot cluster?
    

    Duet AI responde con las instrucciones para crear un clúster mediante la consola de Google Cloud y Google Cloud CLI.

  2. Cuando veas una respuesta que incluye valores de marcadores de posición, como CLUSTER_NAME, REGION y PROJECT_ID, agregar esa información al mensaje podría generar respuestas aún más útiles. Vuelve a definir mejor la instrucción con más detalles:

    What is the command to create a GKE Autopilot cluster in my current
    project named duet-ai-demo in the us-central region using the gcloud CLI?
    

    Duet AI muestra una respuesta similar a la siguiente:

    gcloud container clusters create-auto duet-ai-demo --region us-central1
    

    Para usar el comando que proporciona Duet AI, abre Cloud Shell y ejecuta el comando gcloud anterior en la respuesta.

    Después de unos minutos, tu clúster de GKE Autopilot estará listo para usarse.

Implementa una aplicación web de muestra

Ahora que creaste un clúster de GKE en modo Autopilot, te gustaría probar la ejecución de una aplicación web de muestra similar a la aplicación que tu equipo ejecutará en esta infraestructura. De forma interna, verás la siguiente imagen de contenedor de Google agregada a favoritos para probar una aplicación web alojada en contenedores: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0.

  1. En el panel Duet AI, ingresa la siguiente instrucción y, luego, haz clic en Enviar:

    What is the kubectl command to create a deployment called
    hello-server for the image us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0?
    

    Duet AI muestra una respuesta similar a esta:

    To create a deployment called hello-server for the image
    us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0, you
    can use the following kubectl command:
    
    kubectl create deployment hello-server --image=us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
    

    Ejecuta el comando kubectl anterior en Cloud Shell.

  2. Una vez creado el servidor web, decides probar el aprovisionamiento de un balanceador de cargas frente al servidor web para exponerlo a Internet.

    En el panel Duet AI, ingresa la siguiente instrucción y, luego, haz clic en Enviar:

    What is the kubectl command to expose this deployment on port 80 with
    a load balancer?
    

    Duet AI muestra una respuesta similar a la siguiente:

    To expose the hello-server deployment on port 80 with a load
    balancer, you can use the following kubectl expose command:
    
    kubectl expose deployment hello-server \
      --type LoadBalancer \
      --port 80 \
      --target-port 8080
    

    Cuando ejecutes este comando, se creará un balanceador de cargas de Compute Engine para tu contenedor.

    Si bien siempre es útil proporcionar más contexto, ten en cuenta que Duet AI pudo extraer el nombre de la implementación hello-server del historial de conversaciones sin que se incluya en la instrucción.

  3. Ahora deseas ver si el servidor web se ejecuta y entrega las solicitudes de forma correcta. Para ver la aplicación implementada, debes recuperar la dirección IP externa del servicio de Kubernetes que creaste.

    Escribe la siguiente instrucción:

    What is the kubectl command to see the external IP address
    associated with this load balancer?
    

    Duet AI muestra una respuesta similar a la siguiente:

    To see the external IP associated with a load balancer, you can use
    the following kubectl command:
    
    kubectl get service hello-server -w
    
    This will output the name of the service, the type of service, the
    cluster IP address, the external IP address, and the ports that the
    service is listening on.
    

    Después de unos minutos, si ejecutas el comando kubectl anterior, se generará un resultado similar al siguiente:

    NAME           TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)        AGE
    hello-server   LoadBalancer   34.118.227.57   35.225.15.112   80:31473/TCP   6m18s
    

    Ahora puedes acceder a la aplicación web que se ejecuta en GKE con el valor que se muestra para EXTERNAL-IP.

Planifica una estrategia de actualización de clústeres

Ya probaste el caso de uso principal de tu equipo en un clúster de GKE en modo Autopilot. Sin embargo, antes de hacer que el equipo use GKE Autopilot, debes configurar un horario para el mantenimiento o las actualizaciones del clúster.

Sabes que los patrones de tráfico de los usuarios de la aplicación web de tu equipo son diarios. Dado que Duet AI comunicó que GKE Autopilot se encarga del mantenimiento del clúster por ti, quieres establecer que este mantenimiento ocurra fuera de las horas de mayor actividad de tu aplicación web.

  1. Escribe la siguiente instrucción:

    How can I configure periods of time where GKE Autopilot won't
    perform maintenance or upgrades on my cluster nodes?
    

    Duet AI muestra una respuesta similar a la siguiente:

    To configure periods of time where GKE Autopilot won't perform
    maintenance or upgrades on your cluster nodes, you can use
    maintenance windows and exclusions.
    
    Maintenance windows are periods of time when GKE Autopilot is allowed
    to perform maintenance and upgrades on your cluster nodes. You can
    specify a maintenance window for your cluster when you create it, or
    you can update an existing cluster to specify a maintenance
    window.
    
    Maintenance exclusions are periods of time when GKE Autopilot is not
    allowed to perform maintenance or upgrades on your cluster nodes. You
    can create a maintenance exclusion for your cluster when you create
    it, or you can update an existing cluster to create a maintenance
    exclusion.
    
    To create a maintenance window or a maintenance exclusion, you can
    use the Google Cloud console, the gcloud CLI, or the Kubernetes
    API.
    
  2. Decides crear un período de mantenimiento diario durante las horas fuera de las horas de trabajo de tu aplicación web con gcloud. Escribe la siguiente instrucción:

    How can I create a daily maintenance window from 22:00 to 02:00 using
    `gcloud` for my GKE Autopilot cluster named duet-ai-demo?
    

    Duet AI muestra una respuesta similar a la siguiente:

    To create a daily maintenance window using gcloud CLI for your
    duet-ai-demo GKE Autopilot cluster that goes from 22:00 to 02:00, you
    can use the following command:
    
    gcloud container clusters update duet-ai-demo \
      --maintenance-window-start 22:00 \
      --maintenance-window-end 02:00 \
      --maintenance-window-recurrence "FREQ=DAILY"
    
    This command will create a daily maintenance window that runs from
    22:00 to 02:00 UTC time zone.
    

    Ejecutar este comando garantiza que la infraestructura que aprovisionas para tu equipo se someta a mantenimiento durante las horas de menor actividad para los usuarios. Ya estás listo para recomendar GKE Autopilot a tu equipo de aplicaciones web.

Limpia

Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en este instructivo, puedes borrar el proyecto de Google Cloud que creaste para este instructivo. Como alternativa, puedes borrar los recursos individuales.

  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.

¿Qué sigue?