Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Implementa la diagnostica e la risoluzione dei problemi di Kubernetes basate sull'intelligenza artificiale con K8SGPT e l'integrazione con Amazon Bedrock
Ishwar Chauthaiwale, Muskan., e Prafful Gupta, Amazon Web Services
Riepilogo
Questo modello dimostra come implementare la diagnostica e la risoluzione dei problemi di Kubernetes basate sull'intelligenza artificiale integrando K8SGPT con il modello Anthropic Claude v2 disponibile su Amazon Bedrock. La soluzione fornisce analisi in linguaggio naturale e procedure di correzione per i problemi del cluster Kubernetes attraverso un'architettura host bastion sicura. Combinando l'esperienza di K8SGPT Kubernetes con le funzionalità linguistiche avanzate di Amazon Bedrock DevOps , i team possono identificare e risolvere rapidamente i problemi dei cluster. Con queste funzionalità, è possibile ridurre il tempo medio di risoluzione (MTTR) fino al 50%.
Questo modello nativo del cloud sfrutta Amazon Elastic Kubernetes Service (Amazon EKS) per la gestione di Kubernetes. Il modello implementa le migliori pratiche di sicurezza attraverso ruoli (IAM) appropriati e isolamento della rete. AWS Identity and Access Management Questa soluzione è particolarmente utile per le organizzazioni che desiderano semplificare le operazioni su Kubernetes e migliorare le capacità di risoluzione dei problemi con l'assistenza dell'IA.
Prerequisiti e limitazioni
Prerequisiti
Un attivo con le autorizzazioni appropriate Account AWS
AWS Command Line Interface (AWS CLI) installato e configurato
Un cluster Amazon EKS
Un host bastion con le impostazioni richieste per i gruppi di sicurezza
Limitazioni
L'analisi K8sgpt è limitata dalla dimensione della finestra di contesto del modello Claude v2.
I limiti di velocità dell'API Amazon Bedrock si applicano in base alle quote del tuo account.
Alcuni Servizi AWS non sono disponibili in tutti. Regioni AWS Per la disponibilità regionale, vedi AWS Servizi per regione
. Per endpoint specifici, consulta Endpoints and quotas del servizio e scegli il link relativo al servizio.
Versioni del prodotto
Amazon EKS versione 1.31 o successiva
Modello Claude 2 su Amazon Bedrock
Architettura
Il diagramma seguente mostra l'architettura per la diagnostica Kubernetes basata sull'intelligenza artificiale che utilizza K8sgPT integrato con Amazon Bedrock in. Cloud AWS

L'architettura mostra il seguente flusso di lavoro:
Gli sviluppatori accedono all'ambiente tramite una connessione sicura all'host bastion. Questa EC2 istanza Amazon funge da punto di ingresso sicuro e contiene l'installazione dell'interfaccia a riga di comando (CLI) K8SGpt e le configurazioni richieste.
L'host bastion, configurato con ruoli IAM specifici, stabilisce connessioni sicure sia al cluster Amazon EKS che agli endpoint Amazon Bedrock. K8sgpt è installato e configurato sull'host bastion per eseguire l'analisi del cluster Kubernetes.
Amazon EKS gestisce il piano di controllo Kubernetes e i nodi di lavoro, fornendo l'ambiente di destinazione per l'analisi K8sgPT. Il servizio funziona su più zone di disponibilità all'interno di un cloud privato virtuale (VPC), il che aiuta a fornire disponibilità e resilienza elevate. Amazon EKS fornisce dati operativi tramite l'API Kubernetes, che consente un'analisi completa dei cluster.
K8sgPT invia i dati di analisi ad Amazon Bedrock, che fornisce il Claude v2 Foundation Model (FM) per l'elaborazione del linguaggio naturale. Il servizio elabora l'analisi K8sgpt per generare spiegazioni leggibili dall'uomo e offre suggerimenti di correzione dettagliati in base ai problemi identificati. Amazon Bedrock funziona come un servizio di intelligenza artificiale senza server con disponibilità e scalabilità elevate.
Nota
In tutto questo flusso di lavoro, IAM controlla l'accesso tra i componenti tramite ruoli e policy, gestendo l'autenticazione per le interazioni tra bastion host, Amazon EKS e Amazon Bedrock. IAM implementa il principio del privilegio minimo e consente una comunicazione sicura tra servizi in tutta l'architettura.
Automazione e scalabilità
Le operazioni K8sgPT possono essere automatizzate e scalate su più cluster Amazon EKS tramite vari strumenti. Servizi AWS Questa soluzione supporta l'integrazione continua e l'integrazione della distribuzione continua (CI/CD) utilizzando Jenkins
Strumenti
Servizi AWS
AWS Command Line Interface (AWS CLI) è uno strumento open source che consente di interagire Servizi AWS tramite comandi nella shell della riga di comando.
Amazon Elastic Kubernetes Service (Amazon EKS) ti aiuta a eseguire Kubernetes su AWS Kubernetes senza dover installare o gestire il tuo piano di controllo o i tuoi nodi Kubernetes.
AWS Identity and Access Management (IAM) ti aiuta a gestire in modo sicuro l'accesso alle tue AWS risorse controllando chi è autenticato e autorizzato a utilizzarle.
Altri strumenti
K8SGPT
è uno strumento open source basato sull'intelligenza artificiale che trasforma la gestione di Kubernetes. Agisce come esperto di Virtual Site Reliability Engineering (SRE), scansionando, diagnosticando e risolvendo automaticamente i problemi del cluster Kubernetes. Gli amministratori possono interagire con K8SGPT utilizzando il linguaggio naturale e ottenere informazioni chiare e fruibili sullo stato del cluster, sugli arresti anomali dei pod e sugli errori del servizio. Gli analizzatori integrati dello strumento rilevano un'ampia gamma di problemi, dai componenti mal configurati ai vincoli di risorse, e forniscono spiegazioni e soluzioni. easy-to-understand
Best practice
Assicurati che l'autenticazione K8sgpt utilizzi ruoli IAM dedicati con autorizzazioni con privilegi minimi per le interazioni tra Amazon Bedrock e Amazon EKS. Per ulteriori informazioni, consulta le best practice relative alla concessione dei privilegi minimi e alla sicurezza nella documentazione IAM.
Configura il tagging delle risorse, abilita la CloudWatch registrazione di Amazon per gli audit trail e implementa l'anonimizzazione dei dati
per le informazioni sensibili. Mantieni backup regolari delle configurazioni K8SGPT impostando al contempo pianificazioni di scansione automatizzate durante le ore non di punta per ridurre al minimo l'impatto operativo.
Epiche
Attività | Descrizione | Competenze richieste |
---|---|---|
Imposta Amazon Bedrock come provider di backend AI per K8sgPT. | Per impostare Amazon Bedrock come fornitore di backend AI
Il comando di esempio utilizza per. Per verificare che
Di seguito è riportato un esempio dell'output previsto di questo comando:
| AWS DevOps |
Attività | Descrizione | Competenze richieste |
---|---|---|
Visualizza un elenco di filtri disponibili. | Per visualizzare l'elenco di tutti i filtri disponibili, usa il seguente AWS CLI comando:
Di seguito è riportato un esempio dell'output previsto di questo comando:
| AWS DevOps |
Scansiona un pod in uno spazio dei nomi specifico utilizzando un filtro. | Questo comando è utile per il debug mirato di problemi specifici dei pod all'interno di un cluster Kubernetes, utilizzando le funzionalità AI di Amazon Bedrock per analizzare e spiegare i problemi rilevati. Per scansionare un pod in uno spazio dei nomi specifico utilizzando un filtro, usa il seguente comando: AWS CLI
Di seguito è riportato un esempio dell'output previsto di questo comando:
| AWS DevOps |
Scansiona una distribuzione in uno spazio dei nomi specifico utilizzando un filtro. | Questo comando è utile per identificare e risolvere problemi specifici della distribuzione, in particolare quando lo stato effettivo non corrisponde allo stato desiderato. Per eseguire la scansione di una distribuzione in uno spazio dei nomi specifico utilizzando un filtro, utilizzare il comando seguente: AWS CLI
Di seguito è riportato un esempio dell'output previsto di questo comando:
| AWS DevOps |
Scansiona un nodo in uno spazio dei nomi specifico utilizzando un filtro. | Per eseguire la scansione di un nodo in uno spazio dei nomi specifico utilizzando un filtro, utilizzate il seguente comando: AWS CLI
Di seguito è riportato un esempio dell'output previsto di questo comando:
| AWS DevOps |
Attività | Descrizione | Competenze richieste |
---|---|---|
Ottieni risultati dettagliati. | Per ottenere risultati dettagliati, usa il seguente comando: AWS CLI
Di seguito è riportato un esempio dell'output previsto di questo comando:
| AWS DevOps |
Controlla i pod problematici. | Per verificare la presenza di pod problematici specifici, utilizzate il seguente comando: AWS CLI
Di seguito è riportato un esempio dell'output previsto di questo comando:
| AWS DevOps |
Ottieni approfondimenti specifici per le applicazioni. | Questo comando è particolarmente utile quando:
Per ottenere informazioni specifiche sull'applicazione, utilizzate il seguente comando:
Di seguito è riportato un esempio dell'output previsto di questo comando:
|
Risorse correlate
Blog AWS
AWS documentazione
Altre risorse