En este instructivo, se muestra cómo usar Gemini para Google Cloud, 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 Gemini puede ayudar a implementar una app simple en el clúster y crear un período de mantenimiento diario para la app. Este instructivo está dirigido a ingenieros de cualquier nivel de experiencia.
Objetivos
- Haz preguntas de Gemini basadas en el contexto a fin de explorar varios servicios de Google que puedes usar para implementar una app en GKE.
- Solicita a Gemini que proporcione los 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 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 con tecnología de IA generativa a una amplia variedad de usuarios, incluidos desarrolladores y científicos de datos. Para ofrecer una experiencia de asistencia integrada, Gemini está incorporada en muchos productos de Google Cloud.
Antes de comenzar
- Habilita la API de GKE.
- Asegúrate de que Gemini esté configurado para tu proyecto y cuenta de usuario 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. Toda la organización en general ha estandarizado el uso de contenedores y Kubernetes, 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 posible.
En la consola de Google Cloud, puedes chatear con Gemini para obtener ayuda. En el panel Gemini, puedes ingresar mensajes, que son preguntas o sentencias que describen la ayuda que necesitas, y Gemini muestra respuestas. Gemini no usa tus mensajes ni sus respuestas como datos para entrenar su modelo. Para obtener más información, consulta Cómo usa tus datos Gemini para Google Cloud.
Si quieres obtener más información sobre cómo escribir instrucciones para generar buenas respuestas, consulta Cómo escribir mejores instrucciones para Gemini.
Para pedirle a Gemini que te ayude a decidir cómo ejecutar Kubernetes en Google Cloud, sigue estos pasos:
En la barra de herramientas de la consola de Google Cloud, haz clic en spark Abrir Gemini.
En el panel de Gemini, 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?
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.
Ingresa una pregunta adicional. 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?
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
Opcional: Si tu historial de chat no es relevante para lo que solicitarás a continuación, restablece el historial de chat. Para ello, en el panel de Gemini, haz clic en el ícono de borrar y, luego, selecciona Restablecer chat.
Crea un clúster de GKE en modo Autopilot
Considera 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, primero decides probar GKE en modo Autopilot. En esta sección, le pedirás a Gemini que te ayude a crear y ejecutar una app web de prueba en un clúster de GKE en modo Autopilot.
En el panel de Gemini, ingresa la siguiente instrucción y, luego, haz clic en Enviar:
How do I create a GKE Autopilot cluster?
Gemini responde con las instrucciones para crear un clúster con la consola de Google Cloud y Google Cloud CLI.
Cuando veas una respuesta que incluye valores de marcador 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 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, te gustaría
probar la ejecución de una aplicación web de muestra similar a la aplicación que ejecutará tu equipo
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
.
En el panel de Gemini, 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?
Gemini muestra 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.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 de Gemini, 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?
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
Si ejecutas 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 pudo extraer el nombre de implementación
hello-server
del historial de conversaciones sin que se incluyera en el mensaje.Ahora deseas ver si el servidor web está en ejecución y entrega solicitudes correctamente. 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?
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, ejecutar el comando
kubectl
anterior 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 del clúster
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 una hora para el mantenimiento o las actualizaciones del clúster.
Sabes que los patrones de tráfico de los usuarios para la aplicación web de tu equipo son diurnos. Dado que Gemini comunicó que GKE Autopilot se encarga del mantenimiento del clúster por ti, debes indicar que este mantenimiento ocurre fuera de las horas de mayor actividad de tu aplicación web.
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.
Decides crear un período de mantenimiento diario durante las horas fuera de servicio 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 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 se someta a mantenimiento durante las horas menos ocupadas para tus usuarios. Ya está todo 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 usados en este instructivo, puedes borrar el proyecto de Google Cloud que creaste para este instructivo. Como alternativa, puedes borrar los recursos individuales.
- En la consola de Google Cloud, ve a la página Administrar recursos.
- En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
- En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.
¿Qué sigue?
- Lee la descripción general de Gemini para Google Cloud.
- Obtén más información sobre las cuotas y los límites de Gemini.
- Obtén más información sobre las ubicaciones de Gemini.