Gerenciamento de ciclo de vida do aplicativo nos Aplicativos de Contêiner do Azure
O ciclo de vida de aplicativo dos Aplicativos de Contêiner do Azure se baseia em revisões.
A primeira revisão é criada automaticamente quando você implanta um aplicativo de contêiner. Mais revisões são criadas à medida que os contêineres mudam ou que ajustes são feitos na seção template
da configuração.
Um aplicativo de contêiner passa por quatro fases: implantação, atualização, desativação e desligamento.
Observação
Os trabalhos dos Aplicativos de Contêiner do Azure não dão suporte a revisões. Os trabalhos são implantados e atualizados diretamente.
Implantação
A primeira revisão é criada automaticamente quando você implanta um aplicativo de contêiner.
Atualizar
Quando um aplicativo de contêiner é atualizado com uma alteração de escopo de revisão, uma nova revisão é criada. Você pode escolher se deseja desativar automaticamente as revisões antigas (modo de revisão única) ou permitir que elas continuem disponíveis (modo de revisão múltipla).
Quando no modo de revisão única, o Container Apps lida com a alternância automática entre revisões para oferecer suporte à implantação de tempo de inatividade zero.
Desativar
Quando uma revisão não for mais necessária, desative-a com a opção de reativar mais tarde. Durante a desativação, os contêineres na revisão são desligados.
Shutdown
Os contêineres são desligados nas seguintes situações:
- Redução horizontal de um aplicativo de contêiner
- Exclusão de um aplicativo de contêiner
- Desativação de uma revisão
Quando um desligamento é iniciado, o host do contêiner envia uma mensagem SIGTERM ao contêiner. O código implementado no contêiner pode responder a essa mensagem de nível do sistema operacional para lidar com o encerramento.
Se o aplicativo não responder em 30 segundos à mensagem SIGTERM
, SIGKILL encerrará o contêiner.
Além disso, certifique-se de que seu aplicativo possa lidar normalmente com desligamentos. Os contêineres são reiniciados regularmente, portanto, não espere que o estado persista dentro de um contêiner. Em vez disso, use caches externos para requisitos caros de cache na memória.