Exercício – Comprovar a resiliência do microsserviço no Kubernetes
- 3 minutos
Um dos benefícios do Kubernetes é o suporte para o gerenciamento de configuração declarativo. Os serviços que você definir nos arquivos de configuração são mantidos a qualquer custo.
Isso significa que, se houver uma falha, o Kubernetes reiniciará automaticamente os serviços que estavam em execução antes da falha.
Vejamos essa resiliência em ação excluindo o pod storefrontend e verificando se o Kubernetes o reiniciou.
Primeiro, no TERMINAL no codespace, execute
kubectl get podse anote o nome, incluindo a cadeia de caracteres aleatória, do podstorefrontend. Veja um exemplo de saída:@user-name /workspaces/eShopLite % kubectl get pods NAME READY STATUS RESTARTS AGE productsbackend-7445bdb5c9-pnpk6 1/1 Running 0 31m storefrontend-5b6cc765c4-hjpx4 1/1 Running 0 63mAgora, exclua o pod
storefrontendusando o comandokubectl delete. Você precisa especificar o nome completo do pod, incluindo a cadeia de caracteres aleatória.kubectl delete pod storefrontend-5b6cc765c4-hjpx4Você recebe uma mensagem imediatamente informando que o pod foi excluído.
Como o Kubernetes mantém o estado do sistema conforme declarado nos arquivos de configuração, ele inicia imediatamente outra instância do pod. Verifique isso executando
kubectl get pods.@user-name /workspaces/eShopLite % kubectl get pods NAME READY STATUS RESTARTS AGE productsbackend-7445bdb5c9-pnpk6 1/1 Running 0 31m storefrontend-5b6cc765c4-vwmv8 1/1 Running 0 7sObserve que a cadeia de caracteres aleatória após o nome
storefrontendé alterada, indicando que o pod é uma nova instância. Além disso, o valor de AGE também é consideravelmente menor.
Neste exercício, você aprendeu como o Kubernetes mantém automaticamente o estado do sistema declarado, ainda que ocorra uma falha.