Checkpoints
Create cluster and deploy an app
/ 40
Migrate to an Optimized Nodepool
/ 20
Apply a Frontend Update
/ 20
Autoscale from Estimated Traffic
/ 20
Optimize Costs for Google Kubernetes Engine: laboratório com desafio
- GSP343
- Introdução
- Configuração e requisitos
- Cenário do desafio
- Tarefa 1: crie um cluster e implante seu app
- Tarefa 2: migre para um pool de nós otimizado
- Tarefa 3: aplique uma atualização de front-end
- Tarefa 4: faça o escalonamento automático do tráfego estimado
- Tarefa 5 (opcional): otimize outros serviços
- Parabéns!
GSP343
Introdução
Nos laboratórios com desafio, apresentamos uma situação e um conjunto de tarefas. Para concluí-las, em vez de seguir instruções detalhadas, você usará o que aprendeu nos laboratórios do curso. Um sistema automático de pontuação (mostrado nesta página) vai avaliar seu desempenho.
Nos laboratórios com desafio, não ensinamos novos conceitos do Google Cloud. O objetivo dessas tarefas é aprimorar aquilo que você já aprendeu, como a alteração de valores padrão ou a leitura e pesquisa de mensagens para corrigir seus próprios erros.
Para alcançar a pontuação de 100%, você precisa concluir todas as tarefas no tempo definido.
Recomendamos este laboratório somente para estudantes que se inscreveram no curso Optimize Costs for Google Kubernetes Engine. Tudo pronto para começar o desafio?
Configuração e requisitos
Antes de clicar no botão Start Lab
Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é iniciado quando você clica em Começar o laboratório e mostra por quanto tempo os recursos do Google Cloud vão ficar disponíveis.
Este laboratório prático permite que você realize as atividades em um ambiente real de nuvem, não em uma simulação ou demonstração. Você vai receber novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.
Confira os requisitos para concluir o laboratório:
- Acesso a um navegador de Internet padrão (recomendamos o Chrome).
- Tempo para concluir o laboratório---não se esqueça: depois de começar, não será possível pausar o laboratório.
Cenário do desafio
Você é o principal administrador do Google Kubernetes Engine em uma equipe que gerencia a loja on-line da empresa OnlineBoutique.
Está tudo pronto para implantar o site da sua equipe no Google Kubernetes Engine, mas você ainda está procurando maneiras de garantir que os custos permaneçam baixos e que o desempenho continue alto.
Você vai ser responsável por implantar o app OnlineBoutique no GKE e fazer algumas mudanças de configuração recomendadas para otimizar os custos.
Confira algumas diretrizes que você precisa seguir durante a implantação:
- Crie o cluster na zona
. - O esquema de nomenclatura é equipe-recurso-número. Por exemplo, o nome de um cluster pode ser
. - Para o cluster inicial, comece com o tamanho de máquina
e2-standard-2 (2 vCPUs, 8GB de memória)
. - Configure o cluster para usar o
release-channel
rápido.
Tarefa 1: crie um cluster e implante seu app
-
Antes de implantar o aplicativo, você precisa criar um cluster na zona
e nomeá-lo como . -
Vá aos poucos e crie um cluster zonal com apenas dois (2) nós.
-
Antes de implantar a loja, configure alguns namespaces para separar os recursos no cluster de acordo com os dois ambientes:
dev
eprod
. -
Em seguida, implante o aplicativo no namespace
dev
com o comando a seguir:
Clique em Verificar meu progresso para conferir o objetivo.
Tarefa 2: migre para um pool de nós otimizado
- Após implantar o app no namespace "dev", confira os detalhes do nó:
Você chega à conclusão de que deve fazer alterações no pool de nós do cluster:
- Com a grande quantidade de RAM restante das últimas implantações, você deve conseguir usar um pool de nós em máquinas com menos RAM.
- Se você decidir aumentar a contagem de réplicas, a maioria das implantações exigirá apenas 100 mcpu por pod adicional. Se o pool de nós for configurado para usar máquinas menores, será possível utilizá-lo com um total de CPU menor. No entanto, você também precisa considerar quantas implantações vão precisar ser escalonadas e qual deve ser a intensidade disso.
-
Crie um novo pool de nós com o nome
e com o tipo de máquina custom-2-3584. -
Defina a quantidade de nós como 2.
-
Assim que o novo pool de nós for configurado, restrinja e diminua o
default-pool
para migrar as implantações do seu aplicativo para o novo pool de nós. -
Exclua o default-pool assim que a migração das implantações for concluída com segurança.
Clique em Verificar meu progresso para conferir o objetivo.
Tarefa 3: aplique uma atualização de front-end
Você acabou de fazer todas as implantações, e a equipe de desenvolvimento pediu para você enviar uma atualização de última hora antes do próximo lançamento. Não tem problema. Você sabe que isso pode ser feito sem causar inatividade.
-
Defina um orçamento de interrupção de pods para a implantação do front-end.
-
Dê ao orçamento o nome onlineboutique-frontend-pdb.
-
Defina a min-availability da implantação como 1.
Agora é possível aplicar a atualização da sua equipe. Seus colegas mudaram o arquivo usado no banner da página inicial e forneceram uma imagem Docker atualizada:
-
Edite sua implantação do front-end e mude a imagem dela para a versão atualizada.
-
Ao editar sua implantação, mude a ImagePullPolicy para Always.
Clique em Verificar meu progresso para conferir o objetivo.
Tarefa 4: faça o escalonamento automático do tráfego estimado
O lançamento de uma campanha de marketing vai causar um aumento no tráfego da loja da OnlineBoutique. Normalmente, você prepararia recursos extras com antecedência para lidar com o pico de tráfego estimado. No entanto, se o pico de tráfego for maior do que o esperado, você poderá perder horas de sono tendo que preparar mais recursos para lidar com a demanda.
Parte do seu objetivo também é evitar o uso de recursos extras por mais do que o necessário. Para diminuir os custos e evitar problemas, configure as implantações do Kubernetes para que escalonem automaticamente assim que a carga começar a subir.
-
Aplique o escalonamento automático horizontal de pods na sua implantação do front-end para lidar com o aumento do tráfego.
-
Escalone com base em uma meta de CPU de 50%.
-
Defina o escalonamento de pods entre o mínimo de 1 e o máximo de
.
É importante garantir que os usuários não enfrentem inatividade durante o escalonamento da implantação.
-
Para evitar esse problema, configure o escalonamento da implantação com uma meta de CPU de 50%. Isso deve garantir espaço de sobra para lidar com a carga durante o escalonamento automático.
-
Configure o escalonamento da implantação com o mínimo de 1 e o máximo de
pods.
E se o pico for maior do que os recursos de computação provisionados? Será necessário adicionar mais nós de computação.
-
Em seguida, verifique se o cluster é capaz de preparar mais nós de computação automaticamente caso seja necessário. No entanto, o escalonamento automático pode lidar com casos além do escalonamento vertical.
-
Pensando no futuro, você configura uma quantidade mínima e máxima de nós. Assim, o cluster pode adicionar nós quando o tráfego estiver alto e reduzir a quantidade de nós na situação contrária.
-
Atualize seu escalonador automático de clusters para escalonar com o mínimo de 1 e o máximo de 6 nós.
Clique em Verificar meu progresso para conferir o objetivo.
- Por fim, execute um teste de carga para simular o aumento do tráfego.
Felizmente, a OnlineBoutique foi projetada com uma geração de carga integrada. No momento, a instância de desenvolvimento está simulando tráfego na loja com cerca de 10 usuários simultâneos.
- Para replicar melhor o tráfego esperado para este evento, execute o comando de geração de carga no pod
loadgenerator
com um número maior de usuários simultâneos. Substitua YOUR_FRONTEND_EXTERNAL_IP pelo IP do serviço externo do front-end:
- Observe suas cargas de trabalho e monitore como o cluster lida com o pico de tráfego.
É possível que você veja falhas no recommendationservice
ou, pelo menos, tendo dificuldades com o aumento da demanda.
- Aplique o escalonamento automático horizontal de pods à implantação recommendationservice. Escalone com base em uma meta de CPU de 50% e defina o escalonamento entre o mínimo de 1 e o máximo de 5 pods.
Tarefa 5 (opcional): otimize outros serviços
Mesmo que a aplicação do escalonamento automático horizontal de pods no serviço de front-end mantenha seu aplicativo disponível durante o teste de carga, se você monitorar suas outras cargas de trabalho, vai perceber que algumas estão usando muito certos recursos.
Se você ainda tiver tempo disponível no laboratório, inspecione outras cargas de trabalho e tente otimizá-las com o escalonamento automático para a métrica adequada de recursos.
Também verifique a possibilidade de otimizar ainda mais o uso dos seus recursos com o Provisionamento automático de nós.
Parabéns!
Parabéns! Neste laboratório, você implantou o app OnlineBoutique no Google Kubernetes Engine e fez algumas mudanças de configuração recomendadas para otimizar os custos. Você também aplicou o escalonamento automático horizontal de pods às implantações de front-end e de recommendationservice para lidar com o aumento do tráfego. Você ainda otimizou outros serviços aplicando escalonamento automático à métrica adequada de recursos.
Conquiste seu próximo selo de habilidade
Este laboratório autoguiado faz parte do curso com selo de habilidade Optimize Costs for Google Kubernetes Engine. Ao concluir o curso, você ganha o selo acima como reconhecimento pela sua conquista. Compartilhe o selo no seu currículo e nas redes sociais e use #GoogleCloudBadge para anunciar sua conquista.
Treinamento e certificação do Google Cloud
Esses treinamentos ajudam você a aproveitar as tecnologias do Google Cloud ao máximo. Nossas aulas incluem habilidades técnicas e práticas recomendadas para ajudar você a alcançar rapidamente o nível esperado e continuar sua jornada de aprendizado. Oferecemos treinamentos que vão do nível básico ao avançado, com opções de aulas virtuais, sob demanda e por meio de transmissões ao vivo para que você possa encaixá-las na correria do seu dia a dia. As certificações validam sua experiência e comprovam suas habilidades com as tecnologias do Google Cloud.
Manual atualizado em 29 de abril de 2024
Laboratório testado em 29 de abril de 2024
Copyright 2024 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.