Crea y modifica un clúster de GKE con la asistencia de Gemini para Google Cloud

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

Objetivos

  • Explora diversos servicios de Google que puedes usar para implementar una app en GKE haciendo preguntas basadas en el contexto a Gemini.
  • Indica a Gemini que te proporcione comandos que puedas usar para implementar un app a un clúster de GKE.
  • Crear, explorar y modificar el clúster de GKE con Gemini para explicar y generar los comandos de shell.

Productos de Google Cloud usados

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 alojadas en contenedores a gran escala. Para obtener información sobre los precios, consulta Precios de GKE.

  • Gemini. Gemini es un colaborador siempre activo en Google Cloud que ofrece asistencia potenciada por IA generativa a una amplia variedad de usuarios, lo que incluye desarrolladores y científicos de datos. Para brindar una asistencia integrada experiencia, Gemini está incorporado en muchos productos de Google Cloud.

Antes de comenzar

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

Explora Kubernetes en Google Cloud

Para el siguiente ejemplo, considera que eres un administrador de infraestructura que responsable de configurar la infraestructura para un equipo que desarrolla un y mantener la integridad de su aplicación. La organización en general ha estandarizado el uso de contenedores y Kubernetes, así que el equipo quiere saber cómo ejecutar su aplicación web en Kubernetes in Google Cloud. El equipo también quiere la menor cantidad de infraestructura la sobrecarga de administración posible.

En la consola de Google Cloud, puedes chatear con Gemini para obtener ayuda. Con el panel de Gemini, ingresas instrucciones, que son preguntas o afirmaciones que describe la ayuda que quieres, y Gemini te devolverá respuestas. Gemini no usa tus instrucciones o sus respuestas como datos para entrenar su modelo. Para obtener más información, ver Cómo usa tus datos Gemini para Google Cloud.

Si necesitas más información sobre cómo escribir instrucciones para generar buenas respuestas, consulta Escribe mejores instrucciones para Gemini.

Para indicarle a Gemini 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 spark Abrir Gemini

  2. En el panel de Gemini, ingresa la siguiente instrucción según tu y preferencias de los usuarios y, luego, haz clic en Send:

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

    La respuesta de Gemini puede verse de la siguiente manera:

    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 adicional. Por ejemplo, si quieres estandarizar 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?
    

    La respuesta de Gemini puede verse de la siguiente manera:

    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 y, luego, restablece el historial de chat. En el panel de Gemini, haz clic en ícono de borrar, y, luego, selecciona Restablecer chat.

Crea un clúster de GKE en modo Autopilot

Considera que no conoces la ejecución de Kubernetes con GKE en Autopilot. . Antes de aprovisionar un clúster para tus desarrolladores, decides probar GKE en modo Autopilot primero. En esta sección, le pedirás a Gemini que te ayude en la creación y ejecución de una app web de prueba en un clúster de GKE en modo Autopilot.

  1. En el panel de Gemini, ingresa la siguiente instrucción y, luego, haz clic en Envío:

    How do I create a GKE Autopilot cluster?
    

    Gemini responde con las instrucciones para crear un clúster con el la consola de Google Cloud y Google Cloud CLI.

  2. Cuando veas una respuesta que incluye valores de marcador de posición, como CLUSTER_NAME, REGION y PROJECT_ID, y agregan esa información a la instrucción. podría llevar a respuestas aún más útiles. Volver a definir mejor la instrucción con más detalle:

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

    Gemini devuelve una respuesta similar a la que se indica a continuación:

    gcloud container clusters create-auto gemini-demo --region us-central1
    

    Para usar el comando que proporciona Gemini, 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, quieres hacer lo siguiente: ejecutar una aplicación web de muestra similar a la aplicación que usará tu equipo que se ejecutan en esta infraestructura. De forma interna, verás la siguiente imagen de contenedor de Google se agregó 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 de Gemini, ingresa la siguiente instrucción y, luego, haz clic en Envío:

    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?
    

    Gemini devuelve una respuesta similar a la siguiente:

    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 de balanceador de cargas) frente al servidor web para exponerlo a Internet.

    En el panel de Gemini, ingresa la siguiente instrucción y, luego, haz clic en Envío:

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

    Gemini devuelve una respuesta similar a la que se indica a continuación:

    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 proporcionar más contexto siempre es útil, observa cómo Gemini se puede extraer el nombre de la implementación hello-server de la conversación sin que se incluya en la instrucción.

  3. Ahora quiere ver si el servidor web está en ejecución y entregando solicitudes correctamente. Para ver la aplicación implementada, debes recuperar el 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?
    

    Gemini devuelve una respuesta similar a la que se indica a continuación:

    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, la ejecución del comando kubectl anterior generará una resultado similar a:

    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 Se devuelve para EXTERNAL-IP.

Planifica una estrategia de actualización del clúster

Ya probaste el caso de uso principal de tu equipo en un clúster de GKE en Autopilot . Sin embargo, antes de hacer que el equipo use GKE Autopilot, desean 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 es diurno. Dado que Gemini comunicó que GKE Autopilot se encarga mantenimiento del clúster por ti, debes determinar que este mantenimiento sucede fuera del horario de mayor actividad de la 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?
    

    Gemini devuelve una respuesta similar a la que se indica a continuación:

    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 tu el horario fuera de horario de la aplicación 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 gemini-demo?
    

    Gemini devuelve una respuesta similar a la que se indica a continuación:

    To create a daily maintenance window using gcloud CLI for your
    gemini-demo GKE Autopilot cluster that goes from 22:00 to 02:00, you
    can use the following command:
    
    gcloud container clusters update gemini-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 aprovisiones para tu equipo realizar un mantenimiento durante los períodos de menor actividad para tus usuarios. Estás listo para a avanzar con la recomendación de 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 se usaron 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?