As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Implementação de diagnósticos e solução de problemas com base em IA no Kubernetes usando a integração do K8sGPT e do Amazon Bedrock
Ishwar Chauthaiwale, Muskan e Prafful Gupta, Amazon Web Services
Resumo
Este padrão demonstra como implementar diagnósticos e solução de problemas com base em IA no Kubernetes, integrando o K8sGPT ao modelo Claude v2, da Anthropic, disponível no Amazon Bedrock. A solução fornece análise em linguagem natural e etapas de correção para problemas em clusters do Kubernetes por meio de uma arquitetura segura de bastion host. Ao combinar a experiência do K8sGpt Kubernetes com os recursos avançados de linguagem do Amazon Bedrock DevOps , as equipes podem identificar e resolver problemas de cluster rapidamente. Graças a essas funcionalidades, é possível reduzir o tempo médio de resolução (MTTR, na sigla em inglês) em até 50%.
Este padrão nativo da nuvem usa o Amazon Elastic Kubernetes Service (Amazon EKS) para o gerenciamento do Kubernetes. O padrão implementa as melhores práticas de segurança por meio de funções AWS Identity and Access Management (IAM) adequadas e isolamento de rede. Esta solução é especialmente útil para organizações que desejam otimizar as operações no Kubernetes e aprimorar suas funcionalidades de solução de problemas com assistência de IA.
Pré-requisitos e limitações
Pré-requisitos
Um ativo Conta da AWS com as permissões apropriadas
AWS Command Line Interface (AWS CLI) instalado e configurado
Um cluster do Amazon EKS
Acesso ao modelo Claude 2 da Anthropic no Amazon Bedrock
Um bastion host com as configurações de grupo de segurança necessárias
K8sGPT instalado
Limitações
A análise do K8sGPT é limitada pelo tamanho da janela de contexto do modelo Claude v2.
Os limites de taxa da API do Amazon Bedrock são aplicados com base nas cotas da sua conta.
Alguns Serviços da AWS não estão disponíveis em todos Regiões da AWS. Para conferir a disponibilidade de uma região, consulte AWS Services by Region
. Para endpoints específicos, consulte Service endpoints and quotas e clique no link correspondente ao serviço desejado.
Versões do produto
Amazon EKS, versão 1.31 ou versões posteriores
Modelo Claude 2 no Amazon Bedrock
K8sGpt, v0.4.2 ou versões posteriores
Arquitetura
O diagrama apresentado a seguir ilustra a arquitetura para diagnósticos com base em IA no Kubernetes, usando o K8sGPT integrado ao Amazon Bedrock na Nuvem AWS.

A arquitetura apresenta o seguinte fluxo de trabalho:
Os desenvolvedores acessam o ambiente por meio de uma conexão segura com o bastion host. Essa EC2 instância da Amazon serve como ponto de entrada seguro e contém a instalação da interface de linha de comando (CLI) do K8SGpt e as configurações necessárias.
O bastion host, configurado com perfis do IAM específicos, estabelece conexões seguras tanto com o cluster do Amazon EKS quanto com os endpoints do Amazon Bedrock. O K8sGPT é instalado e configurado no bastion host para realizar a análise do cluster do Kubernetes.
O Amazon EKS gerencia o ambiente de gerenciamento do Kubernetes e os nós de processamento, fornecendo o ambiente de destino para a análise do K8sGPT. O serviço opera em várias zonas de disponibilidade dentro de uma nuvem privada virtual (VPC), o que ajuda a garantir alta disponibilidade e resiliência. O Amazon EKS fornece dados operacionais por meio da API do Kubernetes, permitindo uma análise completa do cluster.
O K8sGPT envia os dados de análise para o Amazon Bedrock, que fornece o modelo de base (FM) do Claude v2 para o processamento de linguagem natural. O serviço processa a análise do K8sGPT para gerar explicações legíveis para seres humanos e oferece sugestões detalhadas de correção com base nos problemas identificados. O Amazon Bedrock funciona como um serviço de IA com tecnologia sem servidor, alta disponibilidade e escalabilidade.
nota
Neste fluxo de trabalho, o IAM controla o acesso entre os componentes por meio de perfis e políticas, gerenciando a autenticação das interações entre o bastion host, o Amazon EKS e o Amazon Bedrock. O IAM implementa o princípio de privilégio mínimo e possibilita a comunicação segura entre os serviços em toda a arquitetura.
Automação e escala
As operações do K8sGpt podem ser automatizadas e escaladas em vários clusters do Amazon EKS por meio de várias ferramentas. Serviços da AWS Essa solução oferece suporte à integração contínua e à integração de implantação contínua (CI/CD) usando Jenkins
Ferramentas
Serviços da AWS
AWS Command Line Interface (AWS CLI) é uma ferramenta de código aberto que ajuda você a interagir Serviços da AWS por meio de comandos em seu shell de linha de comando.
O Amazon Elastic Kubernetes Service (Amazon EKS) ajuda você a executar o AWS Kubernetes sem precisar instalar ou manter seu próprio plano de controle ou nós do Kubernetes.
AWS Identity and Access Management (IAM) ajuda você a gerenciar com segurança o acesso aos seus AWS recursos controlando quem está autenticado e autorizado a usá-los.
Outras ferramentas
O K8sGPT
é uma ferramenta de código aberto com base em IA que transforma o gerenciamento do Kubernetes. Essa ferramenta atua como um especialista virtual em engenharia de confiabilidade de sites (SRE), realizando, de forma automática, verificações, diagnósticos e solução de problemas em clusters do Kubernetes. Os administradores podem interagir com o K8sGPT em linguagem natural e obter insights claros e acionáveis sobre o estado do cluster, as falhas relacionadas ao pod e os problemas do serviço. Os analisadores integrados da ferramenta detectam uma ampla variedade de problemas, desde componentes mal configurados até restrições de recursos, e fornecem explicações e soluções. easy-to-understand
Práticas recomendadas
Implemente controles de acesso seguro usando o AWS Systems Manager Session Manager acesso ao Bastion Host.
Certifique-se de que a autenticação do K8sGPT use perfis do IAM dedicados, com permissões de privilégio mínimo, para as interações com o Amazon Bedrock e com o Amazon EKS. Para obter mais informações, consulte Concessão de privilégio mínimo e nas melhores práticas de segurança na documentação do IAM.
Configure a marcação de recursos, habilite o CloudWatch registro na Amazon para trilhas de auditoria e implemente a anonimização de dados
para informações confidenciais. Mantenha backups regulares das configurações do K8sGPT, ao mesmo tempo em que define agendamentos de verificações automatizadas em horários com demanda reduzida para minimizar o impacto operacional.
Épicos
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Defina o Amazon Bedrock como o provedor de backend de IA para o K8sGPT. | Para definir o Amazon Bedrock como o provedor de back-end de IA r para
O comando de exemplo usa Para verificar se
A seguir, apresentamos um exemplo da saída esperada para este comando:
| AWS DevOps |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Confira uma lista dos filtros disponíveis. | Para ver a lista de todos os filtros disponíveis, use o seguinte AWS CLI comando:
A seguir, apresentamos um exemplo da saída esperada para este comando:
| AWS DevOps |
Realize a verificação de um pod em um namespace específico aplicando um filtro. | Este comando é útil para a depuração de problemas específicos de pods em um cluster do Kubernetes, usando as funcionalidades de IA do Amazon Bedrock para analisar e explicar os problemas encontrados. Para escanear um pod em um namespace específico usando um filtro, use o seguinte comando: AWS CLI
A seguir, apresentamos um exemplo da saída esperada para este comando:
| AWS DevOps |
Realize a verificação de uma implantação em um namespace específico aplicando um filtro. | Este comando é útil para identificar e solucionar problemas específicos da implantação, especialmente quando o estado atual não corresponde ao estado desejado. Para verificar uma implantação em um namespace específico usando um filtro, use o seguinte comando: AWS CLI
A seguir, apresentamos um exemplo da saída esperada para este comando:
| AWS DevOps |
Realize a verificação de um nó em um namespace específico aplicando um filtro. | Para verificar um nó em um namespace específico usando um filtro, use o seguinte comando: AWS CLI
A seguir, apresentamos um exemplo da saída esperada para este comando:
| AWS DevOps |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Obtenha saídas detalhadas. | Para obter resultados detalhados, use o seguinte AWS CLI comando:
A seguir, apresentamos um exemplo da saída esperada para este comando:
| AWS DevOps |
Verifique os pods com problemas. | Para verificar se há pods problemáticos específicos, use o seguinte comando: AWS CLI
A seguir, apresentamos um exemplo da saída esperada para este comando:
| AWS DevOps |
Obtenha insights específicos da aplicação. | Este comando é particularmente útil quando:
Para obter insights específicos da aplicação, use o seguinte comando:
A seguir, apresentamos um exemplo da saída esperada para este comando:
|
Recursos relacionados
Blogs da AWS
AWS documentação
Outros recursos