Qual é o mecanismo de repetição quando o CCE falha ao iniciar um pod?
O CCE é um serviço Kubernetes totalmente gerenciado e é totalmente compatível com as APIs do Kubernetes e o kubectl.
No Kubernetes, a especificação de um pod contém um campo restartPolicy. O valor de restartPolicy pode ser Always, OnFailure ou Never. O valor padrão é Always.
- Always: quando um contêiner falha, o kubelet reinicia automaticamente o contêiner.
- OnFailure: quando um contêiner para de funcionar e o código de saída não é 0 (indicando saída normal), o kubelet reinicia automaticamente o contêiner.
- Never: o kubelet não reinicia o contêiner independentemente do status de execução do contêiner.
restartPolicy se aplica a todos os contêineres em um pod.
restartPolicy refere-se apenas a reinicializações dos contêineres por kubelet no mesmo nó. Quando os contêineres em um pod saem, o kubelet os reinicia com um atraso de retirada exponencial (10s, 20s, 40s …), que é limitado a cinco minutos. Quando um contêiner estiver sendo executado por 10 minutos sem problemas, o kubelet redefine o temporizador de retirada de reinicialização do contêiner.
As configurações de restartPolicy variam de acordo com o controlador:
- Replication Controller (RC) e DaemonSet: restartPolicy deve ser definida como Always para garantir a execução contínua dos contêineres.
- Job: restartPolicy deve ser definida como OnFailure ou Never para garantir que os contêineres não sejam reiniciados após serem executados.