Neste tutorial, mostramos como usar Gemini para Google Cloud, uma solução com tecnologia de IA colaborador no Google Cloud, para criar, testar e modificar Cluster do Google Kubernetes Engine (GKE) no Autopilot. Você verá como O Gemini pode ajudar a implantar um app simples no cluster e a criar um janela de manutenção diária do app. Este tutorial é destinado a engenheiros de qualquer nível de experiência.
Objetivos
- Conheça vários serviços do Google que podem ser usados para implantar um app em ao GKE fazendo perguntas baseadas em contexto ao Gemini.
- Peça ao Gemini para fornecer comandos que podem ser usados para implantar um modelo em um cluster do GKE.
- Criar, analisar e modificar 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 permanente no Google Cloud que está sempre disponível oferece assistência com tecnologia de IA generativa para uma ampla gama de usuários, incluindo desenvolvedores e cientistas de dados. Oferecer uma assistência integrada experiência do usuário, o Gemini está incorporado em muitos produtos do Google Cloud.
Antes de começar
- Ative o API GKE.
- Verifique se o Gemini está configurado para sua conta de usuário e seu projeto do Google Cloud.
Conheça o Kubernetes no Google Cloud
Para o exemplo a seguir, considere que você é um administrador de infraestrutura que é responsável por configurar a infraestrutura de uma equipe que desenvolve um para o aplicativo. A organização como um todo padronizou o uso de contêineres e Kubernetes, então a equipe quer entender como executar o aplicativo da Web em Kubernetes no Google Cloud. A equipe também quer o mínimo de infraestrutura o máximo possível do overhead de gerenciamento.
No console do Google Cloud, converse com o Gemini para receber ajuda. Usar o Gemini, você insere comandos, que são perguntas ou declarações que descreva a ajuda que você precisa, e o Gemini retorna respostas. O Gemini não usa seus comandos ou as respostas como dados para treinar o modelo. Para mais informações, ver Como o Gemini para Google Cloud usa seus dados.
Para mais informações sobre como escrever comandos para gerar boas respostas, consulte Escrever 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 em spark Abrir Gemini (em inglês).
No painel Gemini, insira o comando abaixo com base no seu 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?
A resposta do Gemini pode ser assim:
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 criação de clusters do GKE no modo Autopilot usando o Terraform, digite seguinte comando:
Can you use Terraform to provision GKE clusters in Autopilot mode?
A resposta do Gemini pode ser assim:
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 Depois, 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
Você não sabe como executar o Kubernetes usando o GKE no Autopilot modo Antes de provisionar um cluster para seus desenvolvedores, você decide testar o GKE no modo Autopilot primeiro. Nesta seção, você vai pedir a ajuda do Gemini 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 abaixo e clique em Enviar:
How do I create a GKE Autopilot cluster?
O Gemini responde com as instruções para criar um cluster usando o o console e a Google Cloud CLI.
Quando você vê uma resposta que inclui valores de marcador, como CLUSTER_NAME, REGION e PROJECT_ID, adicionando essas informações ao comando pode gerar respostas ainda mais úteis. Refine o comando novamente com mais opções detalhe:
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 do Gemini, abra o Cloud Shell e execute o comando
gcloud
anterior na resposta.Após 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, quer
teste a execução de um aplicativo da Web de amostra semelhante ao aplicativo que sua equipe
executar nessa infraestrutura. Internamente, você vê a seguinte imagem de contêiner
do Google favoritas 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 abaixo 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?
O 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 à Internet.
No painel Gemini, insira o comando abaixo 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 foi extrair o nome de implantação
hello-server
da conversa o histórico sem que ele seja incluído no comando.Agora você quer ver se o servidor da Web está em execução e atendendo solicitações corretamente. Para acessar o aplicativo implantado, recupere o endereço IP externo do serviço Kubernetes que você criou.
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 uma 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 seu 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 Autopilot modo No entanto, antes de fazer a equipe usar o Autopilot do GKE, você precisa quiser configurar um horário para a manutenção ou os upgrades do cluster.
Você sabe que os padrões de tráfego dos usuários do aplicativo da Web da sua equipe é diurna. Como o Gemini comunicou que o GKE Autopilot cuida manutenção do cluster, determine que essa manutenção acontece 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 durante app está fora do horário comercial 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 passar por manutenção durante os horários de menor movimento para os usuários. Você já pode recomendar o Autopilot do GKE para sua equipe de aplicativos da Web.
Limpar
Para evitar cobranças dos recursos usados na conta do Google Cloud Neste tutorial, é possível excluir o projeto do Google Cloud que você criou neste tutorial. A outra opção é excluir os recursos individuais.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
A seguir
- Leia as Informações gerais do Gemini para Google Cloud.
- Saiba mais sobre Cotas e limites do Gemini.
- Saiba mais sobre locais do Gemini.