Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Implemente diagnósticos y solución de problemas de Kubernetes basados en IA con la integración de K8sgpt y Amazon Bedrock
Ishwar Chaauthaiwale, Muskan., y Prafful Gupta, de Amazon Web Services
Resumen
Este patrón demuestra cómo implementar el diagnóstico y la solución de problemas de Kubernetes con tecnología de inteligencia artificial mediante la integración de K8sgpt con el modelo Anthropic Claude v2 disponible en Amazon Bedrock. La solución proporciona un análisis en lenguaje natural y pasos para solucionar los problemas del clúster de Kubernetes mediante una arquitectura de host basada en bastiones segura. Al combinar la experiencia de K8sGPT en Kubernetes con las capacidades lingüísticas avanzadas de Amazon Bedrock DevOps , los equipos pueden identificar y resolver rápidamente los problemas de los clústeres. Con estas capacidades, es posible reducir el tiempo medio de resolución (MTTR) hasta en un 50 por ciento.
Este patrón nativo de la nube aprovecha Amazon Elastic Kubernetes Service (Amazon EKS) para la administración de Kubernetes. El patrón implementa las mejores prácticas de seguridad mediante las funciones adecuadas AWS Identity and Access Management (IAM) y el aislamiento de la red. Esta solución es especialmente valiosa para las organizaciones que desean optimizar sus operaciones de Kubernetes y mejorar sus capacidades de solución de problemas con la ayuda de la IA.
Requisitos previos y limitaciones
Requisitos previos
Un activo Cuenta de AWS con los permisos adecuados
AWS Command Line Interface (AWS CLI) instalado y configurado
Un clúster de Amazon EKS
Acceso al modelo Anthropic Claude 2 en Amazon Bedrock
Un host de bastión con la configuración de grupo de seguridad requerida
Limitaciones
El análisis de K8sgpt está limitado por el tamaño de la ventana de contexto del modelo Claude v2.
Los límites de velocidad de la API de Amazon Bedrock se aplican en función de las cuotas de su cuenta.
Algunos Servicios de AWS no están disponibles en todos Regiones de AWS. Para ver la disponibilidad regional, consulta AWS Servicios por región
. Para conocer puntos de enlace específicos, consulte Puntos de enlace y cuotas del servicio y elija el enlace para el servicio.
Versiones de producto
Amazon EKS versión 1.31 o posterior
Modelo Claude 2 en Amazon Bedrock
Arquitectura
En el siguiente diagrama se muestra la arquitectura para el diagnóstico de Kubernetes con tecnología de IA mediante el uso de K8sgpt integrado con Amazon Bedrock en el. Nube de AWS

La arquitectura muestra el siguiente flujo de trabajo:
Los desarrolladores acceden al entorno a través de una conexión segura con el host del bastión. Esta EC2 instancia de Amazon sirve como punto de entrada seguro y contiene la instalación de la interfaz de línea de comandos (CLI) K8sgpt y las configuraciones necesarias.
El host bastión, configurado con funciones de IAM específicas, establece conexiones seguras tanto con el clúster de Amazon EKS como con los puntos de enlace de Amazon Bedrock. K8sgpt se instala y configura en el host bastión para realizar el análisis de clústeres de Kubernetes.
Amazon EKS administra el plano de control de Kubernetes y los nodos de trabajo, lo que proporciona el entorno de destino para el análisis de K8sgPT. El servicio se ejecuta en varias zonas de disponibilidad dentro de una nube privada virtual (VPC), lo que ayuda a proporcionar alta disponibilidad y resiliencia. Amazon EKS suministra datos operativos a través de la API de Kubernetes, lo que permite un análisis integral de clústeres.
K8sgpt envía los datos de análisis a Amazon Bedrock, que proporciona el modelo básico (FM) Claude v2 para el procesamiento del lenguaje natural. El servicio procesa el análisis del K8sgPT para generar explicaciones legibles para los humanos y ofrece sugerencias de corrección detalladas basadas en los problemas identificados. Amazon Bedrock funciona como un servicio de IA sin servidor con alta disponibilidad y escalabilidad.
nota
A lo largo de este flujo de trabajo, IAM controla el acceso entre los componentes mediante funciones y políticas, y gestiona la autenticación de las interacciones entre el host bastión, Amazon EKS y Amazon Bedrock. IAM implementa el principio del privilegio mínimo y permite una comunicación segura entre servicios en toda la arquitectura.
Automatizar y escalar
Las operaciones de K8sgpt se pueden automatizar y escalar en varios clústeres de Amazon EKS mediante diversas herramientas. Servicios de AWS Esta solución admite la integración continua y la integración del despliegue continuo (CI/CD) mediante Jenkins
Herramientas
Servicios de AWS
AWS Command Line Interface (AWS CLI) es una herramienta de código abierto que le ayuda a interactuar Servicios de AWS mediante los comandos de su consola de línea de comandos.
Amazon Elastic Kubernetes Service (Amazon EKS) le ayuda a ejecutar AWS Kubernetes sin necesidad de instalar ni mantener su propio plano de control o nodos de Kubernetes.
AWS Identity and Access Management (IAM) le ayuda a administrar de forma segura el acceso a sus AWS recursos al controlar quién está autenticado y autorizado a usarlos.
Otras herramientas
K8sgpt
es una herramienta de código abierto basada en inteligencia artificial que transforma la administración de Kubernetes. Actúa como experto en ingeniería de confiabilidad (SRE) de sitios virtuales y escanea, diagnostica y soluciona automáticamente los problemas del clúster de Kubernetes. Los administradores pueden interactuar con K8sgpt mediante un lenguaje natural y obtener información clara y práctica sobre el estado del clúster, los fallos de los módulos y los fallos del servicio. Los analizadores integrados en la herramienta detectan una amplia gama de problemas, desde componentes mal configurados hasta limitaciones de recursos, y ofrecen explicaciones y soluciones. easy-to-understand
Prácticas recomendadas
Implemente controles de acceso seguros mediante el acceso al AWS Systems Manager Session Manager host del bastión.
Asegúrese de que la autenticación K8sgpt utilice funciones de IAM dedicadas con permisos de privilegios mínimos para las interacciones de Amazon Bedrock y Amazon EKS. Para obtener más información, consulte Otorgar privilegio mínimo y Prácticas recomendadas de seguridad en la documentación de IAM.
Configure el etiquetado de recursos, habilite el CloudWatch registro de Amazon para las pistas de auditoría e implemente la anonimización de los datos
para la información confidencial. Realice copias de seguridad periódicas de las configuraciones del K8sgPT y, al mismo tiempo, configure programas de escaneo automatizados durante las horas de menor actividad para minimizar el impacto operativo.
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Configure Amazon Bedrock como el proveedor de backend de IA para K8sgpt. | Para configurar Amazon Bedrock como el proveedor de backend de la IA r para
El comando de ejemplo se utiliza para. Para comprobar si
A continuación se muestra un ejemplo del resultado esperado de este comando:
| AWS DevOps |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Vea una lista de filtros disponibles. | Para ver la lista de todos los filtros disponibles, utilice el siguiente AWS CLI comando:
A continuación se muestra un ejemplo del resultado esperado de este comando:
| AWS DevOps |
Escanea un pod en un espacio de nombres específico mediante un filtro. | Este comando es útil para la depuración selectiva de problemas específicos de los pods dentro de un clúster de Kubernetes, utilizando las capacidades de IA de Amazon Bedrock para analizar y explicar los problemas que encuentra. Para escanear un pod en un espacio de nombres específico mediante un filtro, usa el siguiente comando: AWS CLI
A continuación se muestra un ejemplo del resultado esperado de este comando:
| AWS DevOps |
Escanee una implementación en un espacio de nombres específico mediante un filtro. | Este comando es útil para identificar y solucionar problemas específicos de la implementación, especialmente cuando el estado real no coincide con el estado deseado. Para escanear una implementación en un espacio de nombres específico mediante un filtro, utilice el siguiente comando: AWS CLI
A continuación se muestra un ejemplo del resultado esperado de este comando:
| AWS DevOps |
Escanee un nodo de un espacio de nombres específico mediante un filtro. | Para escanear un nodo de un espacio de nombres específico mediante un filtro, utilice el siguiente comando: AWS CLI
A continuación se muestra un ejemplo del resultado esperado de este comando:
| AWS DevOps |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Obtenga resultados detallados. | Para obtener resultados detallados, utilice el siguiente AWS CLI comando:
A continuación se muestra un ejemplo del resultado esperado de este comando:
| AWS DevOps |
Compruebe los módulos problemáticos. | Para comprobar si hay cápsulas problemáticas específicas, usa el siguiente AWS CLI comando:
A continuación se muestra un ejemplo del resultado esperado de este comando:
| AWS DevOps |
Obtenga información específica sobre las aplicaciones. | Este comando es particularmente útil cuando:
Para obtener información específica sobre la aplicación, utilice el siguiente comando:
A continuación se muestra un ejemplo del resultado esperado de este comando:
|
Recursos relacionados
Blogs de AWS
AWS documentación
Otros recursos