Configure verificações de funcionamento do contentor para serviços

As verificações de estado do Cloud Run garantem que as instâncias de contentores estão a ser executadas corretamente e que conseguem processar tráfego. Com as verificações de estado do Cloud Run, pode personalizar quando o seu contentor está pronto para receber pedidos e quando o seu contentor deve ser considerado não saudável para exigir um reinício.

Exemplos de utilização

Pode configurar os seguintes tipos de sondas de verificação de estado:

  • As sondas de arranque determinam se o contentor foi iniciado e está pronto para aceitar tráfego.

    • Quando configura uma sondagem de arranque, as verificações de atividade e prontidão são desativadas até que a sondagem de arranque determine que o contentor foi iniciado, para evitar interferências com o arranque do serviço.
    • As sondas de arranque são especialmente úteis se usar verificações de atividade em contentores de arranque lento, porque as sondas de arranque impedem que os contentores sejam encerrados prematuramente antes de estarem em funcionamento.
  • As sondas de atividade determinam se um contentor deve ser reiniciado.

    • Neste caso, reiniciar um contentor pode aumentar a disponibilidade do serviço em caso de erros.
    • As sondas de atividade destinam-se a reiniciar instâncias individuais que não podem ser recuperadas de outra forma. Devem ser usadas principalmente para falhas de instâncias irrecuperáveis, como a deteção de um impasse em que um serviço está em execução, mas não consegue progredir. Pode exigir uma sondagem de atividade para todos os contentores através de políticas de organização personalizadas.
    • Quando um serviço sofre falhas repetidas de sondagem, o Cloud Run limita os reinícios de instâncias para evitar ciclos de falhas de sistema descontrolados.
  • Sondas de prontidão (pré-visualização)

    As sondas de disponibilidade determinam quando uma instância no seu serviço do Cloud Run deve servir tráfego. As verificações de prontidão começam depois de a sondagem de arranque do contentor ser aprovada com êxito. Se uma instância falhar na respetiva sondagem de disponibilidade além do valor do limite de falhas que configurar, o Cloud Run deixa de lhe enviar novo tráfego. O Cloud Run não termina a instância e envia tráfego de volta para a instância quando esta começa a passar novamente na respetiva sondagem de disponibilidade.

Configure sondagens de arranque

Qualquer alteração de configuração leva à criação de uma nova revisão. As revisões subsequentes também recebem automaticamente esta definição de configuração, a menos que faça atualizações explícitas para a alterar.

Pode configurar sondas HTTP, TCP e gRPC através da Google Cloud consola, do YAML ou do Terraform:

Consola

  1. Na Google Cloud consola, aceda à página Cloud Run:

    Aceda ao Cloud Run

  2. Para um novo serviço, expanda Recipientes, volumes, rede, segurança para apresentar as opções de verificação de estado. Para um serviço existente, clique no serviço que quer configurar e, de seguida, clique em Editar e implementar para apresentar as opções de verificação do estado.

  3. Na secção Contentores, aceda a Verificações de funcionamento e clique em Adicionar verificação de funcionamento para abrir o painel de configuração Adicionar verificação de funcionamento.

  4. No menu Selecionar tipo de verificação de estado, selecione Verificação de arranque.

  5. No menu Selecionar tipo de teste de sondagem, selecione o tipo de teste de sondagem que quer usar, por exemplo, HTTP ou gRPC. É apresentado o formulário de configuração da sondagem.

  6. A configuração da sonda varia consoante o tipo de sonda. Configure as definições da sondagem:

    • Se estiver a usar verificações HTTP:

      • Adicione um ponto final HTTP/1 (a predefinição do Cloud Run, não HTTP/2) no código do serviço para responder à sondagem. O nome do ponto final (por exemplo, /startup, /health ou /are_you_ready) tem de corresponder ao path na configuração da sondagem. Os pontos finais de verificação do estado de funcionamento HTTP são acessíveis externamente e seguem os mesmos princípios que quaisquer outros pontos finais de serviço HTTP expostos externamente.

      • Use o campo Caminho para especificar o caminho relativo para o ponto final, por exemplo, /.

      • Selecione a caixa de verificação Cabeçalhos HTTP para especificar cabeçalhos personalizados opcionais. Especifique o nome do cabeçalho no campo Nome e o valor do cabeçalho no campo Valor. Clique em Adicionar cabeçalho HTTP para especificar mais cabeçalhos.

    • Se estiver a usar sondagens gRPC:

    • Em Porta, especifique a porta do contentor usada para o seu serviço.

    • Para Atraso inicial, especifique o número de segundos a aguardar após o início do contentor antes de realizar a primeira sondagem. Especifique um valor de 0 a 240 segundos. O valor predefinido é 0 segundos.

    • Para Período, especifique o período (em segundos) no qual deve ser realizada a análise. Por exemplo, 2 para realizar a sondagem a cada 2 segundos. Especifique um valor de 1 segundo a 240 segundos. O valor predefinido é 10 segundos.

    • Para o Limite de falhas, especifique o número de vezes que deve tentar novamente a análise detalhada antes de encerrar o contentor. O valor predefinido é 3.

    • Para Tempo limite, especifique o número de segundos a aguardar até que a sondagem expire. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor de 1 a 240. A predefinição é 1.

  7. Clique em Adicionar para adicionar o novo limite.

  8. Clique em Criar ou Implementar.

gcloud

Arranque TCP

Execute o seguinte comando:

  gcloud run deploy SERVICE \
      --image=IMAGE_URL \
      --startup-probe tcpSocket.port=CONTAINER_PORT,initialDelaySeconds=DELAY,failureThreshold=THRESHOLD,timeoutSeconds=TIMEOUT,periodSeconds=PERIOD

Substitua o seguinte:

  • SERVICE: o nome do seu serviço do Cloud Run.
  • IMAGE_URL: uma referência à imagem do contentor, por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se usar o Artifact Registry, o repositório REPO_NAME já tem de estar criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
  • Opcional. CONTAINER_PORT: a porta do contentor usada para o seu serviço.
  • DELAY: número de segundos a aguardar após o início do contentor antes de realizar a primeira sondagem. Especifique um valor de 0 segundos a 240 segundos. O valor predefinido é 0 segundos.
  • Opcional. TIMEOUT: o número de segundos a aguardar até o comando de teste expirar. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor de 1 a 240. A predefinição é 1.
  • THRESHOLD: o número de vezes que a sondagem é repetida antes de encerrar o contentor. O valor predefinido é 3.
  • PERIOD: período (em segundos) em que a sondagem deve ser realizada. Por exemplo, 2 para realizar a sondagem a cada 2 segundos. Especifique um valor de 1 a 240 segundos. O valor predefinido é 10 segundos.

Arranque HTTP

Adicione um ponto final HTTP/1 (a predefinição do Cloud Run, não HTTP/2) no código do serviço para responder à sondagem. O nome do ponto final (por exemplo, /startup, /health ou /are_you_ready) tem de corresponder ao path na configuração da sondagem. Os pontos finais de verificação do estado de funcionamento HTTP são acessíveis externamente e seguem os mesmos princípios que quaisquer outros pontos finais de serviço HTTP expostos externamente.

Execute o seguinte comando:

  gcloud run deploy SERVICE \
      --image=IMAGE_URL \
      --startup-probe httpGet.path=PATH,httpGet.port=CONTAINER_PORT,initialDelaySeconds=DELAY,failureThreshold=THRESHOLD,timeoutSeconds=TIMEOUT,periodSeconds=PERIOD

Substitua o seguinte:

  • SERVICE: o nome do seu serviço do Cloud Run.
  • IMAGE_URL: uma referência à imagem do contentor, por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se usar o Artifact Registry, o repositório REPO_NAME já tem de estar criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
  • PATH: um caminho relativo para o ponto final HTTP, por exemplo, /health.
  • Opcional. CONTAINER_PORT: definido para a porta do contentor usada para o seu serviço.
  • Opcional. DELAY: o número de segundos a aguardar após o início do contentor antes de realizar a primeira sondagem. Especifique um valor de 0 segundos a 240 segundos. O valor predefinido é 0 segundos.
  • Opcional. THRESHOLD: o número de vezes que a sondagem é repetida antes de encerrar o contentor. O valor predefinido é 3.
  • Opcional. TIMEOUT: o número de segundos a aguardar até o comando de teste expirar. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor de 1 a 240. A predefinição é 1.
  • Opcional. PERIOD: o período (em segundos) no qual realizar a sondagem. Por exemplo, 2 para realizar a sondagem a cada 2 segundos. Especifique um valor de 1 a 240 segundos. O valor predefinido é 10 segundos.

Arranque do gRPC

Certifique-se de que a imagem do contentor implementa o protocolo de verificação do estado do gRPC.

Execute o seguinte comando:

  gcloud run deploy SERVICE \
      --image=IMAGE_URL \
      --startup-probe grpc.port=CONTAINER_PORT,grpc.service=GRPC_SERVICE,initialDelaySeconds=DELAY,failureThreshold=THRESHOLD,timeoutSeconds=TIMEOUT,periodSeconds=PERIOD

Substitua o seguinte:

  • SERVICE: o nome do seu serviço do Cloud Run.
  • IMAGE_URL: uma referência à imagem do contentor, por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se usar o Artifact Registry, o repositório REPO_NAME já tem de estar criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
  • Opcional. GRPC_SERVICE: se estiver definido, é usado no campo de serviço do grpc.health.v1.HealthCheckRequest quando o rpc grpc.health.v1.Health.Check é chamado.
  • Opcional. CONTAINER_PORT: a porta do contentor usada para o seu serviço.
  • Opcional. DELAY: o número de segundos a aguardar após o início do contentor antes de realizar a primeira sondagem. Especifique um valor de 0 segundos a 240 segundos. O valor predefinido é 0 segundos.
  • Opcional. THRESHOLD: o número de vezes que a sondagem é repetida antes de encerrar o contentor. O valor predefinido é 3.
  • Opcional. TIMEOUT: o número de segundos a aguardar até o comando de teste expirar. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor de 1 a 240. A predefinição é 1.
  • Opcional. PERIOD: o período (em segundos) no qual realizar a sondagem. Por exemplo, 2 para realizar a sondagem a cada 2 segundos. Especifique um valor de 1 a 240 segundos. O valor predefinido é 10 segundos.

YAML

Arranque TCP

  1. Se estiver a criar um novo serviço, ignore este passo. Se estiver a atualizar um serviço existente, transfira a respetiva configuração YAML:
    gcloud run services describe SERVICE --format export > service.yaml
  2. Configure o atributo startupProbe conforme mostrado:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
     name: SERVICE
    spec:
     template:
       metadata:
       spec:
         containers:
         - image: IMAGE_URL
           startupProbe:
             tcpSocket:
               port: CONTAINER_PORT
             initialDelaySeconds: DELAY
             timeoutSeconds: TIMEOUT
             failureThreshold: THRESHOLD
             periodSeconds: PERIOD

    Substitua o seguinte:

    • SERVICE: o nome do seu serviço do Cloud Run.
    • IMAGE_URL: uma referência à imagem do contentor, por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se usar o Artifact Registry, o repositório REPO_NAME já tem de estar criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
    • Opcional. CONTAINER_PORT: a porta do contentor usada para o seu serviço.
    • DELAY: número de segundos a aguardar após o início do contentor antes de realizar a primeira sondagem. Especifique um valor de 0 segundos a 240 segundos. O valor predefinido é 0 segundos.
    • Opcional. TIMEOUT: o número de segundos a aguardar até o comando de teste expirar. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor de 1 a 240. A predefinição é 1.
    • THRESHOLD: o número de vezes que a sondagem é repetida antes de encerrar o contentor. O valor predefinido é 3.
    • PERIOD: período (em segundos) no qual realizar a sondagem. Por exemplo, 2 para realizar a sondagem a cada 2 segundos. Especifique um valor de 1 a 240 segundos. O valor predefinido é 10 segundos.
  3. Crie ou atualize o serviço com o seguinte comando:
    gcloud run services replace service.yaml

Arranque HTTP

Adicione um ponto final HTTP/1 (a predefinição do Cloud Run, não HTTP/2) no código do serviço para responder à sondagem. O nome do ponto final (por exemplo, /startup, /health ou /are_you_ready) tem de corresponder ao path na configuração da sondagem. Os pontos finais de verificação do estado de funcionamento HTTP são acessíveis externamente e seguem os mesmos princípios que quaisquer outros pontos finais de serviço HTTP expostos externamente.

  1. Se estiver a criar um novo serviço, ignore este passo. Se estiver a atualizar um serviço existente, transfira a respetiva configuração YAML:
    gcloud run services describe SERVICE --format export > service.yaml
  2. Configure o atributo startupProbe conforme mostrado:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
        spec:
          containers:
          - image: IMAGE_URL
            startupProbe:
              httpGet:
                path: PATH
                port: CONTAINER_PORT
                httpHeaders:
                  - name: HEADER_NAME
                    value: HEADER_VALUE
              initialDelaySeconds: DELAY
              timeoutSeconds: TIMEOUT
              failureThreshold: THRESHOLD
              periodSeconds: PERIOD

    Substitua o seguinte:

    • SERVICE: o nome do seu serviço do Cloud Run.
    • IMAGE_URL: uma referência à imagem do contentor, por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se usar o Artifact Registry, o repositório REPO_NAME já tem de estar criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
    • PATH: um caminho relativo para o ponto final HTTP, por exemplo, /health.
    • Opcional. CONTAINER_PORT: definido para a porta do contentor usada para o seu serviço.
    • Opcional. DELAY: o número de segundos a aguardar após o início do contentor antes de realizar a primeira sondagem. Especifique um valor de 0 segundos a 240 segundos. O valor predefinido é 0 segundos.
    • Opcional. THRESHOLD: o número de vezes que a sondagem é repetida antes de encerrar o contentor. O valor predefinido é 3.
    • Opcional: httpHeaders pode ser usado para fornecer cabeçalhos personalizados múltiplos ou repetidos usando os campos HEADER_NAME e HEADER_VALUE, conforme mostrado.
    • Opcional. TIMEOUT: o número de segundos a aguardar até o comando de teste expirar. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor de 1 a 240. A predefinição é 1.
    • Opcional. PERIOD: o período (em segundos) no qual realizar a sondagem. Por exemplo, 2 para realizar a sondagem a cada 2 segundos. Especifique um valor de 1 a 240 segundos. O valor predefinido é 10 segundos.
  3. Crie ou atualize o serviço com o seguinte comando:
    gcloud run services replace service.yaml

Arranque do gRPC

Certifique-se de que a imagem do contentor implementa o protocolo de verificação do estado do gRPC.

  1. Se estiver a criar um novo serviço, ignore este passo. Se estiver a atualizar um serviço existente, transfira a respetiva configuração YAML:
    gcloud run services describe SERVICE --format export > service.yaml
  2. Configure o atributo startupProbe conforme mostrado:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
        spec:
          containers:
          - image: IMAGE_URL
            startupProbe:
              grpc:
                service: GRPC_SERVICE
                port: CONTAINER_PORT
              initialDelaySeconds: DELAY
              timeoutSeconds: TIMEOUT
              failureThreshold: THRESHOLD
              periodSeconds: PERIOD

    Substitua o seguinte:

    • SERVICE: o nome do seu serviço do Cloud Run.
    • IMAGE_URL: uma referência à imagem do contentor, por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se usar o Artifact Registry, o repositório REPO_NAME já tem de estar criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
    • Opcional. GRPC_SERVICE: se estiver definido, é usado no campo de serviço do grpc.health.v1.HealthCheckRequest quando o rpc grpc.health.v1.Health.Check é chamado.
    • Opcional. CONTAINER_PORT: a porta do contentor usada para o seu serviço.
    • Opcional. DELAY: o número de segundos a aguardar após o início do contentor antes de realizar a primeira sondagem. Especifique um valor de 0 segundos a 240 segundos. O valor predefinido é 0 segundos.
    • Opcional. THRESHOLD: o número de vezes que a sondagem é repetida antes de encerrar o contentor. O valor predefinido é 3.
    • Opcional. TIMEOUT: o número de segundos a aguardar até o comando de teste expirar. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor de 1 a 240. A predefinição é 1.
    • Opcional. PERIOD: o período (em segundos) no qual realizar a sondagem. Por exemplo, 2 para realizar a sondagem a cada 2 segundos. Especifique um valor de 1 a 240 segundos. O valor predefinido é 10 segundos.
  3. Crie ou atualize o serviço com o seguinte comando:
    gcloud run services replace service.yaml

Terraform

Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform.

Arranque TCP

Configure o seu serviço do Cloud Run com o atributo startup_probe, conforme mostrado:

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-service-healthcheck"
  location = "us-central1"

  deletion_protection = false # set to "true" in production

  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"

      startup_probe {
        failure_threshold     = 5
        initial_delay_seconds = 10
        timeout_seconds       = 3
        period_seconds        = 3

        tcp_socket {
          port = 8080
        }
      }
    }
  }
}

Arranque HTTP

Adicione um ponto final HTTP/1 (a predefinição do Cloud Run, não HTTP/2) no código do serviço para responder à sondagem. O nome do ponto final (por exemplo, /startup, /health ou /are_you_ready) tem de corresponder ao path na configuração da sondagem. Os pontos finais de verificação do estado de funcionamento HTTP são acessíveis externamente e seguem os mesmos princípios que quaisquer outros pontos finais de serviço HTTP expostos externamente.

Configure o seu serviço do Cloud Run com o atributo startup_probe, conforme mostrado:

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-service-healthcheck"
  location = "us-central1"

  deletion_protection = false # set to "true" in production

  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"

      startup_probe {
        failure_threshold     = 5
        initial_delay_seconds = 10
        timeout_seconds       = 3
        period_seconds        = 3

        http_get {
          path = "/"
          # Custom headers to set in the request
          # https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/cloud_run_v2_service#http_headers
          http_headers {
            name  = "Access-Control-Allow-Origin"
            value = "*"
          }
        }
      }
    }
  }
}

Arranque do gRPC

Certifique-se de que a imagem do contentor implementa o protocolo de verificação do estado do gRPC.

Configure o seu serviço do Cloud Run com o atributo startup_probe, conforme mostrado:

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-service-healthcheck"
  location = "us-central1"

  deletion_protection = false # set to "true" in production

  template {
    containers {
      # Note: Change to the name of your image
      image = "us-docker.pkg.dev/cloudrun/container/hello"

      startup_probe {
        failure_threshold     = 5
        initial_delay_seconds = 10
        timeout_seconds       = 3
        period_seconds        = 3

        grpc {
          # Note: Change to the name of your pre-existing grpc health status service
          service = "grpc.health.v1.Health"
        }
      }
    }
  }
}

A sondagem de arranque TCP predefinida

Se não configurar explicitamente uma sondagem de arranque TCP para um novo serviço do Cloud Run, o Cloud Run configura automaticamente uma sondagem de arranque TCP com os seguintes valores predefinidos:

startupProbe:
          timeoutSeconds: 240
          periodSeconds: 240
          failureThreshold: 1

Pode alterar estes valores predefinidos seguindo as instruções na secção configuração da sondagem desta página.

Requisitos e comportamento da sondagem de arranque

Tipo de teste Requisitos Comportamento
Arranque TCP Nenhum Por predefinição, o Cloud Run estabelece uma ligação TCP para abrir a porta TCP no porto especificado. Se o Cloud Run não conseguir estabelecer uma ligação, indica uma falha.

Se uma sondagem de arranque não for bem-sucedida dentro do tempo especificado (failureThreshold * periodSeconds), que não pode exceder 240 segundos, o contentor é encerrado. Consulte também as predefinições de TCP.
Arranque HTTP Crie um ponto final de verificação de funcionamento de HTTP
Use HTTP/1
Após a configuração da sondagem, o Cloud Run faz um pedido HTTP GET ao ponto final da verificação de estado (por exemplo, /health). Qualquer resposta 2XX ou 3XX é um sucesso. Tudo o resto indica uma falha.

Se uma sondagem de arranque não for bem-sucedida dentro do tempo especificado (failureThreshold * periodSeconds), que não pode exceder 240 segundos, o contentor é encerrado.

Se a sondagem de arranque HTTP for bem-sucedida dentro do tempo especificado e tiver configurado uma sondagem de atividade HTTP, a sondagem de atividade HTTP é iniciada.
Arranque do gRPC Implemente o protocolo de verificação de estado do gRPC no seu serviço do Cloud Run Se uma sondagem de arranque não for bem-sucedida dentro do tempo especificado (failureThreshold * periodSeconds), que não pode exceder 240 segundos, o contentor é encerrado.

Configure as sondas de atividade

Qualquer alteração de configuração leva à criação de uma nova revisão. As revisões subsequentes também recebem automaticamente esta definição de configuração, a menos que faça atualizações explícitas para a alterar.

Pode configurar sondas HTTP e gRPC através da Google Cloud consola, de YAML ou do Terraform:

Consola

  1. Na Google Cloud consola, aceda à página Cloud Run:

    Aceda ao Cloud Run

  2. Para um novo serviço, expanda Recipientes, volumes, rede, segurança para apresentar as opções de verificação de estado. Para um serviço existente, clique no serviço que quer configurar e, de seguida, clique em Editar e implementar para apresentar as opções de verificação do estado.

  3. Na secção Contentores, aceda a Verificações de funcionamento e clique em Adicionar verificação de funcionamento para abrir o painel de configuração Adicionar verificação de funcionamento.

  4. No menu Selecionar tipo de verificação do estado, selecione Verificação de vitalidade.

  5. No menu Selecionar tipo de teste de sondagem, selecione o tipo de teste de sondagem que quer usar, por exemplo, HTTP ou gRPC. É apresentado o formulário de configuração da sondagem.

  6. A configuração da sonda varia consoante o tipo de sonda. Configure as definições da sondagem:

    • Se estiver a usar verificações HTTP:

      • Adicione um ponto final HTTP/1 (a predefinição do Cloud Run, não HTTP/2) no código do serviço para responder à sondagem. O nome do ponto final (por exemplo, /startup, /health ou /are_you_ready) tem de corresponder ao path na configuração da sondagem. Os pontos finais de verificação do estado de funcionamento HTTP são acessíveis externamente e seguem os mesmos princípios que quaisquer outros pontos finais de serviço HTTP expostos externamente.

      • Use o campo Caminho para especificar o caminho relativo para o ponto final, por exemplo, /.

      • Selecione a caixa de verificação Cabeçalhos HTTP para especificar cabeçalhos personalizados opcionais. Especifique o nome do cabeçalho no campo Nome e o valor do cabeçalho no campo Valor. Clique em Adicionar cabeçalho HTTP para especificar mais cabeçalhos.

    • Se estiver a usar sondas gRPC:

    • Em Porta, especifique a porta do contentor usada para o seu serviço.

    • Para Atraso inicial, especifique o número de segundos a aguardar após o início do contentor antes de realizar a primeira sondagem. Especifique um valor de 0 a 240 segundos. O valor predefinido é 0 segundos.

    • Para Período, especifique o período (em segundos) em que deve ser realizada a detecção. Por exemplo, 2 para realizar a sondagem a cada 2 segundos. Especifique um valor de 1 segundo a 3600 segundos. O valor predefinido é 10 segundos.

    • Para o Limite de falhas, especifique o número de vezes que deve tentar novamente a análise detalhada antes de encerrar o contentor. O valor predefinido é 3.

    • Para Tempo limite, especifique o número de segundos a aguardar até que a sondagem expire. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor de 1 a 3600. A predefinição é 1.

  7. Clique em Adicionar para adicionar o novo limite.

  8. Clique em Criar ou Implementar.

gcloud

Atividade HTTP

Adicione um ponto final HTTP/1 (a predefinição do Cloud Run, não HTTP/2) no código do serviço para responder à sondagem. O nome do ponto final (por exemplo, /startup, /health ou /are_you_ready) tem de corresponder ao path na configuração da sondagem. Os pontos finais de verificação do estado de funcionamento HTTP são acessíveis externamente e seguem os mesmos princípios que quaisquer outros pontos finais de serviço HTTP expostos externamente.

Execute o seguinte comando:

  gcloud run deploy SERVICE \
      --image=IMAGE_URL \
      --liveness-probe httpGet.path=PATH,httpGet.port=CONTAINER_PORT,initialDelaySeconds=DELAY,failureThreshold=THRESHOLD,timeoutSeconds=TIMEOUT,periodSeconds=PERIOD

Substitua o seguinte:

  • SERVICE: o nome do seu serviço do Cloud Run.
  • IMAGE_URL: uma referência à imagem do contentor, por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se usar o Artifact Registry, o repositório REPO_NAME já tem de estar criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
  • PATH: um caminho relativo para o ponto final HTTP, por exemplo, /health.
  • Opcional. CONTAINER_PORT: definido para a porta do contentor usada para o seu serviço.
  • Opcional. DELAY: o número de segundos a aguardar após o início do contentor antes de realizar a primeira sondagem. Especifique um valor de 0 segundos a 240 segundos. O valor predefinido é 0 segundos.
  • Opcional. THRESHOLD: o número de vezes que a sondagem é repetida antes de encerrar o contentor. O valor predefinido é 3.
  • Opcional. TIMEOUT: o número de segundos a aguardar até o comando de teste expirar. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor de 1 a 3600.O valor predefinido é 1.
  • Opcional. PERIOD: o período (em segundos) no qual realizar a sondagem. Por exemplo, 2 para realizar a sondagem a cada 2 segundos. Especifique um valor de 1 segundo a 3600 segundos. O valor predefinido é 10 segundos.

Atividade do gRPC

Certifique-se de que a imagem do contentor implementa o protocolo de verificação do estado do gRPC.

Execute o seguinte comando:

  gcloud run deploy SERVICE \
      --image=IMAGE_URL \
      --liveness-probe grpc.port=CONTAINER_PORT,grpc.service=GRPC_SERVICE,initialDelaySeconds=DELAY,failureThreshold=THRESHOLD,timeoutSeconds=TIMEOUT,periodSeconds=PERIOD

Substitua o seguinte:

  • SERVICE: o nome do seu serviço do Cloud Run.
  • IMAGE_URL: uma referência à imagem do contentor, por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se usar o Artifact Registry, o repositório REPO_NAME já tem de estar criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
  • Opcional. GRPC_SERVICE: se estiver definido, é usado no campo de serviço do grpc.health.v1.HealthCheckRequest quando o rpc grpc.health.v1.Health.Check é chamado.
  • Opcional. CONTAINER_PORT: a porta do contentor usada para o seu serviço.
  • Opcional. DELAY: o número de segundos a aguardar após o início do contentor antes de realizar a primeira sondagem. Especifique um valor de 0 segundos a 240 segundos. O valor predefinido é 0 segundos.
  • Opcional. THRESHOLD: o número de vezes que a sondagem é repetida antes de encerrar o contentor. O valor predefinido é 3.
  • Opcional. TIMEOUT: o número de segundos a aguardar até o comando de teste expirar. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor de 1 a 3600.O valor predefinido é 1.
  • Opcional. PERIOD: o período (em segundos) no qual realizar a sondagem. Por exemplo, 2 para realizar a sondagem a cada 2 segundos. Especifique um valor de 1 segundo a 3600 segundos. O valor predefinido é 10 segundos.

YAML

Atividade HTTP

Adicione um ponto final HTTP/1 (a predefinição do Cloud Run, não HTTP/2) no código do serviço para responder à sondagem. O nome do ponto final (por exemplo, /startup, /health ou /are_you_ready) tem de corresponder ao path na configuração da sondagem. Os pontos finais de verificação do estado de funcionamento HTTP são acessíveis externamente e seguem os mesmos princípios que quaisquer outros pontos finais de serviço HTTP expostos externamente.

  1. Se estiver a criar um novo serviço, ignore este passo. Se estiver a atualizar um serviço existente, transfira a respetiva configuração YAML:
    gcloud run services describe SERVICE --format export > service.yaml
  2. Configure o atributo livenessProbe conforme mostrado:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
        spec:
          containers:
          - image: IMAGE_URL
            livenessProbe:
              httpGet:
                path: PATH
                port: CONTAINER_PORT
                httpHeaders:
                  - name: HEADER_NAME
                    value: HEADER_VALUE
              initialDelaySeconds: DELAY
              timeoutSeconds: TIMEOUT
              failureThreshold: THRESHOLD
              periodSeconds: PERIOD

    Substitua o seguinte:

    • SERVICE: o nome do seu serviço do Cloud Run.
    • IMAGE_URL: uma referência à imagem do contentor, por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se usar o Artifact Registry, o repositório REPO_NAME já tem de estar criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
    • PATH: um caminho relativo para o ponto final HTTP, por exemplo, /health.
    • Opcional. CONTAINER_PORT: definido para a porta do contentor usada para o seu serviço.
    • Opcional. DELAY: o número de segundos a aguardar após o início do contentor antes de realizar a primeira sondagem. Especifique um valor de 0 segundos a 240 segundos. O valor predefinido é 0 segundos.
    • Opcional. THRESHOLD: o número de vezes que a sondagem é repetida antes de encerrar o contentor. O valor predefinido é 3.
    • Opcional: httpHeaders pode ser usado para fornecer cabeçalhos personalizados múltiplos ou repetidos usando os campos HEADER_NAME e HEADER_VALUE, conforme mostrado.
    • Opcional. TIMEOUT: o número de segundos a aguardar até o comando de teste expirar. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor de 1 a 3600.O valor predefinido é 1.
    • Opcional. PERIOD: o período (em segundos) no qual realizar a sondagem. Por exemplo, 2 para realizar a sondagem a cada 2 segundos. Especifique um valor de 1 segundo a 3600 segundos. O valor predefinido é 10 segundos.
  3. Crie ou atualize o serviço com o seguinte comando:
    gcloud run services replace service.yaml

Atividade do gRPC

Certifique-se de que a imagem do contentor implementa o protocolo de verificação do estado do gRPC.

  1. Se estiver a criar um novo serviço, ignore este passo. Se estiver a atualizar um serviço existente, transfira a respetiva configuração YAML:
    gcloud run services describe SERVICE --format export > service.yaml
  2. Configure o atributo livenessProbe conforme mostrado:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
        spec:
          containers:
          - image: IMAGE_URL
            livenessProbe:
              grpc:
                port: CONTAINER_PORT
                service: GRPC_SERVICE
              initialDelaySeconds: DELAY
              timeoutSeconds: TIMEOUT
              failureThreshold: THRESHOLD
              periodSeconds: PERIOD

    Substitua o seguinte:

    • SERVICE: o nome do seu serviço do Cloud Run.
    • IMAGE_URL: uma referência à imagem do contentor, por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se usar o Artifact Registry, o repositório REPO_NAME já tem de estar criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
    • Opcional. GRPC_SERVICE: se estiver definido, é usado no campo de serviço do grpc.health.v1.HealthCheckRequest quando o rpc grpc.health.v1.Health.Check é chamado.
    • Opcional. CONTAINER_PORT: a porta do contentor usada para o seu serviço.
    • Opcional. DELAY: o número de segundos a aguardar após o início do contentor antes de realizar a primeira sondagem. Especifique um valor de 0 segundos a 240 segundos. O valor predefinido é 0 segundos.
    • Opcional. THRESHOLD: o número de vezes que a sondagem é repetida antes de encerrar o contentor. O valor predefinido é 3.
    • Opcional. TIMEOUT: o número de segundos a aguardar até o comando de teste expirar. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor de 1 a 3600.O valor predefinido é 1.
    • Opcional. PERIOD: o período (em segundos) no qual realizar a sondagem. Por exemplo, 2 para realizar a sondagem a cada 2 segundos. Especifique um valor de 1 segundo a 3600 segundos. O valor predefinido é 10 segundos.

  3. Crie ou atualize o serviço com o seguinte comando:
    gcloud run services replace service.yaml

Terraform

Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform.

Atividade HTTP

Adicione um ponto final HTTP/1 (a predefinição do Cloud Run, não HTTP/2) no código do serviço para responder à sondagem. O nome do ponto final (por exemplo, /startup, /health ou /are_you_ready) tem de corresponder ao path na configuração da sondagem. Os pontos finais de verificação do estado de funcionamento HTTP são acessíveis externamente e seguem os mesmos princípios que quaisquer outros pontos finais de serviço HTTP expostos externamente.

Configure o seu serviço do Cloud Run com o atributo liveness_probe, conforme mostrado:

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-service-healthcheck"
  location = "us-central1"

  deletion_protection = false # set to "true" in production

  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"

      liveness_probe {
        failure_threshold     = 5
        initial_delay_seconds = 10
        timeout_seconds       = 3
        period_seconds        = 3

        http_get {
          path = "/"
          # Custom headers to set in the request
          # https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/cloud_run_v2_service#http_headers
          http_headers {
            name  = "Access-Control-Allow-Origin"
            value = "*"
          }
        }
      }
    }
  }
}

Atividade do gRPC

Certifique-se de que a imagem do contentor implementa o protocolo de verificação do estado do gRPC.

Configure o seu serviço do Cloud Run com o atributo liveness_probe, conforme mostrado:

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-service-healthcheck"
  location = "us-central1"

  deletion_protection = false # set to "true" in production

  template {
    containers {
      # Note: Change to the name of your image
      image = "us-docker.pkg.dev/cloudrun/container/hello"

      liveness_probe {
        failure_threshold     = 5
        initial_delay_seconds = 10
        timeout_seconds       = 3
        period_seconds        = 3

        # Note: Change to the name of your pre-existing grpc health status service
        grpc {
          service = "grpc.health.v1.Health"
        }
      }
    }
  }
}

Requisitos e comportamento da sondagem de atividade

Tipo de teste Requisitos Comportamento
Atividade HTTP Crie um ponto final de verificação de funcionamento de HTTP
Use HTTP/1
A sondagem de vitalidade só começa depois de a sondagem de arranque ser bem-sucedida. Após a configuração da sondagem e se qualquer sondagem de arranque for bem-sucedida, o Cloud Run faz um pedido HTTP GET ao ponto final da verificação de estado (por exemplo, /health). Qualquer resposta 2XX ou 3XX é um sucesso. Tudo o resto indica uma falha.

Se uma sondagem de atividade não for bem-sucedida dentro do tempo especificado (failureThreshold * periodSeconds), o contentor é encerrado com um sinal SIGKILL. Todos os pedidos restantes que ainda estavam a ser publicados pelo contentor são terminados com o código de estado HTTP 503. Após o encerramento do contentor, o dimensionamento automático do Cloud Run inicia uma nova instância de contentor.
Atividade do gRPC Implemente o protocolo de verificação de estado do gRPC no seu serviço do Cloud Run Se configurar uma sondagem de arranque gRPC, a sondagem de atividade é iniciada apenas após a sondagem de arranque ser bem-sucedida.

Depois de a sondagem de atividade ser configurada e qualquer sondagem de arranque ser bem-sucedida, o Cloud Run faz um pedido de verificação de estado ao serviço.

Se uma sondagem de atividade não for bem-sucedida dentro do tempo especificado (failureThreshold * periodSeconds), o contentor é encerrado através de um sinal SIGKILL. Após o encerramento do contentor, o dimensionamento automático do Cloud Run inicia uma nova instância de contentor.

Configure as sondas de disponibilidade

Qualquer alteração de configuração leva à criação de uma nova revisão. As revisões subsequentes também recebem automaticamente esta definição de configuração, a menos que faça atualizações explícitas para a alterar.

Aplicam-se as seguintes limitações às sondas de prontidão:

  • Se ativar a afinidade de sessão, o Cloud Run continua a enviar pedidos para a mesma instância, mesmo que a respetiva verificação de disponibilidade falhe.

  • O Cloud Run pode enviar pedidos a uma instância iniciada recentemente antes de a sondagem de prontidão ser concluída pela primeira vez.

  • Se configurou anteriormente uma sondagem de prontidão para o seu serviço do Cloud Run com a API Cloud Run Admin v1 antes de novembro de 2025, as suas verificações de prontidão não entram em vigor, mesmo depois de implementar uma nova configuração para esse serviço. Isto ocorre porque o serviço retém uma configuração mais antiga. Os serviços que criar após novembro de 2025 ou que nunca usaram uma sondagem de preparação não são afetados. Para ativar as sondas de disponibilidade suportadas nos serviços afetados, faça o seguinte:

    1. Implemente uma nova revisão que remova a definição da sondagem de disponibilidade mais antiga.

    2. Implemente outra nova revisão que adicione a definição da sondagem de prontidão relevante.

    Estes passos limpam qualquer configuração mais antiga e ativam a funcionalidade de teste de prontidão.

Pode configurar uma sondagem de disponibilidade através da Google Cloud consola, da CLI do Google Cloud ou de YAML:

Consola

  1. Na Google Cloud consola, aceda à página Cloud Run:

    Aceda ao Cloud Run

  2. Para um novo serviço, expanda Recipientes, volumes, rede, segurança para apresentar as opções de verificação de estado. Para um serviço existente, clique no serviço que quer configurar e, de seguida, clique em Editar e implementar para apresentar as opções de verificação do estado.

  3. Na secção Contentores, aceda a Verificações de funcionamento e clique em Adicionar verificação de funcionamento para abrir o painel de configuração Adicionar verificação de funcionamento.

  4. No menu Selecionar tipo de verificação de estado, selecione Verificação de disponibilidade.

  5. No menu Selecionar tipo de teste de sondagem, selecione o tipo de teste de sondagem que quer usar, por exemplo, HTTP ou gRPC. É apresentado o formulário de configuração da sondagem.

  6. A configuração da sonda varia consoante o tipo de sonda. Configure as definições da sondagem:

    • Se estiver a usar verificações HTTP:

      • Adicione um ponto final HTTP/1 (a predefinição do Cloud Run, não HTTP/2) no código do serviço para responder à sondagem. O nome do ponto final (por exemplo, /startup, /health ou /are_you_ready) tem de corresponder ao path na configuração da sondagem. Os pontos finais de verificação do estado de funcionamento HTTP são acessíveis externamente e seguem os mesmos princípios que quaisquer outros pontos finais de serviço HTTP expostos externamente.

      • Use o campo Caminho para especificar o caminho relativo para o ponto final, por exemplo, /are_you_ready. O caminho predefinido é /.

    • Se estiver a usar sondagens gRPC:

    • Em Porta, especifique a porta do contentor para o seu serviço. A porta predefinida é a porta de entrada principal.

    • Para Período, especifique o período (em segundos) no qual realizar a sondagem. Por exemplo, 2 para realizar a sondagem a cada 2 segundos. Especifique um valor de 1 a 300. O valor predefinido é 10 segundos.

    • Para o Limite de êxito, especifique os êxitos consecutivos mínimos para que a sondagem seja considerada bem-sucedida após a falha. A predefinição é 2.

    • Para o Limite de falhas, especifique o número de vezes que deve tentar novamente a sondagem antes de comunicar uma falha, o que faz com que a instância deixe de receber tráfego. O valor predefinido é 3.

    • Para Tempo limite, especifique o número de segundos a aguardar até que a sondagem atinja o tempo limite. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor de 1 a 300. A predefinição é 1.

  7. Clique em Adicionar para adicionar o novo limite.

  8. Clique em Criar ou Implementar.

gcloud

Prontidão de HTTP

Adicione um ponto final HTTP/1 (a predefinição do Cloud Run, não HTTP/2) no código do serviço para responder à sondagem. O nome do ponto final (por exemplo, /startup, /health ou /are_you_ready) tem de corresponder ao path na configuração da sondagem. Os pontos finais de verificação do estado de funcionamento HTTP são acessíveis externamente e seguem os mesmos princípios que quaisquer outros pontos finais de serviço HTTP expostos externamente.

Execute o seguinte comando:

gcloud beta run deploy SERVICE \
    --image=IMAGE_URL \
    --readiness-probe httpGet.path=PATH,httpGet.port=CONTAINER_PORT,successThreshold=SUCCESS_THRESHOLD,failureThreshold=FAILURE_THRESHOLD,timeoutSeconds=TIMEOUT,periodSeconds=PERIOD

Substitua o seguinte:

  • SERVICE: o nome do seu serviço do Cloud Run.
  • IMAGE_URL: uma referência à imagem do contentor, por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se usar o Artifact Registry, o repositório REPO_NAME já tem de estar criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
  • Opcional. PATH: o caminho relativo para o ponto final de HTTP, por exemplo, /are_you_ready. O caminho predefinido é /.
  • Opcional. CONTAINER_PORT: a porta do contentor usada para o seu serviço. A porta predefinida é a porta de entrada principal.
  • Opcional. SUCCESS_THRESHOLD: o número mínimo de êxitos consecutivos para que a sondagem seja considerada bem-sucedida após uma falha. A predefinição é 2.
  • Opcional. FAILURE_THRESHOLD: o número de vezes que a sondagem deve ser repetida antes de comunicar uma falha, o que faz com que a instância deixe de receber tráfego. A predefinição é 3.
  • Opcional. TIMEOUT: o número de segundos a aguardar até o comando de teste expirar. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor de 1 a 300. A predefinição é 1.
  • Opcional. PERIOD: o período (em segundos) no qual realizar a sondagem. Por exemplo, 2 para realizar a sondagem a cada 2 segundos. Especifique um valor de 1 a 300. O valor predefinido é 10 segundos.

Disposição do gRPC

Certifique-se de que a imagem do contentor implementa o protocolo de verificação do estado do gRPC.

Execute o seguinte comando:

gcloud beta run deploy SERVICE \
    --image=IMAGE_URL \
    --readiness-probe grpc.port=CONTAINER_PORT,grpc.service=GRPC_SERVICE,successThreshold=SUCCESS_THRESHOLD,failureThreshold=FAILURE_THRESHOLD,timeoutSeconds=TIMEOUT,periodSeconds=PERIOD

Substitua o seguinte:

  • SERVICE: o nome do seu serviço do Cloud Run.
  • IMAGE_URL: uma referência à imagem do contentor, por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se usar o Artifact Registry, o repositório REPO_NAME já tem de estar criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
  • Opcional. CONTAINER_PORT: a porta do contentor usada para o seu serviço. A porta predefinida é a porta de entrada principal.
  • Opcional. GRPC_SERVICE: se estiver definido, é usado no campo de serviço do grpc.health.v1.HealthCheckRequest quando o rpc grpc.health.v1.Health.Check é chamado.
  • Opcional. SUCCESS_THRESHOLD: o número mínimo de êxitos consecutivos para que a sondagem seja considerada bem-sucedida após uma falha. A predefinição é 2.
  • Opcional. FAILURE_THRESHOLD: o número de vezes que a sondagem deve ser repetida antes de comunicar uma falha, o que faz com que a instância deixe de receber tráfego. A predefinição é 3.
  • Opcional. TIMEOUT: o número de segundos a aguardar até o comando de teste expirar. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor de 1 a 300. A predefinição é 1.
  • Opcional. PERIOD: o período (em segundos) no qual realizar a sondagem. Por exemplo, 2 para realizar a sondagem a cada 2 segundos. Especifique um valor de 1 a 300. O valor predefinido é 10 segundos.

YAML

Prontidão de HTTP

Adicione um ponto final HTTP/1 (a predefinição do Cloud Run, não HTTP/2) no código do serviço para responder à sondagem. O nome do ponto final (por exemplo, /startup, /health ou /are_you_ready) tem de corresponder ao path na configuração da sondagem. Os pontos finais de verificação do estado de funcionamento HTTP são acessíveis externamente e seguem os mesmos princípios que quaisquer outros pontos finais de serviço HTTP expostos externamente.

  1. Se estiver a criar um novo serviço, ignore este passo. Se estiver a atualizar um serviço existente, transfira a respetiva configuração YAML:
    gcloud run services describe SERVICE --format export > service.yaml
  2. Configure o atributo readinessProbe conforme mostrado:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      template:
        metadata:
        spec:
          containers:
          - image: IMAGE_URL
            readinessProbe:
              httpGet:
                path: PATH
                port: CONTAINER_PORT
              successThreshold: SUCCESS_THRESHOLD
              failureThreshold: FAILURE_THRESHOLD
              timeoutSeconds: TIMEOUT
              periodSeconds: PERIOD

    Substitua o seguinte:

    • SERVICE: o nome do seu serviço do Cloud Run.
    • IMAGE_URL: uma referência à imagem do contentor, por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se usar o Artifact Registry, o repositório REPO_NAME já tem de estar criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
    • Opcional. PATH: o caminho relativo para o ponto final de HTTP, por exemplo, /are_you_ready. O caminho predefinido é /.
    • Opcional. CONTAINER_PORT: a porta do contentor usada para o seu serviço. A porta predefinida é a porta de entrada principal.
    • Opcional. SUCCESS_THRESHOLD: o número mínimo de êxitos consecutivos para que a sondagem seja considerada bem-sucedida após uma falha. A predefinição é 2.
    • Opcional. FAILURE_THRESHOLD: o número de vezes que a sondagem deve ser repetida antes de comunicar uma falha, o que faz com que a instância deixe de receber tráfego. A predefinição é 3.
    • Opcional. TIMEOUT: o número de segundos a aguardar até o comando de teste expirar. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor de 1 a 300. A predefinição é 1.
    • Opcional. PERIOD: o período (em segundos) no qual realizar a sondagem. Por exemplo, 2 para realizar a sondagem a cada 2 segundos. Especifique um valor de 1 a 300. O valor predefinido é 10 segundos.

  3. Crie ou atualize o serviço com o seguinte comando:
    gcloud run services replace service.yaml

Disposição do gRPC

Certifique-se de que a imagem do contentor implementa o protocolo de verificação do estado do gRPC.

  1. Se estiver a criar um novo serviço, ignore este passo. Se estiver a atualizar um serviço existente, transfira a respetiva configuração YAML:
    gcloud run services describe SERVICE --format export > service.yaml
  2. Configure o atributo readinessProbe conforme mostrado:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      template:
        metadata:
        spec:
          containers:
          - image: IMAGE_URL
            readinessProbe:
              grpc:
                port: CONTAINER_PORT
                service: GRPC_SERVICE
              successThreshold: SUCCESS_THRESHOLD
              failureThreshold: FAILURE_THRESHOLD
              timeoutSeconds: TIMEOUT
              periodSeconds: PERIOD

    Substitua o seguinte:

    • SERVICE: o nome do seu serviço do Cloud Run.
    • IMAGE_URL: uma referência à imagem do contentor, por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se usar o Artifact Registry, o repositório REPO_NAME já tem de estar criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
    • Opcional. CONTAINER_PORT: a porta do contentor usada para o seu serviço. A porta predefinida é a porta de entrada principal.
    • Opcional. GRPC_SERVICE: se estiver definido, é usado no campo de serviço do grpc.health.v1.HealthCheckRequest quando o rpc grpc.health.v1.Health.Check é chamado.
    • Opcional. SUCCESS_THRESHOLD: o número mínimo de êxitos consecutivos para que a sondagem seja considerada bem-sucedida após uma falha. A predefinição é 2.
    • Opcional. FAILURE_THRESHOLD: o número de vezes que a sondagem deve ser repetida antes de comunicar uma falha, o que faz com que a instância deixe de receber tráfego. A predefinição é 3.
    • Opcional. TIMEOUT: o número de segundos a aguardar até o comando de teste expirar. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor de 1 a 300. A predefinição é 1.
    • Opcional. PERIOD: o período (em segundos) no qual realizar a sondagem. Por exemplo, 2 para realizar a sondagem a cada 2 segundos. Especifique um valor de 1 a 300. O valor predefinido é 10 segundos.

  3. Crie ou atualize o serviço com o seguinte comando:
    gcloud run services replace service.yaml

Atribuição de CPU

  • A CPU é sempre atribuída quando as sondas são executadas.
  • Todas as sondas são faturadas pelo consumo de utilização de CPU e memória, mas não existe uma cobrança baseada em pedidos.

O que se segue?