Optimiza los servicios de GKE con la asistencia de Gemini


En esta página, se describe cómo puedes ajustar tus implementaciones de Google Kubernetes Engine (GKE) para optimizar el rendimiento y la confiabilidad con Gemini Cloud Assist, un colaborador potenciado por IA para Google Cloud. La asistencia de Gemini puede incluir recomendaciones, generación de código y solución de problemas.

Entre muchos otros beneficios, Gemini Cloud Assist puede ayudarte a lograr lo siguiente:

  • Reducir costos: Identifica los recursos inactivos, ajusta el tamaño de tus implementaciones y optimiza la configuración del ajuste de escala automático para minimizar el gasto innecesario.
  • Mejorar la confiabilidad y la estabilidad: Identifica de forma proactiva posibles problemas, como la diferencia de versiones o la falta de presupuestos de interrupción de Pods, para evitar el tiempo de inactividad y garantizar la resiliencia de la aplicación.
  • Optimiza las cargas de trabajo de IA/AA: Obtén ayuda para implementar, administrar y optimizar las cargas de trabajo de IA/AA en GKE.
  • Simplifica la solución de problemas: Analiza rápidamente los registros y detecta la causa raíz de los errores, lo que te ahorrará tiempo y esfuerzo.

Esta página está dirigida a los usuarios existentes de GKE, así como a los operadores y desarrolladores que aprovisionan y configuran recursos de la nube, y que implementan apps y servicios. Para obtener más información sobre los roles comunes y las tareas de ejemplo a las que se hace referencia en el contenido de Google Cloud , consulta Tareas y roles comunes de los usuarios de GKE Enterprise.

Descubre cómo y cuándo Gemini para Google Cloud usa tus datos.

Costos

  • Gemini: Durante la versión preliminar, no se generarán costos por usar Gemini Cloud Assist.

  • GKE: No hay costos adicionales por usar Gemini Cloud Assist en GKE.

Antes de comenzar

Para comenzar a usar Gemini con GKE, completa los siguientes requisitos previos.

En esta guía, se da por sentado que tienes un clúster de GKE y, preferentemente, algunas implementaciones en ejecución.

Pregúntale a Gemini Cloud Assist

Puedes invocar Gemini Cloud Assist desde la consola de Google Cloud . Gemini Cloud Assist te permite usar instrucciones en lenguaje natural para obtener ayuda con las tareas de forma rápida y eficiente.

Para abrir Cloud Assist desde una página de GKE, sigue estos pasos:

  1. En la consola de Google Cloud , en la página del selector de proyectos, selecciona un proyecto deGoogle Cloud en el que habilitaste Gemini Cloud Assist.

    Ir al selector de proyectos

  2. En la consola de Google Cloud , ve a una página específica de la consola de Kubernetes Engine.

    Por ejemplo, ve a la página Descripción general de Kubernetes Engine.

    Ir a la descripción general de Kubernetes Engine

    Si tienes una pregunta sobre un recurso específico, primero navega a la página correspondiente. Por ejemplo, en la página Clústeres, Gemini Cloud Assist puede brindarte asesoramiento sobre la administración de tus clústeres, la supervisión de su estado y la solución de problemas relacionados con ellos. Usar Gemini en una página de la consola Google Cloud específica ayuda a proporcionar contexto para tus preguntas. Luego, Gemini puede usar este contexto, junto con el proyecto general en el que te encuentras, para generar asistencia más precisa y personalizada.

  3. Para abrir el panel de Gemini Cloud Assist, haz clic en spark Abrir o cerrar el chat basado en IA de Gemini en la barra de herramientas.

  4. Si se te solicita y aceptas las condiciones, haz clic en Aceptar.

  5. Ingresa una instrucción en el panel de Gemini. Consulta un ejemplo de flujo de trabajo para usar Gemini y solucionar problemas en la siguiente sección.

Para obtener más información sobre el uso de Gemini en la consola de Google Cloud , consulta Usa Gemini Cloud Assist.

Ejemplo de uso de Gemini para solucionar problemas

Gemini puede ayudarte a solucionar problemas en tus servicios de GKE.

  1. Ve a la página Cargas de trabajo en la Google Cloud consola.

    Ir a Cargas de trabajo

  2. Selecciona la carga de trabajo para la que deseas solucionar problemas.

  3. Haz clic en la pestaña Registros.

  4. Haz clic en spark Abrir o cerrar el chat basado en IA de Gemini en la barra de herramientas.

  5. Ingresa una instrucción para describir el problema que tienes. Por ejemplo, "Mi aplicación de base de datos accounts-db experimenta una latencia alta". Gemini podría pedir más contexto, como el tipo de base de datos o el alcance del impacto, como las operaciones y los usuarios afectados por la latencia.

  6. Luego, Gemini puede brindarte orientación para que analices los registros por tu cuenta y sugerencias para solucionar problemas.

  7. Revisa las sugerencias y síguelas para resolver el problema.

Ejemplos de instrucciones para Gemini Cloud Assist

En esta sección, se muestran algunos casos de uso reales y se sugieren las instrucciones que puedes probar para pedirle a Gemini. Las respuestas reales que recibas pueden ser genéricas o personalizadas y prácticas según el estado único de tu entorno deGoogle Cloud . Las respuestas pueden incluir Google Cloud vínculos a la consola para revisar y administrar tus recursos de Cloud, y vínculos a la documentación pertinente para obtener más información.

Reduce costos

En la siguiente tabla, se describen las instrucciones que puedes usar para reducir los costos.

Instrucción Tipo de respuesta
"¿Cómo puedo ahorrar costos en mis clústeres de GKE sin sacrificar el rendimiento?"
  • Recomendaciones que identifican y sugieren la eliminación de recursos poco utilizados, como los clústeres inactivos.
  • Asesoramiento sobre cómo habilitar o ajustar los mecanismos de ajuste de escala automático
  • Sugerencias que destacan los posibles ahorros a través de las revisiones de configuración, como las políticas de retención de registros.
"Quiero actualizar mi clúster de GKE my-docker-cluster. ¿Tienes alguna recomendación?" Sugerencias para implementar configuraciones y prácticas recomendadas específicas de Kubernetes, por ejemplo:
  • Definir solicitudes y límites de recursos para los Pods para ayudar a garantizar una asignación de recursos predecible
  • Usa espacios de nombres dedicados para aislar las cargas de trabajo.
  • Implementar presupuestos de interrupción de Pods para garantizar que haya una cantidad mínima de réplicas de Pods disponibles durante las interrupciones voluntarias, como el mantenimiento o las actualizaciones de nodos
  • Programar períodos de mantenimiento para administrar las interrupciones planificadas y minimizar el tiempo de inactividad inesperado
  • Inscribir clústeres en canales de versiones para administrar las actualizaciones de versiones de GKE
"En un par de semanas, tendré un gran aumento repentino de tráfico en el clúster my-docker-cluster. ¿Tienes alguna recomendación?"
  • Son estrategias para ajustar la cantidad de Pods de la aplicación con el escalador automático horizontal de Pods.
  • Estrategias para aumentar los recursos (CPU, memoria) por Pod con el ajuste de escala automático vertical de Pods
"¿Cuáles de mis cargas de trabajo de GKE no tienen habilitado el HPA?" Es la lista de cargas de trabajo que no tienen habilitado el escalador automático de Pods horizontal.

Mejora la confiabilidad y la estabilidad

En la siguiente tabla, se describen las instrucciones que puedes usar para mejorar la confiabilidad y la estabilidad de tus cargas de trabajo de GKE.

Instrucción Tipo de respuesta
"¿Cómo puedo hacer que mis clústeres de GKE sean más confiables y evitar el tiempo de inactividad?"
  • Identifica la diferencia de versiones en los clústeres y sugiere acciones para mantener la compatibilidad de las versiones de Kubernetes.
  • Proporciona recomendaciones para implementar el aislamiento de recursos.
  • Proporciona recomendaciones para configurar presupuestos de interrupción de Pods y mantener una cantidad mínima de réplicas de Pods en ejecución durante el mantenimiento o las actualizaciones planificados.
"Muéstrame cómo puedo mover mis cargas de trabajo del espacio de nombres Default en my-cluster". Sigue estos pasos:
  • Prepara un clúster de destino.
  • Migra apps y datos al clúster de destino.
  • Cambia los servicios con un tiempo de inactividad mínimo.
"¿Cómo puedo garantizar la alta disponibilidad de mis Pods en ejecución?"
  • Un procedimiento detallado que especifica una Deployment que usa podAntiAffinity y varias réplicas para la redundancia.
  • Sugerencias para configurar solicitudes y límites de recursos, y usar el ajuste de escala automático horizontal de Pods

Optimiza GKE para cargas de trabajo de IA/AA

En la siguiente tabla, se describen las instrucciones que puedes usar para obtener ayuda con la implementación, la administración y la optimización de cargas de trabajo de IA/AA en GKE.

Instrucción Tipo de respuesta
"¿Cuáles son las configuraciones recomendadas del grupo de nodos para ejecutar el entrenamiento distribuido a gran escala de TensorFlow en GKE con GPUs?" Las recomendaciones para optimizar el entrenamiento de AA de TensorFlow distribuido en GKE pueden incluir lo siguiente:
  • Selecciona los tipos de GPU y de máquina adecuados.
  • Se habilita el ajuste de escala automático.
  • Se está optimizando la conectividad de red.
  • Aprovechar los frameworks de entrenamiento distribuido
  • Implementar medidas de ahorro
"¿Cómo uso las GPUs en GKE para el entrenamiento?" Descripción general de los pasos y las consideraciones para configurar un clúster y cargas de trabajo para usar GPUs.
"Dame un ejemplo de cómo implementar un contenedor de servicio de modelos en GKE". Un ejemplo con código de muestra para implementar un contenedor de servicio de modelos en GKE. El ejemplo puede incorporar prácticas recomendadas y ayudar a garantizar la escalabilidad.
"¿Qué métricas debo hacer un seguimiento para evaluar la eficacia de mi configuración de balanceo de cargas para la inferencia?" La lista de métricas (como la distribución del tráfico, la latencia, las tasas de error, el uso de CPU y el uso de memoria) para obtener estadísticas sobre el rendimiento y el estado de la configuración del balanceo de cargas

Simplifica la solución de problemas

En la siguiente tabla, se describen las instrucciones que puedes usar para analizar rápidamente los registros y, así, identificar la causa raíz de los errores, lo que te ahorrará tiempo y esfuerzo.

Instrucción Tipo de respuesta
"¿De qué se trata este error?
Readiness probe failed: Get "https://10…./abcd": context deadline exceeded (Client.Timeout exceeded while awaiting headers)"
Explica que kubelet no pudo ejecutar la sonda de disponibilidad para el contenedor dentro del período de tiempo de espera definido y sugiere posibles causas y acciones de solución de problemas.
"¿Por qué mi implementación nettools falla con el error ping: socket: Operation not permitted?" Explica que el comando ping requiere la capacidad de contexto de seguridad CAP_NET_RAW y que, de forma predeterminada, los contenedores en Kubernetes se ejecutan con un conjunto restringido de capacidades por motivos de seguridad.
"¿Qué significa que mi Pod no se pueda programar debido al error Cannot schedule pods: No preemption victims found for incoming pod.?" Explica cómo funciona la programación y la prioridad de Pods en Kubernetes. Enumera los pasos para solucionar problemas relacionados con la ausencia de una víctima de la preferencia.

¿Qué sigue?