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.
Implementación de diagnósticos y solución de problemas de Kubernetes con tecnología de IA con la integración de K8sGPT y Amazon Bedrock
Ishwar Chauthaiwale, Muskan y Prafful Gupta, Amazon Web Services
Resumen
Este patrón demuestra cómo implementar diagnósticos y solución de problemas de Kubernetes con tecnología de IA 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 de los clústeres de Kubernetes mediante una arquitectura de host bastión 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 funcionalidades, es posible reducir el tiempo medio de resolución (MTTR) hasta en un 50 %.
Este patrón nativo en la nube utiliza 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 (de 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 bastión con la configuración de grupo de seguridad requerida
K8sGPT instalado
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 frecuencia de la API de Amazon Bedrock se aplican en función de las cuotas de su cuenta.
Algunas Servicios de AWS no están disponibles en todas Regiones de AWS. Para obtener información sobre la disponibilidad en regiones, consulte AWS Services by Region
. Para ver los puntos de conexión específicos, consulte Service endpoints and quotas y elija el enlace del servicio.
Versiones de producto
Amazon EKS versión 1.31 o posteriores
Modelo Claude 2 en Amazon Bedrock
K8sGPT v0.4.2 o posteriores
Arquitectura
En el siguiente diagrama se muestra la arquitectura para el diagnóstico de Kubernetes con tecnología de IA mediante K8sGPT integrado con Amazon Bedrock en la Nube de AWS.

En la arquitectura se muestra el flujo de trabajo siguiente:
Los desarrolladores acceden al entorno a través de una conexión segura al host 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 roles de IAM específicos, establece conexiones seguras tanto con el clúster de Amazon EKS como con los puntos de conexión de Amazon Bedrock. K8sGPT se instala y configura en el host bastión para analizar los 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 una 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 fundacional (FM) Claude v2 para el procesamiento de 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 roles y políticas, y administra la autenticación de las interacciones entre el host bastión, Amazon EKS y Amazon Bedrock. IAM implementa el principio de privilegio mínimo y permite una comunicación segura entre servicios en toda la arquitectura.
Automatización y escala
Las operaciones de K8sgpt pueden automatizarse y escalarse en varios clústeres de Amazon EKS a través de diversas herramientas. Servicios de AWS Esta solución admite la integración continua y la integración del despliegue continuo (CI/CD) mediante Jenkins
Tools (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 con tecnología de IA que transforma la administración de Kubernetes. Actúa como experto virtual en ingeniería de confiabilidad del sitio (SRE) y analiza, 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 pods 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 easy-to-understand explicaciones y soluciones.
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 de K8sGPT utilice roles de IAM dedicados con permisos de privilegio mínimo 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. Haga copias de seguridad periódicas de las configuraciones de K8sGPT y, al mismo tiempo, establezca programas de análisis automatizados durante las horas de menor actividad para minimizar el impacto operativo.
Epics
| Tarea | Descripción | Habilidades requeridas |
|---|---|---|
Configurar Amazon Bedrock como proveedor de backend de IA para K8sGPT. | Para configurar Amazon Bedrock como el proveedor de backend de la IA r para
En el comando de ejemplo se utiliza Para comprobar si
A continuación, se muestra un ejemplo de la salida esperada de este comando:
| AWS DevOps |
| Tarea | Descripción | Habilidades requeridas |
|---|---|---|
Ver 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 de la salida esperada de este comando:
| AWS DevOps |
Analizar 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 funcionalidades 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, utilice el siguiente comando: AWS CLI
A continuación, se muestra un ejemplo de la salida esperada de este comando:
| AWS DevOps |
Analizar 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 de la salida esperada de este comando:
| AWS DevOps |
Analizar un nodo en 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 de la salida esperada de este comando:
| AWS DevOps |
| Tarea | Descripción | Habilidades requeridas |
|---|---|---|
Obtener salidas detalladas. | Para obtener resultados detallados, utilice el siguiente AWS CLI comando:
A continuación, se muestra un ejemplo de la salida esperada de este comando:
| AWS DevOps |
Comprobar los pods problemáticos. | Para comprobar si hay pods problemáticos específicos, usa el siguiente AWS CLI comando:
A continuación, se muestra un ejemplo de la salida esperada de este comando:
| AWS DevOps |
Obtener información específica de la aplicación. | Este comando resulta especialmente útil cuando:
Para obtener información específica de la aplicación, use el siguiente comando:
A continuación, se muestra un ejemplo de la salida esperada de este comando:
|
Recursos relacionados
Blogs de AWS
AWS documentación
Otros recursos