Neste tutorial, mostramos como usar o Gemini para o Google Cloud, um colaborador com tecnologia de IA no Google Cloud, para criar, testar e modificar um cluster do Google Kubernetes Engine (GKE) no Autopilot. Você verá como o Genmini pode ajudar a implantar um app simples no cluster e criar uma janela de manutenção diária para o app. Este tutorial é destinado a engenheiros de qualquer nível de experiência.
Objetivos
- Explore vários serviços do Google que podem ser usados para implantar um aplicativo no GKE fazendo perguntas baseadas no contexto do Gemini.
- Peça ao Gemini para fornecer comandos que podem ser usados para implantar um app básico em um cluster do GKE.
- Crie, analise e modifique o cluster do GKE usando o Gemini para explicar e gerar os comandos do shell.
Produtos do Google Cloud usados
Neste tutorial, usamos os seguintes produtos faturáveis do Google Cloud. Use a calculadora de preços para gerar uma estimativa de custo baseada na projeção de uso.
GKE. O GKE é um serviço gerenciado do Kubernetes que permite implantar e gerenciar aplicativos conteinerizados em escala. Para informações sobre preços, consulte Preços do GKE.
Gemini. O Gemini é um colaborador sempre ativo no Google Cloud que oferece assistência com tecnologia de IA generativa para uma ampla variedade de usuários, incluindo desenvolvedores e cientistas de dados. Para oferecer uma experiência de assistência integrada, o Gemini é incorporado a muitos produtos do Google Cloud.
Antes de começar
- Ative a API GKE.
- Verifique se o Gemini está configurado para sua conta de usuário e projeto do Google Cloud.
Conheça o Kubernetes no Google Cloud
Para o exemplo a seguir, considere que você é um administrador de infraestrutura responsável por configurar a infraestrutura para uma equipe que desenvolve um aplicativo da Web. A organização em geral padronizou o uso de contêineres e do Kubernetes. Portanto, a equipe quer entender como executar o aplicativo da Web no Kubernetes no Google Cloud. A equipe também quer o mínimo possível de overhead de gerenciamento de infraestrutura.
No console do Google Cloud, você pode conversar com o Gemini para receber ajuda. No painel Gemini, você insere solicitações, que são perguntas ou declarações que descrevem a ajuda que você quer, e o Gemini retorna respostas. Gemini não usa seus comandos ou suas respostas como dados para treinar o modelo. Para mais informações, consulte Como o Gemini para o Google Cloud usa seus dados.
Para mais informações sobre como escrever comandos para gerar boas respostas, consulte Criar comandos melhores para o Gemini.
Para solicitar que o Gemini ajude você a decidir como executar o Kubernetes no Google Cloud, siga estas etapas:
Na barra de ferramentas do console do Google Cloud, clique no spark Abrir o Gemini.
No painel Gemini, insira o comando a seguir com base nos seus requisitos e preferências e clique em Enviar:
How can I run Kubernetes on Google Cloud without having to own management of nodes and the control plane?
Gemini pode ser a seguinte:
To run Kubernetes on Google Cloud without having to own management of nodes and the control plane, you can use Google Kubernetes Engine (Google Kubernetes Engine (GKE)) in Autopilot. In Autopilot mode, Google manages the control plane and system components for you, and also manages your worker nodes.
Digite uma pergunta complementar. Por exemplo, se você quiser padronizar a criação de clusters do GKE no modo Autopilot usando o Terraform, insira o comando abaixo:
Can you use Terraform to provision GKE clusters in Autopilot mode?
Gemini pode ser a seguinte:
Yes, you can use Terraform to provision GKE clusters in Autopilot mode. Terraform is a tool that can be used to create and manage infrastructure on Google Cloud Platform. Find more information for your question here: https://cloud.google.com/blog/products/containers-kubernetes/partner-devops-and-security-solutions-for-gke-autopilot
Opcional: se o histórico de chat não for relevante para o que você vai perguntar em seguida, redefina o histórico de chat. No painel Gemini, clique no ícone excluir e selecione Redefinir chat.
Criar um cluster do GKE no modo Autopilot
Considere que você não sabe executar o Kubernetes usando o GKE no modo Autopiloto. Antes de provisionar um cluster para seus desenvolvedores, você decide testar o GKE no modo Autopilot primeiro. Nesta seção, você vai solicitar o Gemini para ajudar na criação e execução de um app da Web de teste em um cluster do GKE no modo Autopilot.
No painel Gemini, insira o comando a seguir e clique em Enviar:
How do I create a GKE Autopilot cluster?
Gemini responde com as instruções para criar um cluster usando o console do Google Cloud e a Google Cloud CLI.
Quando você vê uma resposta que inclui valores de marcador como CLUSTER_NAME, REGION e PROJECT_ID, adicionar essas informações ao comando pode gerar respostas ainda mais úteis. Refine o comando novamente com mais detalhes:
What is the command to create a GKE Autopilot cluster in my current project named gemini-demo in the us-central region using the gcloud CLI?
O Gemini retorna uma resposta parecida com:
gcloud container clusters create-auto gemini-demo --region us-central1
Para usar o comando fornecido pelo Gemini, abra o Cloud Shell e execute o comando
gcloud
anterior na resposta.Depois de alguns minutos, o cluster do Autopilot do GKE vai estar pronto para uso.
Implantar um aplicativo da Web de amostra
Agora que você criou um cluster do GKE no modo Autopilot, teste
a execução de um aplicativo da Web de amostra semelhante ao aplicativo que sua equipe vai
executar na infraestrutura. Internamente, você encontra a seguinte imagem de contêiner do Google adicionada aos favoritos para testar um aplicativo da Web conteinerizado: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
.
No painel Gemini, insira o comando a seguir e clique em Enviar:
What is the kubectl command to create a deployment called hello-server for the image us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0?
Gemini retorna uma resposta semelhante a esta:
To create a deployment called hello-server for the image us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0, you can use the following kubectl command: kubectl create deployment hello-server --image=us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
Execute o comando
kubectl
anterior no Cloud Shell.Com o servidor da Web criado, você decide testar o provisionamento de um balanceador de carga na frente do servidor da Web para expô-lo na Internet.
No painel Gemini, insira o comando a seguir e clique em Enviar:
What is the kubectl command to expose this deployment on port 80 with a load balancer?
O Gemini retorna uma resposta parecida com:
To expose the hello-server deployment on port 80 with a load balancer, you can use the following kubectl expose command: kubectl expose deployment hello-server \ --type LoadBalancer \ --port 80 \ --target-port 8080
A execução desse comando cria um balanceador de carga do Compute Engine para o contêiner.
Embora fornecer mais contexto seja sempre útil, observe como o Gemini conseguiu extrair o nome de implantação
hello-server
do histórico de conversas sem que ele estivesse incluído no comando.Agora você quer ver se o servidor da Web está sendo executado e exibindo as solicitações corretamente. Para visualizar o aplicativo implantado, recupere o endereço IP externo do serviço do Kubernetes criado.
Insira o seguinte comando:
What is the kubectl command to see the external IP address associated with this load balancer?
O Gemini retorna uma resposta parecida com:
To see the external IP associated with a load balancer, you can use the following kubectl command: kubectl get service hello-server -w This will output the name of the service, the type of service, the cluster IP address, the external IP address, and the ports that the service is listening on.
Após alguns minutos, a execução do comando
kubectl
anterior vai gerar um resultado semelhante a:NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-server LoadBalancer 34.118.227.57 35.225.15.112 80:31473/TCP 6m18s
Agora é possível acessar o aplicativo da Web em execução no GKE usando o valor retornado para EXTERNAL-IP.
Planejar uma estratégia de upgrade do cluster
Você testou o caso de uso principal da sua equipe em um cluster do GKE no modo Autopiloto. No entanto, antes de continuar usando o Autopilot do GKE, configure um horário para manutenção ou upgrades do cluster.
Você sabe que os padrões de tráfego dos usuários do aplicativo da Web da sua equipe são diários. Como o Gemini informou que o Autopilot do GKE lida com a manutenção do cluster para você, convém ditar que essa manutenção ocorre fora dos horários de maior movimento do seu aplicativo da Web.
Insira o seguinte comando:
How can I configure periods of time where GKE Autopilot won't perform maintenance or upgrades on my cluster nodes?
O Gemini retorna uma resposta parecida com:
To configure periods of time where GKE Autopilot won't perform maintenance or upgrades on your cluster nodes, you can use maintenance windows and exclusions. Maintenance windows are periods of time when GKE Autopilot is allowed to perform maintenance and upgrades on your cluster nodes. You can specify a maintenance window for your cluster when you create it, or you can update an existing cluster to specify a maintenance window. Maintenance exclusions are periods of time when GKE Autopilot is not allowed to perform maintenance or upgrades on your cluster nodes. You can create a maintenance exclusion for your cluster when you create it, or you can update an existing cluster to create a maintenance exclusion. To create a maintenance window or a maintenance exclusion, you can use the Google Cloud console, the gcloud CLI, or the Kubernetes API.
Você decide criar uma janela de manutenção diária fora do horário comercial do seu aplicativo da Web usando
gcloud
. Insira o seguinte comando:How can I create a daily maintenance window from 22:00 to 02:00 using `gcloud` for my GKE Autopilot cluster named gemini-demo?
O Gemini retorna uma resposta parecida com:
To create a daily maintenance window using gcloud CLI for your gemini-demo GKE Autopilot cluster that goes from 22:00 to 02:00, you can use the following command: gcloud container clusters update gemini-demo \ --maintenance-window-start 22:00 \ --maintenance-window-end 02:00 \ --maintenance-window-recurrence "FREQ=DAILY" This command will create a daily maintenance window that runs from 22:00 to 02:00 UTC time zone.
A execução desse comando garante que a infraestrutura provisionada para sua equipe passe por manutenção durante os horários de menor movimento para seus usuários. Está tudo pronto para avançar com a recomendação do GKE Autopilot para sua equipe de aplicativos da Web.
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste tutorial, exclua o projeto do Google Cloud criado para este tutorial. A outra opção é excluir os recursos individuais.
- No Console do Google Cloud, acesse a página Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
- Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.
A seguir
- Leia Visão geral do Genmini para Google Cloud.
- Saiba mais sobre cotas e limites do Gemini.
- Saiba mais sobre os locais do Gemini.