Configurar a política de reinicialização para instâncias

A política de reinicialização da instância do Cloud Run determina se e quando a instância será reiniciada.

Opções de política de reinicialização

Selecione uma das seguintes políticas de reinicialização:

  • on-failure (padrão): se algum contêiner sair com um código de status diferente de zero ou se o contêiner apresentar falhas de infraestrutura, a instância será reiniciada. Para instâncias de vários contêineres, isso significa que qualquer contêiner com falha faz com que toda a instância seja reiniciada.
  • always: quando qualquer contêiner sai, a instância sempre é reiniciada. Isso inclui saídas limpas com o código 0.
  • never: a instância nunca é reiniciada. Quando qualquer contêiner é encerrado, a instância faz a transição imediatamente para um estado STOPPED ou FAILED.

Quando você configura a política de reinicialização always ou on-failure para sua instância, ela é reiniciada automaticamente no final de um ciclo de vida de aproximadamente sete dias, sendo executada indefinidamente, a menos que seja interrompida de outra forma.

Funções exigidas

Para receber as permissões necessárias para configurar e implantar instâncias do Cloud Run, peça ao administrador para conceder a você as seguintes funções do IAM:

Para uma lista de papéis e permissões do IAM associados ao Cloud Run, consulte Papéis do IAM do Cloud Run e Permissões do IAM do Cloud Run. Se a instância do Cloud Run interage com Google Cloud APIs, como as bibliotecas de cliente do Cloud, consulte o guia de configuração de identidade de serviço. Para mais informações sobre como conceder papéis, consulte permissões de implantação e gerenciar acesso.

Configurar a política de reinicialização

Configure a política de reinicialização de uma instância do Cloud Run usando a Google Cloud CLI ou o YAML:

gcloud

Para especificar uma política de reinicialização ao implantar uma nova instância:

gcloud beta run instances deploy INSTANCE \
    --image=IMAGE_URL \
    --restart-policy=POLICY

Para atualizar a política de reinicialização de uma instância atual:

gcloud beta run instances update INSTANCE \
    --restart-policy=POLICY

Substitua:

  • INSTANCE: o nome da instância.
  • IMAGE_URL: uma referência à imagem de contêiner, como us-docker.pkg.dev/cloudrun/container/hello:latest.
  • POLICY: a política de reinicialização a ser aplicada. Escolha entre on-failure, always ou never.

YAML

  1. Se você estiver criando uma nova instância, pule esta etapa. Se você estiver atualizando uma instância atual, baixe a configuração YAML correspondente:

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. O exemplo a seguir contém a configuração YAML:

    apiVersion: run.googleapis.com/v1
    kind: Instance
    metadata:
      name: INSTANCE
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      containers:
      - name: CONTAINER_NAME
        image: IMAGE_URL
      restartPolicy: POLICY

    Substitua:

    • INSTANCE: o nome da instância do Cloud Run.
    • CONTAINER_NAME: o nome do contêiner.
    • IMAGE_URL: uma referência à imagem de contêiner, como us-docker.pkg.dev/cloudrun/container/hello:latest.
    • POLICY: a política de reinicialização a ser aplicada. Escolha entre on-failure, always ou never.
  3. Crie ou atualize a instância usando o comando a seguir:

    gcloud beta run instances replace instance.yaml