
Alguém poderia fazer a gentileza de me indicar a documentação que explica o seguinte fenômeno?
Quando executamos kubectl run --rm --stdin --tty --image hello-world hello-pod
, ele é reiniciado automaticamente pelo Kubernetes. Por que o Kubernetes se esquece de excluí-lo?
Ao mesmo tempo, se executarmos kubectl run --rm --stdin --tty --image busybox busy-pod
, ele será excluído automaticamente (o que parece bastante legítimo).
Qualquer sugestão é apreciada. Obrigado.
Responder1
A razão pela qual o primeiro pod está sendo reiniciado é que provavelmente há um erro lá e o kubernetes continua reiniciando-o "na esperança" de que eventualmente resolva o problema. Ao executar isso, você obtém um 'CrashLoopBack', mas o Kubernetes o exclui eventualmente, mas somente depois de um tempo:
kubectl run --rm --stdin --tty --image hello-world hello-pod
pod "hello-pod" deleted
error: timed out waiting for the condition
O Kubernetes também exclui o segundo pod no momento em que você sai do tty (ctrl + D). E a razão para isso é que o processo termina e você adicionou a opção '--rm' que faz exatamente isso - ele exclui automaticamente os pods quando o processo termina, o que neste caso significa apenas sair do terminal/bash/shell etc. .