Ajuste os serviços do GKE com a ajuda do Gemini

Esta página descreve como ajustar as implantações do Google Kubernetes Engine (GKE) para otimizar a performance e a confiabilidade usando o Gemini Cloud Assist, um colaborador com tecnologia de IA para Google Cloud. A assistência do Gemini pode incluir recomendações, geração de código e solução de problemas.

Entre muitos outros benefícios, o Gemini Cloud Assist pode ajudar você a:

  • Reduzir custos: identifique recursos inativos, ajuste o tamanho das implantações e otimize as configurações de escalonamento automático para minimizar gastos desnecessários.
  • Melhorar a confiabilidade e a estabilidade: identifique proativamente possíveis problemas, como incompatibilidade de versões ou orçamentos de interrupção de pods ausentes, para evitar inatividade e garantir a resiliência do aplicativo.
  • Otimizar cargas de trabalho de IA/ML: receba ajuda para implantar, gerenciar e otimizar cargas de trabalho de IA/ML no GKE.
  • Simplificar a solução de problemas: analise rapidamente os registros e identifique a causa raiz dos erros, economizando tempo e esforço.

Esta página é para usuários atuais do GKE, operadores e desenvolvedores que provisionam e configuram recursos de nuvem e implantam apps e serviços. Para saber mais sobre as funções comuns e os exemplos de tarefas mencionados no Google Cloud conteúdo, consulte Funções e tarefas comuns do usuário do GKE.

Saiba como e quando o Gemini para Google Cloud usa seus dados.

Custos

  • Gemini: durante o pré-lançamento, não há custo financeiro para usar o Gemini Cloud Assist.

  • GKE: não há custos adicionais para usar o Gemini Cloud Assist no GKE.

Antes de começar

Para começar a usar o Gemini com o GKE, conclua os pré-requisitos a seguir.

Este guia pressupõe que você tenha um cluster do GKE e, de preferência, algumas implantações em execução.

Faça uma pergunta ao Gemini Cloud Assist

É possível invocar o Gemini Cloud Assist no Google Cloud console. O Gemini Cloud Assist permite usar comandos em linguagem natural para receber ajuda com tarefas de maneira rápida e eficiente.

Para abrir o Cloud Assist em uma página do GKE, siga estas etapas:

  1. No Google Cloud console, na página do seletor de projetos, selecione um Google Cloud projeto em que você ativou o Gemini Cloud Assist.

    Acessar o seletor de projetos

  2. No Google Cloud console, acesse uma página específica no console do Kubernetes Engine.

    Por exemplo, acesse a página Visão geral do Kubernetes Engine.

    Acessar a visão geral do Kubernetes Engine

    Se você tiver uma dúvida sobre um recurso específico, navegue primeiro até a página relevante. Por exemplo, na página Clusters , o Gemini Cloud Assist pode aconselhar você sobre como gerenciar clusters, monitorar a integridade do cluster e solucionar problemas. Usar o Gemini em uma página específica do Google Cloud console ajuda a fornecer contexto para suas perguntas. O Gemini pode usar esse contexto, juntamente com o projeto geral em que você está, para gerar uma assistência mais personalizada e precisa.

  3. Para abrir o painel do Gemini Cloud Assist, clique no brilho Abrir ou fechar o chat com IA do Gemini na barra de ferramentas.

  4. Se solicitado e você concordar com os termos, clique em Aceitar.

  5. Insira um comando no painel do Gemini. Consulte um exemplo de fluxo de trabalho de uso do Gemini para solucionar problemas na seção a seguir.

Para mais informações sobre como usar o Gemini no Google Cloud console, consulte Usar o Gemini Cloud Assist.

Exemplo de uso do Gemini para solucionar problemas

O Gemini pode ajudar você a solucionar problemas nos serviços do GKE.

  1. Acesse a página Cargas de trabalho no Google Cloud console.

    Acessar "Cargas de trabalho"

  2. Selecione a carga de trabalho que você quer solucionar.

  3. Clique na guia Registros.

  4. Clique no brilho Abrir ou fechar o chat com IA do Gemini na barra de ferramentas.

  5. Insira um comando para descrever o problema que você está tendo. Por exemplo, "Meu aplicativo de banco de dados accounts-db está com alta latência". O Gemini pode pedir mais contexto, como o tipo de banco de dados, o escopo do impacto, como as operações e os usuários afetados pela latência.

  6. O Gemini pode fornecer orientações para analisar os registros e oferecer sugestões de solução de problemas.

  7. Analise e siga as sugestões para resolver o problema.

Exemplos de comandos do Gemini Cloud Assist

Esta seção mostra alguns casos de uso reais e sugere os comandos que você pode tentar perguntar ao Gemini. As respostas reais que você recebe podem ser genéricas, ou podem ser personalizadas e acionáveis com base no estado exclusivo do seu Google Cloud ambiente. As respostas podem incluir Google Cloud links do console para revisar e gerenciar seus recursos do Cloud e links para a documentação relevante para mais informações.

Reduza os custos

A tabela a seguir descreve os comandos que você pode usar para ajudar a reduzir custos.

Comando Tipo de resposta
"Como posso economizar nos meus clusters do GKE sem sacrificar a performance?"
  • Recomendações que identificam e sugerem a remoção de recursos subutilizados, como clusters inativos.
  • Conselhos sobre como ativar ou ajustar mecanismos de escalonamento automático.
  • Sugestões que destacam possíveis economias por meio de revisões de configuração, como políticas de retenção de registros.
"Quero fazer upgrade do meu cluster do GKE my-docker-cluster. Alguma recomendação?" Sugestões para implementar configurações e práticas recomendadas específicas do Kubernetes, por exemplo:
  • Definir solicitações e limites de recursos para pods para ajudar a garantir a alocação de recursos previsível.
  • Usar namespaces dedicados para isolar cargas de trabalho.
  • Implementar orçamentos de interrupção de pods para ajudar a garantir que um número mínimo de réplicas de pods esteja disponível durante interrupções voluntárias, como manutenção ou upgrades de nós.
  • Programar janelas de manutenção para gerenciar interrupções planejadas e minimizar o tempo de inatividade inesperado.
  • Inscrever clusters em canais de lançamento para gerenciar upgrades de versão do GKE.
"Tenho um grande pico de tráfego chegando em algumas semanas no cluster my-docker-cluster. Alguma recomendação?"
  • Estratégias para escalonar o número de pods de aplicativos usando o escalonador automático horizontal de pods.
  • Estratégias para aumentar os recursos (CPU, memória) por pod usando o escalonador automático vertical de pods.
"Quais das minhas cargas de trabalho do GKE não têm o HPA ativado?" A lista de cargas de trabalho que não têm o escalonador automático horizontal de pods ativado.

Melhorar a confiabilidade e a estabilidade

A tabela a seguir descreve os comandos que você pode usar para ajudar a melhorar a confiabilidade e a estabilidade das cargas de trabalho do GKE.

Comando Tipo de resposta
"Como posso tornar meus clusters do GKE mais confiáveis e evitar inatividade?"
  • Identifica a incompatibilidade de versões nos clusters e sugere ações para manter a compatibilidade da versão do Kubernetes.
  • Fornece recomendações para implementar o isolamento de recursos.
  • Fornece recomendações para configurar orçamentos de interrupção de pods para manter um número mínimo de réplicas de pods em execução durante a manutenção ou upgrades planejados.
"Mostre como posso mover minhas cargas de trabalho do namespace Default em my-cluster." Etapas para fazer o seguinte:
  • Preparar um cluster de destino.
  • Migrar apps e dados para o cluster de destino.
  • Alternar os serviços com o mínimo de inatividade.
"Como posso garantir a alta disponibilidade dos meus pods em execução?"
  • Um procedimento detalhado que especifica uma implantação que usa podAntiAffinity e várias réplicas para redundância.
  • Sugestões para definir solicitações e limites de recursos e usar o escalonamento automático horizontal de pods.

Otimizar o GKE para cargas de trabalho de IA/ML

A tabela a seguir descreve os comandos que você pode usar para receber ajuda com a implantação, o gerenciamento e a otimização de cargas de trabalho de IA/ML no GKE.

Comando Tipo de resposta
"Quais são as configurações recomendadas do pool de nós para executar o treinamento distribuído do TensorFlow em grande escala no GKE com GPUs?" As recomendações para otimizar o treinamento de ML distribuído do TensorFlow no GKE podem incluir o seguinte:
  • Selecionar os tipos de GPU e máquina certos.
  • Ativar o escalonamento automático.
  • Otimizar a conectividade de rede.
  • Aproveitar frameworks de treinamento distribuído.
  • Implementar medidas de economia de custos.
"Como uso GPUs no GKE para treinamento?" Visão geral das etapas e considerações para configurar um cluster e cargas de trabalho para usar GPUs.
Dê um exemplo de como implantar um contêiner de disponibilização de modelo no GKE. Um exemplo com exemplo de código para implantar um contêiner de disponibilização do modelo no GKE. O exemplo pode incorporar práticas recomendadas e ajuda a garantir a escalonabilidade.
"Quais métricas devo acompanhar para avaliar a eficácia da minha configuração de balanceamento de carga para inferência?" A lista de métricas, como distribuição de tráfego, latência, taxas de erro, CPU e uso de memória, para ter insights sobre a performance e a integridade da configuração de balanceamento de carga.

Simplifique a solução de problemas

A tabela a seguir descreve os comandos que você pode usar para ajudar a analisar rapidamente os registros e identificar a causa raiz dos erros, economizando tempo e esforço.

Comando Tipo de resposta
"Sobre o que é esse erro?
Readiness probe failed: Get "https://10…./abcd": context deadline exceeded (Client.Timeout exceeded while awaiting headers)"
Explica que o kubelet não conseguiu executar o probe de prontidão para o contêiner dentro do período de tempo limite definido e sugere possíveis causas e ações de solução de problemas.
"Por que minha implantação nettools está falhando com o erro ping: socket: Operation not permitted?" Explica que o comando ping exige a capacidade de contexto de segurança CAP_NET_RAW e que, por padrão, os contêineres no Kubernetes são executados com um conjunto restrito de recursos por motivos de segurança.
"O que significa quando meu pod não pode ser programado devido ao erro Cannot schedule pods: No preemption victims found for incoming pod." Explica como a programação e a preempção de pods funcionam no Kubernetes. Lista as etapas para solucionar o problema de por que nenhuma vítima de preempção foi encontrada.

A seguir