Como fazer rollback de deployments no kubernetes
Sempre falo bastante sobre estrategias de CI/CD, uso do Auto DevOps do gitlab e como o kubernetes é legal. Mas, o que muito ocorre e pouco se fala, é: O que fazer quando da ruim e preciso fazer rollback rapidão?Eu achei um artigo bem detalhado e que explica tudo muito bem, mas para aqueles que pulam para a flag verde no stackoverflow, vou resumir colocando os passos para operar um rollback de um deployment no kubernetes.
Bora lá
Vou partir da premissa que você já usa o kubectx e o kubens (por favor!) e também que nosso deployment possui o nome "app".Seguem os passos:
# "acessar" o clusterkubectx [cluster]
# "acessar" o namespace
kubens [namespace]
# verificar os deployments do namespace
kubectl get deployments
# verifica a revisão (versão) do deployment que quero operar um rollback
kubectl describe deployment/app | grep deployment.kubernetes.io/revision:
# verificar o histórico de revisões (versões) do deployment que desejo fazer rollback
kubectl rollout history deployment/app
# faço rollback pra revisão que desejo
kubectl rollout undo deployment/app --to-revision=25
# acompanho e aguardo os pods e o deployment ficarem disponíveis
kubectl get deployments,pods
# verifico se a revisão foi alterada (vai incrementar)
kubectl describe deployment/app | grep deployment.kubernetes.io/revision: