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 oferecem 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, os Aplicativos de Contêiner lidam com a troca automática entre as revisões para dar 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 o 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.