Configurar verificações de integridade do contêiner para serviços

As verificações de integridade do Cloud Run garantem que as instâncias de contêiner estejam sendo executadas corretamente e possam atender o tráfego. Com as verificações de integridade do Cloud Run, é possível personalizar quando o contêiner está pronto para receber solicitações e quando ele deve ser considerado não íntegro para exigir uma reinicialização.

Casos de uso

É possível configurar os seguintes tipos de sondagens de verificação de integridade:

  • As sondagens de inicialização determinam se o contêiner foi iniciado e está pronto para aceitar o tráfego.

    • Quando você configura uma sondagem de inicialização, as verificações de atividade e prontidão são desativadas até que a sondagem de inicialização determine que o contêiner foi iniciado para evitar interferência na inicialização do serviço.
    • As sondagens de inicialização são especialmente úteis se você usa verificações de atividade em contêineres iniciais lentos, porque elas impedem que os contêineres sejam encerrados prematuramente antes de estarem funcionando.
  • As sondagens de atividade determinam se é necessário reiniciar um contêiner.

    • A reinicialização de um contêiner nesse caso pode aumentar a disponibilidade do serviço em caso de bugs.
    • As sondagens de atividade têm como objetivo reiniciar instâncias individuais que não podem ser recuperadas de nenhuma outra forma. Eles são usados principalmente para falhas irrecuperáveis de instâncias, como capturar um impasse em que um serviço está em execução, mas não consegue progredir. É possível exigir uma sondagem de atividade para cada contêiner usando políticas de organização personalizadas.
    • Quando um serviço passa por falhas repetidas de sondagem, o Cloud Run limita as reinicializações de instâncias para evitar loops de falha incontrolados.
  • Sondagens de prontidão (prévia)

    As sondagens de prontidão determinam quando uma instância no serviço do Cloud Run deve atender o tráfego. As verificações de prontidão começam depois que a sondagem de inicialização do contêiner é concluída. Se uma instância falhar na sondagem de prontidão além do valor de limite de falha configurado, o Cloud Run vai parar de enviar novo tráfego para ela. O Cloud Run não encerra a instância e envia o tráfego de volta para a instância quando ela começa a passar novamente na verificação de prontidão.

Configurar sondagens de inicialização

Qualquer mudança na configuração leva à criação de uma nova revisão. As próximas revisões também recebem automaticamente essa configuração, a menos que você faça atualizações explícitas para alterá-la.

É possível configurar sondagens HTTP, TCP e gRPC usando o Google Cloud console, YAML ou Terraform:

Console

  1. No console Google Cloud , acesse a página do Cloud Run:

    Acessar o Cloud Run

  2. Para um novo serviço, expanda Contêiner(es), volumes, rede, segurança para exibir as opções de verificação de integridade. Para um serviço atual, clique no serviço que você quer configurar e em Editar e implantar para exibir as opções de verificação de integridade.

  3. Na função Contêiner(es) acesse Verificações de integridade e clique em Adicionar verificação de integridade para abrir Adicionar verificação de integridade de configuração do Terraform.

  4. No menu Selecionar tipo de verificação de integridade, selecione Verificação de inicialização.

  5. No menu Selecionar tipo de sondagem, escolha o tipo de sondagem que você quer usar, por exemplo, HTTP ou gRPC. O formulário de configuração da sondagem será exibido.

  6. A configuração da sondagem varia de acordo com o tipo. Defina as configurações da sondagem:

    • Se você estiver usando sondagens HTTP:

      • Adicione um endpoint HTTP/1 (o padrão do Cloud Run, não HTTP/2) no código de serviço para responder à sondagem. O nome do endpoint (por exemplo, /startup, /health ou /are_you_ready) precisa corresponder ao path na configuração da sondagem. Os endpoints de verificação de integridade HTTP são acessíveis externamente e seguem os mesmos princípios de qualquer outro endpoint de serviço HTTP exposto externamente.

      • Use o campo Caminho para especificar o caminho relativo ao endpoint, por exemplo, /.

      • Marque a caixa de seleçã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 você estiver usando sondagens gRPC:

    • Em Porta, especifique a porta do contêiner usada para seu serviço.

    • Em Atraso inicial, especifique o número de segundos para aguardar após a inicialização do contêiner antes de realizar a primeira sondagem. Especifique um valor de 0 a 240 segundos. O valor padrão é de 0 segundos.

    • Em Período, especifique o período (em segundos) em que a sondagem será realizada. Por exemplo, 2 para executar a sondagem a cada dois segundos. Especifique um valor de 1 segundo a 240 segundos. O valor padrão é de 10 segundos.

    • Em Limite de falha, especifique o número de tentativas para realizar a sondagem antes de encerrar o contêiner. O valor padrão é 3.

    • Em Tempo limite, especifique o número de segundos para aguardar até que a sondagem atinja o tempo limite. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor entre 1 e 240. O padrão é 1.

  7. Clique em Adicionar para incluir o novo limite.

  8. Clique em Criar ou Implantar.

gcloud

inicialização do TCP

Execute este comando:

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

Substitua:

  • SERVICE: o nome do seu serviço do Cloud Run.
  • IMAGE_URL: uma referência à imagem de contêiner. Por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se você usa o Artifact Registry, o repositório REPO_NAME já precisa ter sido criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
  • Opcional. CONTAINER_PORT: a porta do contêiner usada para seu serviço.
  • DELAY: número de segundos de espera após o início do contêiner antes de executar a primeira sondagem. Especifique um valor de 0 a 240 segundos. O valor padrão é de 0 segundos.
  • Opcional. TIMEOUT: o número de segundos de espera até que a sondagem expire. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor entre 1 e 240. O padrão é 1.
  • THRESHOLD: o número de vezes que a sondagem é repetida antes de encerrar o contêiner. O valor padrão é 3.
  • PERIOD: período (em segundos) em que a sondagem deve ser feita. Por exemplo, 2 para executar a sondagem a cada dois segundos. Especifique um valor de 1 segundo a 240 segundos. O valor padrão é de 10 segundos.

Inicialização HTTP

Adicione um endpoint HTTP/1 (o padrão do Cloud Run, não HTTP/2) no código de serviço para responder à sondagem. O nome do endpoint (por exemplo, /startup, /health ou /are_you_ready) precisa corresponder ao path na configuração da sondagem. Os endpoints de verificação de integridade HTTP são acessíveis externamente e seguem os mesmos princípios de qualquer outro endpoint de serviço HTTP exposto externamente.

Execute este 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:

  • SERVICE: o nome do seu serviço do Cloud Run.
  • IMAGE_URL: uma referência à imagem de contêiner. Por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se você usa o Artifact Registry, o repositório REPO_NAME já precisa ter sido criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
  • PATH: um caminho relativo para o endpoint HTTP, por exemplo, /health.
  • Opcional. CONTAINER_PORT: definido como a porta do contêiner usada para o serviço.
  • Opcional. DELAY: o número de segundos de espera após o início do contêiner antes de executar a primeira sondagem. Especifique um valor de 0 a 240 segundos. O valor padrão é de 0 segundos.
  • Opcional. THRESHOLD: o número de vezes que a sondagem é repetida antes de encerrar o contêiner. O valor padrão é 3.
  • Opcional. TIMEOUT: o número de segundos a serem aguardados até que a sondagem expire. Esse valor não pode exceder o valor especificado para periodSeconds. Especifique um valor entre 1 e 240. O padrão é 1.
  • Opcional. PERIOD: o período (em segundos) em que a sondagem deve ser feita. Por exemplo, 2 para executar a sondagem a cada dois segundos. Especifique um valor de 1 segundo a 240 segundos. O valor padrão é de 10 segundos.

Inicialização do gRPC

Verifique se a imagem do contêiner implementa o protocolo de verificação de integridade do gRPC.

Execute este 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:

  • SERVICE: o nome do seu serviço do Cloud Run.
  • IMAGE_URL: uma referência à imagem de contêiner. Por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se você usa o Artifact Registry, o repositório REPO_NAME já precisa ter sido criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
  • Opcional. GRPC_SERVICE: se definido, será usado no campo service do grpc.health.v1.HealthCheckRequest quando a rpc grpc.health.v1.Health.Check for chamada.
  • Opcional. CONTAINER_PORT: a porta do contêiner usada para seu serviço.
  • Opcional. DELAY: o número de segundos de espera após o início do contêiner antes de executar a primeira sondagem. Especifique um valor de 0 a 240 segundos. O valor padrão é de 0 segundos.
  • Opcional. THRESHOLD: o número de vezes que a sondagem é repetida antes de encerrar o contêiner. O valor padrão é 3.
  • Opcional. TIMEOUT: o número de segundos a serem aguardados até que a sondagem expire. Esse valor não pode exceder o valor especificado para periodSeconds. Especifique um valor entre 1 e 240. O padrão é 1.
  • Opcional. PERIOD: o período (em segundos) em que a sondagem deve ser feita. Por exemplo, 2 para executar a sondagem a cada dois segundos. Especifique um valor de 1 segundo a 240 segundos. O valor padrão é de 10 segundos.

YAML

inicialização do TCP

  1. Se você estiver criando um novo serviço, pule esta etapa. Se você estiver atualizando um serviço existente, faça o download da configuração YAML correspondente:
    gcloud run services describe SERVICE --format export > service.yaml
  2. Configure o atributo startupProbe como 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:

    • SERVICE: o nome do seu serviço do Cloud Run.
    • IMAGE_URL: uma referência à imagem de contêiner. Por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se você usa o Artifact Registry, o repositório REPO_NAME já precisa ter sido criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
    • Opcional. CONTAINER_PORT: a porta do contêiner usada para seu serviço.
    • DELAY: número de segundos de espera após o início do contêiner antes de executar a primeira sondagem. Especifique um valor de 0 a 240 segundos. O valor padrão é de 0 segundos.
    • Opcional. TIMEOUT: o número de segundos de espera até que a sondagem expire. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor entre 1 e 240. O padrão é 1.
    • THRESHOLD: o número de vezes que a sondagem é repetida antes de encerrar o contêiner. O valor padrão é 3.
    • PERIOD: período (em segundos) em que a sondagem deve ser feita. Por exemplo, 2 para executar a sondagem a cada dois segundos. Especifique um valor de 1 segundo a 240 segundos. O valor padrão é de 10 segundos.
  3. Crie ou atualize o serviço usando o seguinte comando:
    gcloud run services replace service.yaml

Inicialização HTTP

Adicione um endpoint HTTP/1 (o padrão do Cloud Run, não HTTP/2) no código de serviço para responder à sondagem. O nome do endpoint (por exemplo, /startup, /health ou /are_you_ready) precisa corresponder ao path na configuração da sondagem. Os endpoints de verificação de integridade HTTP são acessíveis externamente e seguem os mesmos princípios de qualquer outro endpoint de serviço HTTP exposto externamente.

  1. Se você estiver criando um novo serviço, pule esta etapa. Se você estiver atualizando um serviço existente, faça o download da configuração YAML correspondente:
    gcloud run services describe SERVICE --format export > service.yaml
  2. Configure o atributo startupProbe como 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:

    • SERVICE: o nome do seu serviço do Cloud Run.
    • IMAGE_URL: uma referência à imagem de contêiner. Por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se você usa o Artifact Registry, o repositório REPO_NAME já precisa ter sido criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
    • PATH: um caminho relativo para o endpoint HTTP, por exemplo, /health.
    • Opcional. CONTAINER_PORT: definido como a porta do contêiner usada para o serviço.
    • Opcional. DELAY: o número de segundos de espera após o início do contêiner antes de executar a primeira sondagem. Especifique um valor de 0 a 240 segundos. O valor padrão é de 0 segundos.
    • Opcional. THRESHOLD: o número de vezes que a sondagem é repetida antes de encerrar o contêiner. O valor padrão é 3.
    • Opcional: httpHeaders pode ser usado para fornecer vários cabeçalhos personalizados ou repetidos usando os campos HEADER_NAME e HEADER_VALUE, conforme mostrado.
    • Opcional. TIMEOUT: o número de segundos a serem aguardados até que a sondagem expire. Esse valor não pode exceder o valor especificado para periodSeconds. Especifique um valor entre 1 e 240. O padrão é 1.
    • Opcional. PERIOD: o período (em segundos) em que a sondagem deve ser feita. Por exemplo, 2 para executar a sondagem a cada dois segundos. Especifique um valor de 1 segundo a 240 segundos. O valor padrão é de 10 segundos.
  3. Crie ou atualize o serviço usando o seguinte comando:
    gcloud run services replace service.yaml

Inicialização do gRPC

Verifique se a imagem do contêiner implementa o protocolo de verificação de integridade do gRPC.

  1. Se você estiver criando um novo serviço, pule esta etapa. Se você estiver atualizando um serviço existente, faça o download da configuração YAML correspondente:
    gcloud run services describe SERVICE --format export > service.yaml
  2. Configure o atributo startupProbe como 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:

    • SERVICE: o nome do seu serviço do Cloud Run.
    • IMAGE_URL: uma referência à imagem de contêiner. Por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se você usa o Artifact Registry, o repositório REPO_NAME já precisa ter sido criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
    • Opcional. GRPC_SERVICE: se definido, será usado no campo service do grpc.health.v1.HealthCheckRequest quando a rpc grpc.health.v1.Health.Check for chamada.
    • Opcional. CONTAINER_PORT: a porta do contêiner usada para seu serviço.
    • Opcional. DELAY: o número de segundos de espera após o início do contêiner antes de executar a primeira sondagem. Especifique um valor de 0 a 240 segundos. O valor padrão é de 0 segundos.
    • Opcional. THRESHOLD: o número de vezes que a sondagem é repetida antes de encerrar o contêiner. O valor padrão é 3.
    • Opcional. TIMEOUT: o número de segundos a serem aguardados até que a sondagem expire. Esse valor não pode exceder o valor especificado para periodSeconds. Especifique um valor entre 1 e 240. O padrão é 1.
    • Opcional. PERIOD: o período (em segundos) em que a sondagem deve ser feita. Por exemplo, 2 para executar a sondagem a cada dois segundos. Especifique um valor de 1 segundo a 240 segundos. O valor padrão é de 10 segundos.
  3. Crie ou atualize o serviço usando o seguinte comando:
    gcloud run services replace service.yaml

Terraform

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

inicialização do TCP

Configure o 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
        }
      }
    }
  }
}

Inicialização HTTP

Adicione um endpoint HTTP/1 (o padrão do Cloud Run, não HTTP/2) no código de serviço para responder à sondagem. O nome do endpoint (por exemplo, /startup, /health ou /are_you_ready) precisa corresponder ao path na configuração da sondagem. Os endpoints de verificação de integridade HTTP são acessíveis externamente e seguem os mesmos princípios de qualquer outro endpoint de serviço HTTP exposto externamente.

Configure o 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 = "*"
          }
        }
      }
    }
  }
}

Inicialização do gRPC

Verifique se a imagem do contêiner implementa o protocolo de verificação de integridade do gRPC.

Configure o 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 inicialização TCP padrão

Se você não configurar explicitamente uma sondagem de inicialização TCP para um novo serviço do Cloud Run, o Cloud Run vai configurar automaticamente uma sondagem de inicialização TCP com os seguintes valores padrão:

startupProbe:
          timeoutSeconds: 240
          periodSeconds: 240
          failureThreshold: 1

Altere esses valores padrão seguindo as instruções na seção de configuração de sondagem nesta página.

Requisitos e comportamento da sondagem de inicialização

Tipo de sondagem Requisitos Comportamento
inicialização do TCP Nenhum Por padrão, o Cloud Run faz uma conexão TCP para abrir o soquete TCP na porta especificada. Se o Cloud Run não conseguir estabelecer uma conexão, isso indica uma falha.

Se uma sondagem de inicialização não for bem-sucedida dentro do tempo especificado (failureThreshold * periodSeconds), que não pode exceder 240 segundos, o contêiner é desligado. Consulte também Padrões de TCP.
Inicialização HTTP Crie um endpoint de verificação de integridade HTTP
Use HTTP/1
Após a configuração da sondagem, o Cloud Run faz uma solicitação HTTP GET para o endpoint de verificação de integridade (por exemplo, /health). Qualquer resposta 2XX ou 3XX indica sucesso, e as demais indicam falha.

Se uma sondagem de inicialização não for concluída no tempo especificado (failureThreshold * periodSeconds), que não pode exceder 240 segundos, o contêiner será desligado.

Se a sondagem de inicialização HTTP for concluída no tempo especificado e você tiver configurado uma sondagem de atividade HTTP, ela será iniciada.
Inicialização do gRPC Implemente o protocolo de verificação de integridade do gRPC no serviço do Cloud Run. Se uma sondagem de inicialização não for bem-sucedida dentro do tempo especificado (failureThreshold * periodSeconds), que não pode exceder 240 segundos, o contêiner será encerrado.

configurar sondagens de atividade

Qualquer mudança na configuração leva à criação de uma nova revisão. As próximas revisões também recebem automaticamente essa configuração, a menos que você faça atualizações explícitas para alterá-la.

É possível configurar sondagens HTTP e gRPC usando o console Google Cloud , YAML ou Terraform:

Console

  1. No console Google Cloud , acesse a página do Cloud Run:

    Acessar o Cloud Run

  2. Para um novo serviço, expanda Contêiner(es), volumes, rede, segurança para exibir as opções de verificação de integridade. Para um serviço atual, clique no serviço que você quer configurar e em Editar e implantar para exibir as opções de verificação de integridade.

  3. Na função Contêiner(es) acesse Verificações de integridade e clique em Adicionar verificação de integridade para abrir Adicionar verificação de integridade de configuração do Terraform.

  4. No menu Selecionar tipo de verificação de integridade, selecione Verificação de atividade.

  5. No menu Selecionar tipo de sondagem, escolha o tipo de sondagem que você quer usar, por exemplo, HTTP ou gRPC. O formulário de configuração da sondagem será exibido.

  6. A configuração da sondagem varia de acordo com o tipo. Defina as configurações da sondagem:

    • Se você estiver usando sondagens HTTP:

      • Adicione um endpoint HTTP/1 (o padrão do Cloud Run, não HTTP/2) no código de serviço para responder à sondagem. O nome do endpoint (por exemplo, /startup, /health ou /are_you_ready) precisa corresponder ao path na configuração da sondagem. Os endpoints de verificação de integridade HTTP são acessíveis externamente e seguem os mesmos princípios de qualquer outro endpoint de serviço HTTP exposto externamente.

      • Use o campo Caminho para especificar o caminho relativo ao endpoint, por exemplo, /.

      • Marque a caixa de seleçã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 você estiver usando sondagens gRPC:

    • Em Porta, especifique a porta do contêiner usada para seu serviço.

    • Em Atraso inicial, especifique o número de segundos para aguardar após a inicialização do contêiner antes de realizar a primeira sondagem. Especifique um valor de 0 a 240 segundos. O valor padrão é de 0 segundos.

    • Em Período, especifique o período (em segundos) em que a sondagem será realizada. Por exemplo, 2 para executar a sondagem a cada dois segundos. Especifique um valor de 1 segundo a 3600 segundos. O valor padrão é de 10 segundos.

    • Em Limite de falha, especifique o número de tentativas para realizar a sondagem antes de encerrar o contêiner. O valor padrão é 3.

    • Em Tempo limite, especifique o número de segundos para aguardar até que a sondagem atinja o tempo limite. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor entre 1 e 3600. O padrão é 1.

  7. Clique em Adicionar para incluir o novo limite.

  8. Clique em Criar ou Implantar.

gcloud

Atividade HTTP

Adicione um endpoint HTTP/1 (o padrão do Cloud Run, não HTTP/2) no código de serviço para responder à sondagem. O nome do endpoint (por exemplo, /startup, /health ou /are_you_ready) precisa corresponder ao path na configuração da sondagem. Os endpoints de verificação de integridade HTTP são acessíveis externamente e seguem os mesmos princípios de qualquer outro endpoint de serviço HTTP exposto externamente.

Execute este 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:

  • SERVICE: o nome do seu serviço do Cloud Run.
  • IMAGE_URL: uma referência à imagem de contêiner. Por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se você usa o Artifact Registry, o repositório REPO_NAME já precisa ter sido criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
  • PATH: um caminho relativo para o endpoint HTTP, por exemplo, /health.
  • Opcional. CONTAINER_PORT: definido como a porta do contêiner usada para o serviço.
  • Opcional. DELAY: o número de segundos de espera após o início do contêiner antes de executar a primeira sondagem. Especifique um valor de 0 a 240 segundos. O valor padrão é de 0 segundos.
  • Opcional. THRESHOLD: o número de vezes que a sondagem é repetida antes de encerrar o contêiner. O valor padrão é 3.
  • Opcional. TIMEOUT: o número de segundos de espera até que a sondagem expire. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor entre 1 e 3600.O padrão é 1.
  • Opcional. PERIOD: o período (em segundos) em que a sondagem deve ser feita. Por exemplo, 2 para executar a sondagem a cada dois segundos. Especifique um valor de 1 segundo a 3600 segundos. O valor padrão é de 10 segundos.

Ativação do gRPC

Verifique se a imagem do contêiner implementa o protocolo de verificação de integridade do gRPC.

Execute este 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:

  • SERVICE: o nome do seu serviço do Cloud Run.
  • IMAGE_URL: uma referência à imagem de contêiner. Por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se você usa o Artifact Registry, o repositório REPO_NAME já precisa ter sido criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
  • Opcional. GRPC_SERVICE: se definido, será usado no campo service do grpc.health.v1.HealthCheckRequest quando a rpc grpc.health.v1.Health.Check for chamada.
  • Opcional. CONTAINER_PORT: a porta do contêiner usada para seu serviço.
  • Opcional. DELAY: o número de segundos de espera após o início do contêiner antes de executar a primeira sondagem. Especifique um valor de 0 a 240 segundos. O valor padrão é de 0 segundos.
  • Opcional. THRESHOLD: o número de vezes que a sondagem é repetida antes de encerrar o contêiner. O valor padrão é 3.
  • Opcional. TIMEOUT: o número de segundos de espera até que a sondagem expire. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor entre 1 e 3600.O padrão é 1.
  • Opcional. PERIOD: o período (em segundos) em que a sondagem deve ser feita. Por exemplo, 2 para executar a sondagem a cada dois segundos. Especifique um valor de 1 segundo a 3600 segundos. O valor padrão é de 10 segundos.

YAML

Atividade HTTP

Adicione um endpoint HTTP/1 (o padrão do Cloud Run, não HTTP/2) no código de serviço para responder à sondagem. O nome do endpoint (por exemplo, /startup, /health ou /are_you_ready) precisa corresponder ao path na configuração da sondagem. Os endpoints de verificação de integridade HTTP são acessíveis externamente e seguem os mesmos princípios de qualquer outro endpoint de serviço HTTP exposto externamente.

  1. Se você estiver criando um novo serviço, pule esta etapa. Se você estiver atualizando um serviço existente, faça o download da configuração YAML correspondente:
    gcloud run services describe SERVICE --format export > service.yaml
  2. Configure o atributo livenessProbe como 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:

    • SERVICE: o nome do seu serviço do Cloud Run.
    • IMAGE_URL: uma referência à imagem de contêiner. Por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se você usa o Artifact Registry, o repositório REPO_NAME já precisa ter sido criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
    • PATH: um caminho relativo para o endpoint HTTP, por exemplo, /health.
    • Opcional. CONTAINER_PORT: definido como a porta do contêiner usada para o serviço.
    • Opcional. DELAY: o número de segundos de espera após o início do contêiner antes de executar a primeira sondagem. Especifique um valor de 0 a 240 segundos. O valor padrão é de 0 segundos.
    • Opcional. THRESHOLD: o número de vezes que a sondagem é repetida antes de encerrar o contêiner. O valor padrão é 3.
    • Opcional: httpHeaders pode ser usado para fornecer vários cabeçalhos personalizados ou repetidos usando os campos HEADER_NAME e HEADER_VALUE, conforme mostrado.
    • Opcional. TIMEOUT: o número de segundos de espera até que a sondagem expire. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor entre 1 e 3600.O padrão é 1.
    • Opcional. PERIOD: o período (em segundos) em que a sondagem deve ser feita. Por exemplo, 2 para executar a sondagem a cada dois segundos. Especifique um valor de 1 segundo a 3600 segundos. O valor padrão é de 10 segundos.
  3. Crie ou atualize o serviço usando o seguinte comando:
    gcloud run services replace service.yaml

Ativação do gRPC

Verifique se a imagem do contêiner implementa o protocolo de verificação de integridade do gRPC.

  1. Se você estiver criando um novo serviço, pule esta etapa. Se você estiver atualizando um serviço existente, faça o download da configuração YAML correspondente:
    gcloud run services describe SERVICE --format export > service.yaml
  2. Configure o atributo livenessProbe como 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:

    • SERVICE: o nome do seu serviço do Cloud Run.
    • IMAGE_URL: uma referência à imagem de contêiner. Por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se você usa o Artifact Registry, o repositório REPO_NAME já precisa ter sido criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
    • Opcional. GRPC_SERVICE: se definido, será usado no campo service do grpc.health.v1.HealthCheckRequest quando a rpc grpc.health.v1.Health.Check for chamada.
    • Opcional. CONTAINER_PORT: a porta do contêiner usada para seu serviço.
    • Opcional. DELAY: o número de segundos de espera após o início do contêiner antes de executar a primeira sondagem. Especifique um valor de 0 a 240 segundos. O valor padrão é de 0 segundos.
    • Opcional. THRESHOLD: o número de vezes que a sondagem é repetida antes de encerrar o contêiner. O valor padrão é 3.
    • Opcional. TIMEOUT: o número de segundos de espera até que a sondagem expire. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor entre 1 e 3600.O padrão é 1.
    • Opcional. PERIOD: o período (em segundos) em que a sondagem deve ser feita. Por exemplo, 2 para executar a sondagem a cada dois segundos. Especifique um valor de 1 segundo a 3600 segundos. O valor padrão é de 10 segundos.

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

Terraform

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

Atividade HTTP

Adicione um endpoint HTTP/1 (o padrão do Cloud Run, não HTTP/2) no código de serviço para responder à sondagem. O nome do endpoint (por exemplo, /startup, /health ou /are_you_ready) precisa corresponder ao path na configuração da sondagem. Os endpoints de verificação de integridade HTTP são acessíveis externamente e seguem os mesmos princípios de qualquer outro endpoint de serviço HTTP exposto externamente.

Configure o 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 = "*"
          }
        }
      }
    }
  }
}

Ativação do gRPC

Verifique se a imagem do contêiner implementa o protocolo de verificação de integridade do gRPC.

Configure o 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 sondagem Requisitos Comportamento
Atividade HTTP Crie um endpoint de verificação de integridade HTTP
Use HTTP/1
A sondagem de atividade só é iniciada após a conclusão da sondagem de inicialização. Após a configuração da sondagem e a conclusão de qualquer sondagem de inicialização, o Cloud Run faz uma solicitação HTTP GET para o endpoint de verificação de integridade (por exemplo, /health). Qualquer resposta 2XX ou 3XX indica sucesso, e as demais indicam falha.

Se uma sondagem de atividade não for concluída dentro do tempo especificado (failureThreshold * periodSeconds), o contêiner será encerrado usando um sinal SIGKILL. Todas as solicitações restantes que ainda estavam sendo exibidas pelo contêiner são encerradas com o código de status HTTP 503. Depois que o contêiner é encerrado, o escalonamento automático do Cloud Run inicia uma nova instância de contêiner.
Ativação do gRPC Implemente o protocolo de verificação de integridade do gRPC no serviço do Cloud Run. Se você configurar uma sondagem de inicialização gRPC, ela será iniciada somente após a conclusão da sondagem.

Depois que a sondagem de atividade for configurada e todas as sondagens de inicialização forem bem-sucedidas, o Cloud Run fará uma solicitação de verificação de integridade para serviço.

Se uma sondagem de atividade não for bem-sucedida dentro do período especificado (failureThreshold * periodSeconds), o contêiner será encerrado usando um sinal SIGKILL. Depois que o contêiner é encerrado, o escalonamento automático do Cloud Run inicia uma nova instância de contêiner.

configurar sondagens de prontidão

Qualquer mudança na configuração leva à criação de uma nova revisão. As próximas revisões também recebem automaticamente essa configuração, a menos que você faça atualizações explícitas para alterá-la.

As seguintes limitações se aplicam às sondagens de prontidão:

  • Se você ativar a afinidade da sessão, o Cloud Run continuará enviando solicitações para a mesma instância, mesmo que a verificação de prontidão falhe.

  • O Cloud Run pode enviar solicitações a uma instância recém-iniciada antes que a sondagem de prontidão seja concluída pela primeira vez.

  • Se você tiver configurado uma sondagem de prontidão para seu serviço do Cloud Run usando a API Cloud Run Admin v1 antes de novembro de 2025, as verificações de prontidão não vão entrar em vigor mesmo depois de implantar uma nova configuração para esse serviço. Isso ocorre porque o serviço retém uma configuração mais antiga. Os serviços criados após novembro de 2025 ou que nunca usaram uma sondagem de preparação não serão afetados. Para ativar as sondagens de prontidão compatíveis nos serviços afetados, faça o seguinte:

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

    2. Implante outra revisão que adicione a definição relevante de sondagem de prontidão.

    Essas etapas limpam qualquer configuração mais antiga e ativam a funcionalidade de sondagem de prontidão.

É possível configurar uma sondagem de prontidão usando o console Google Cloud , a Google Cloud CLI ou YAML:

Console

  1. No console Google Cloud , acesse a página do Cloud Run:

    Acessar o Cloud Run

  2. Para um novo serviço, expanda Contêiner(es), volumes, rede, segurança para exibir as opções de verificação de integridade. Para um serviço atual, clique no serviço que você quer configurar e em Editar e implantar para exibir as opções de verificação de integridade.

  3. Na função Contêiner(es) acesse Verificações de integridade e clique em Adicionar verificação de integridade para abrir Adicionar verificação de integridade de configuração do Terraform.

  4. No menu Selecionar tipo de verificação de integridade, escolha Verificação de prontidão.

  5. No menu Selecionar tipo de sondagem, escolha o tipo de sondagem que você quer usar, por exemplo, HTTP ou gRPC. O formulário de configuração da sondagem será exibido.

  6. A configuração da sondagem varia de acordo com o tipo. Defina as configurações da sondagem:

    • Se você estiver usando sondagens HTTP:

      • Adicione um endpoint HTTP/1 (o padrão do Cloud Run, não HTTP/2) no código de serviço para responder à sondagem. O nome do endpoint (por exemplo, /startup, /health ou /are_you_ready) precisa corresponder ao path na configuração da sondagem. Os endpoints de verificação de integridade HTTP são acessíveis externamente e seguem os mesmos princípios de qualquer outro endpoint de serviço HTTP exposto externamente.

      • Use o campo Caminho para especificar o caminho relativo ao endpoint, por exemplo, /are_you_ready. O caminho padrão é /.

    • Se você estiver usando sondagens gRPC:

    • Em Porta, especifique a porta do contêiner para seu serviço. A porta padrão é a principal porta de entrada.

    • Em Período, especifique o período (em segundos) em que a sondagem será realizada. Por exemplo, 2 para executar a sondagem a cada dois segundos. Especifique um valor de 1 a 300. O valor padrão é de 10 segundos.

    • Em Limite de sucesso, especifique o número mínimo de sucessos consecutivos para que a sondagem seja considerada bem-sucedida após uma falha. O padrão é 2.

    • Em Limite de falha, especifique o número de tentativas para realizar a sondagem antes de informar uma falha, o que faz com que a instância pare de receber tráfego. O valor padrão é 3.

    • Em Tempo limite, especifique o número de segundos para aguardar até que a sondagem atinja o tempo limite. Esse valor não pode exceder o valor especificado para periodSeconds. Especifique um valor de 1 a 300. O padrão é 1.

  7. Clique em Adicionar para incluir o novo limite.

  8. Clique em Criar ou Implantar.

gcloud

Prontidão HTTP

Adicione um endpoint HTTP/1 (o padrão do Cloud Run, não HTTP/2) no código de serviço para responder à sondagem. O nome do endpoint (por exemplo, /startup, /health ou /are_you_ready) precisa corresponder ao path na configuração da sondagem. Os endpoints de verificação de integridade HTTP são acessíveis externamente e seguem os mesmos princípios de qualquer outro endpoint de serviço HTTP exposto externamente.

Execute este 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:

  • SERVICE: o nome do seu serviço do Cloud Run.
  • IMAGE_URL: uma referência à imagem de contêiner. Por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se você usa o Artifact Registry, o repositório REPO_NAME já precisa ter sido criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
  • Opcional. PATH: o caminho relativo para o endpoint HTTP, por exemplo, /are_you_ready. O caminho padrão é /.
  • Opcional. CONTAINER_PORT: a porta do contêiner usada para o serviço. A porta padrão é a principal porta de entrada.
  • Opcional. SUCCESS_THRESHOLD: o número mínimo de sucessos consecutivos para que a sondagem seja considerada bem-sucedida após uma falha. O padrão é 2.
  • Opcional. FAILURE_THRESHOLD: o número de vezes que a sondagem é repetida antes de informar uma falha, o que faz com que a instância pare de receber tráfego. o padrão é 3;
  • Opcional. TIMEOUT: o número de segundos de espera até que a sondagem expire. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor de 1 a 300. O padrão é 1.
  • Opcional. PERIOD: o período (em segundos) em que a sondagem deve ser feita. Por exemplo, 2 para executar a sondagem a cada dois segundos. Especifique um valor de 1 a 300. O valor padrão é de 10 segundos.

Prontidão do gRPC

Verifique se a imagem do contêiner implementa o protocolo de verificação de integridade do gRPC.

Execute este 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:

  • SERVICE: o nome do seu serviço do Cloud Run.
  • IMAGE_URL: uma referência à imagem de contêiner. Por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se você usa o Artifact Registry, o repositório REPO_NAME já precisa ter sido criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
  • Opcional. CONTAINER_PORT: a porta do contêiner usada para o serviço. A porta padrão é a principal de entrada.
  • Opcional. GRPC_SERVICE: se definido, será usado no campo service do grpc.health.v1.HealthCheckRequest quando a rpc grpc.health.v1.Health.Check for chamada.
  • Opcional. SUCCESS_THRESHOLD: o número mínimo de sucessos consecutivos para que a sondagem seja considerada bem-sucedida após uma falha. O padrão é 2.
  • Opcional. FAILURE_THRESHOLD: o número de vezes que a sondagem é repetida antes de informar uma falha, o que faz com que a instância pare de receber tráfego. o padrão é 3;
  • Opcional. TIMEOUT: o número de segundos de espera até que a sondagem expire. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor de 1 a 300. O padrão é 1.
  • Opcional. PERIOD: o período (em segundos) em que a sondagem deve ser feita. Por exemplo, 2 para executar a sondagem a cada dois segundos. Especifique um valor de 1 a 300. O valor padrão é de 10 segundos.

YAML

Prontidão HTTP

Adicione um endpoint HTTP/1 (o padrão do Cloud Run, não HTTP/2) no código de serviço para responder à sondagem. O nome do endpoint (por exemplo, /startup, /health ou /are_you_ready) precisa corresponder ao path na configuração da sondagem. Os endpoints de verificação de integridade HTTP são acessíveis externamente e seguem os mesmos princípios de qualquer outro endpoint de serviço HTTP exposto externamente.

  1. Se você estiver criando um novo serviço, pule esta etapa. Se você estiver atualizando um serviço existente, faça o download da configuração YAML correspondente:
    gcloud run services describe SERVICE --format export > service.yaml
  2. Configure o atributo readinessProbe como 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:

    • SERVICE: o nome do seu serviço do Cloud Run.
    • IMAGE_URL: uma referência à imagem de contêiner. Por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se você usa o Artifact Registry, o repositório REPO_NAME já precisa ter sido criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
    • Opcional. PATH: o caminho relativo para o endpoint HTTP, por exemplo, /are_you_ready. O caminho padrão é /.
    • Opcional. CONTAINER_PORT: a porta do contêiner usada para o serviço. A porta padrão é a principal porta de entrada.
    • Opcional. SUCCESS_THRESHOLD: o número mínimo de sucessos consecutivos para que a sondagem seja considerada bem-sucedida após uma falha. O padrão é 2.
    • Opcional. FAILURE_THRESHOLD: o número de vezes que a sondagem é repetida antes de informar uma falha, o que faz com que a instância pare de receber tráfego. o padrão é 3;
    • Opcional. TIMEOUT: o número de segundos de espera até que a sondagem expire. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor de 1 a 300. O padrão é 1.
    • Opcional. PERIOD: o período (em segundos) em que a sondagem deve ser feita. Por exemplo, 2 para executar a sondagem a cada dois segundos. Especifique um valor de 1 a 300. O valor padrão é de 10 segundos.

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

Prontidão do gRPC

Verifique se a imagem do contêiner implementa o protocolo de verificação de integridade do gRPC.

  1. Se você estiver criando um novo serviço, pule esta etapa. Se você estiver atualizando um serviço existente, faça o download da configuração YAML correspondente:
    gcloud run services describe SERVICE --format export > service.yaml
  2. Configure o atributo readinessProbe como 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:

    • SERVICE: o nome do seu serviço do Cloud Run.
    • IMAGE_URL: uma referência à imagem de contêiner. Por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se você usa o Artifact Registry, o repositório REPO_NAME já precisa ter sido criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
    • Opcional. CONTAINER_PORT: a porta do contêiner usada para o serviço. A porta padrão é a principal de entrada.
    • Opcional. GRPC_SERVICE: se definido, será usado no campo service do grpc.health.v1.HealthCheckRequest quando a rpc grpc.health.v1.Health.Check for chamada.
    • Opcional. SUCCESS_THRESHOLD: o número mínimo de sucessos consecutivos para que a sondagem seja considerada bem-sucedida após uma falha. O padrão é 2.
    • Opcional. FAILURE_THRESHOLD: o número de vezes que a sondagem é repetida antes de informar uma falha, o que faz com que a instância pare de receber tráfego. o padrão é 3;
    • Opcional. TIMEOUT: o número de segundos de espera até que a sondagem expire. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor de 1 a 300. O padrão é 1.
    • Opcional. PERIOD: o período (em segundos) em que a sondagem deve ser feita. Por exemplo, 2 para executar a sondagem a cada dois segundos. Especifique um valor de 1 a 300. O valor padrão é de 10 segundos.

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

Alocação de CPU

  • A CPU é sempre alocada quando as sondagens são executadas.
  • Todas as sondagens são cobradas pelo consumo de uso da memória e CPU, mas não há cobrança baseada em solicitação.

A seguir