2.3 - Tolerância à Falhas
O Openshift garante que a quantidade de instâncias (PODs) definidas para uma aplicação seja respeitada. O responsável por fazer este controle é o Replication Controller.
Neste laboratório vamos testar esse recurso.
Scale up
Selecione a seta para cima na lateral do pod, escalando para 2 pods no total.

Enquanto o círculo estiver na cor cinza, indica que está sendo provisionado.
Quando o círculo estiver colorido de azul significa que o novo foi corretamente provisionado e já está pronto para receber novas requisições.
Estes novos PODs são imediatamente incluídos no balanceamento de carga. Se estiver usando o browser para testar o balanceamento certifique-se de apagar o cookie pois este é utilizado para afinidade de sessão (sticky session).
Self Healing
Para testar o comportamento vamos deletar um POD em execução, o intuito é simular uma falha.

Selecione um dos pods, no menu superior direito selecione a opção Actions > Delete e confirme a operação.
Selecione a opção Overview no menu lateral esquerdo e veja que um novo pod será recriado.
Este comportamento evita aquele caso clássico de precisar ligar para alguém de operações para reiniciar a aplicação em um caso de falha
Quando o POD é deletado, o Openshift o recupera automaticamente como pode ser visto no video abaixo. Nesse exemplo, um POD novo é criado (cor azul claro) e outro está sendo finalizado (cor azul escuro) mas sempre mantendo a quantidade de 2 instâncias rodando.

Também podemos deletar um POD usando a linha de comando:
oc delete po <nome do pod>

Na tela de monitoramento, também é refletido que um container foi eliminado e outro foi criado para substituir o antigo. Veja:

Repare que o ID do container mudou pois foi realizada uma nova criação de POD.
Limpeza do ambiente
Agora podemos apagar essa aplicação já que não a utilizaremos mais. O comando abaixo executa essa limpeza:
oc delete all -l app=workshop-openshift -n <nome do seu projeto do openshift>

Ao fim desse lab, sua tela do Openshift deve estar conforme imagem abaixo:

Last updated