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


Nesta página, descrevemos 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:

  • Reduza os custos: identifique recursos inativos, dimensione corretamente suas 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 distorção de versão 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.
  • Simplifique a solução de problemas: analise rapidamente os registros e identifique a causa raiz dos erros, economizando tempo e esforço.

Esta página é destinada a 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 papéis comuns e exemplos de tarefas referenciados no conteúdo do Google Cloud , consulte Tarefas e funções de usuário comuns do GKE Enterprise.

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

Custos

  • Gemini: durante o pré-lançamento, não há custo 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.

Perguntar ao Gemini Cloud Assist

É possível invocar o Gemini Cloud Assist no console do Google Cloud . Com o Gemini Cloud Assist, você usa comandos em linguagem natural para receber ajuda com tarefas de forma rápida e eficiente.

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

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

    Acessar o seletor de projetos

  2. No console Google Cloud , 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 até a página relevante. Por exemplo, na página Clusters, o Gemini Cloud Assist pode ajudar você a gerenciar seus clusters, monitorar a integridade deles e resolver problemas. Usar o Gemini em uma página específica do console Google Cloud ajuda a fornecer contexto para suas perguntas. Assim, o Gemini pode usar esse contexto, junto 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 em spark Abrir ou fechar o chat com IA do Gemini na barra de ferramentas.

  4. Se solicitado, e se 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 resolver problemas na seção a seguir.

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

Exemplo de uso do Gemini para resolver problemas

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

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

    Acesse "Cargas de trabalho"

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

  3. Clique na guia Registros.

  4. Clique em spark Abrir ou fechar o chat da Gemini AI na barra de ferramentas.

  5. Insira um comando para descrever o problema que você está enfrentando. 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 e o escopo do impacto, como as operações e os usuários afetados pela latência.

  6. Em seguida, o Gemini pode orientar você a analisar os registros por conta própria e dar sugestões de solução de problemas.

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

Exemplos de comandos para o Gemini Cloud Assist

Esta seção mostra alguns casos de uso reais e sugere os comandos que você pode pedir ao Gemini. As respostas reais que você recebe podem ser genéricas ou personalizadas e práticas com base no estado exclusivo do seu ambienteGoogle Cloud . As respostas podem incluir links do console Google Cloud para revisar e gerenciar seus recursos do Cloud, além de 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 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 com revisões de configuração, como políticas de retenção de registros.
"Quero fazer upgrade do meu cluster do GKE my-docker-cluster. Você tem 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 uma alocação de recursos previsível.
  • Usar namespaces dedicados para isolar cargas de trabalho.
  • Implementar orçamentos de interrupção de pod para garantir que um número mínimo de réplicas de pod 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.
  • Registrar 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. Você tem 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 podem ser usados para 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 distorção de versão nos clusters e sugere ações para manter a compatibilidade de 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 e manter um número mínimo de réplicas de pods em execução durante upgrades ou manutenção planejada.
"Mostre como posso mover minhas cargas de trabalho do namespace Default em my-cluster." Etapas para fazer o seguinte:
  • Prepare um cluster de destino.
  • Migre apps e dados para o cluster de destino.
  • Mude os serviços com tempo de inatividade mínimo.
"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 de pool de nós para executar treinamento distribuído do TensorFlow em grande escala no GKE com GPUs?" As recomendações para otimizar o treinamento distribuído de ML do TensorFlow no GKE podem incluir o seguinte:
  • Selecionar a GPU e os tipos de máquina certos.
  • Ativando o escalonamento automático.
  • Otimizando 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.
"Me dê um exemplo de implantação de um contêiner de disponibilização de modelo no GKE." Um exemplo com código de amostra para implantar um contêiner de exibição de modelo no GKE. O exemplo pode incorporar práticas recomendadas e ajudar 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, utilização de CPU e memória, para gerar insights sobre o desempenho e a integridade da configuração de balanceamento de carga.

Simplificar a solução de problemas

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

Comando Tipo de resposta
"Sobre o que é este erro?
Readiness probe failed: Get "https://10…./abcd": context deadline exceeded (Client.Timeout exceeded while awaiting headers)"
Explica que o kubelet não executou a sondagem 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 o agendamento e a substituição de pods funcionam no Kubernetes. Lista as etapas para resolver o problema de não ter sido encontrada uma vítima de remoção.

A seguir