Esta página descreve como configurar sondagens de inicialização HTTP, TCP e gRPC para jobs novos e atuais do Cloud Run. A configuração varia de acordo com o tipo de sondagem.
Casos de uso
É possível configurar sondagens de verificação de integridade de inicialização. As sondagens de inicialização determinam se o contêiner foi iniciado e está pronto para executar o job.
Quando um job falha repetidamente, o Cloud Run limita as reinicializações de tarefas para evitar loops de falha incontrolados.
Requisitos e comportamento da sondagem
Tipo de sondagem | Requisitos | Comportamento |
---|---|---|
inicialização do TCP | Nenhum | 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 intervalo de tempo especificado, o Cloud Run vai encerrar o contêiner. Esse intervalo de tempo é calculado como failureThreshold * periodSeconds e não pode exceder 240 segundos. |
Inicialização HTTP | Crie um endpoint de verificação de integridade HTTP Use HTTP/1 |
Depois que você configura a sondagem, o Cloud Run faz uma solicitação HTTP GET para o endpoint da verificação de integridade do job (por exemplo, /ready ). Qualquer resposta entre 200 e 400 é um sucesso, e todo o restante indica 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 será encerrado. |
Inicialização do gRPC | Implemente o protocolo de verificação de integridade do gRPC no seu job 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
Configure sondagens HTTP, TCP e gRPC usando o console do Google Cloud ou o YAML:
Console
Importante: se você estiver configurando o job do Cloud Run para sondagens HTTP, também precisará adicionar um endpoint de verificação de integridade HTTP no código do job para responder à sondagem. Se você estiver configurando uma sondagem gRPC, também precisará implementar o protocolo de verificação de integridade do gRPC no seu job do Cloud Run.
No console do Google Cloud , acesse a página Cloud Run.
Para um novo job, clique em IMPLANTAR CONTÊINER e em Job. Para um job existente, clique na guia Jobs, selecione o job e clique em VIEW AND EDIT JOB CONFIGURATION.
Expanda Contêineres, volumes, rede, segurança.
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.
No menu Selecionar tipo de verificação de integridade, escolha o tipo de inicialização da verificação de integridade.
No menu Selecionar tipo de sondagem, escolha o tipo de sondagem, como HTTP ou gRPC. O formulário de configuração da sondagem será exibido.
A configuração da sondagem varia de acordo com o tipo. Defina as configurações da sondagem:
- Se você estiver usando sondagens HTTP:
- 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. Em seguida, 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.
- Use o campo Caminho para especificar o caminho relativo ao endpoint, por exemplo,
- Em Porta, especifique a porta em que o contêiner de job detecta a sonda.
- Em Atraso inicial, especifique quantos segundos 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 intervalo de tempo (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 vezes que a sondagem será repetida antes de encerrar o contêiner. O valor padrão é 3.
- Em Tempo limite, especifique quantos segundos esperar 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.
- Se você estiver usando sondagens HTTP:
Clique em Adicionar para incluir o novo limite.
YAML
Importante: se você estiver configurando o job do Cloud Run para sondagens HTTP, também precisará adicionar um endpoint no código do job para responder à sondagem. Se você estiver configurando uma sondagem gRPC, também precisará implementar o protocolo de verificação de integridade do gRPC (em inglês) no seu job do Cloud Run.
inicialização do TCP
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 jobs describe JOB_NAME --format export > job.yaml
Configure o atributo
startupProbe
como mostrado:apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB spec: template: metadata: spec: containers: - image: IMAGE_URL startupProbe: tcpSocket: port: CONTAINER_PORT initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
Substitua as seguintes variáveis:
- JOB pelo nome do job do Cloud Run.
- IMAGE_URL pelo URL da imagem do contêiner do job. Por exemplo,
us-docker.pkg.dev/cloudrun/container/job:latest
. - Opcional: CONTAINER_PORT com a porta em que o contêiner de trabalho detecta a sondagem.
- DELAY com o número de segundos para aguardar após o início do contêiner antes de realizar a primeira sondagem. Especifique um valor de 0 a 240 segundos. O valor padrão é de 0 segundos.
- Opcional: TIMEOUT com 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 pelo número de vezes que a sondagem é repetida antes de encerrar o contêiner. O valor padrão é 3.
- PERIOD com 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.
Crie ou atualize o serviço usando o seguinte comando:
gcloud run jobs replace job.yaml
Inicialização HTTP
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 jobs describe JOB_NAME --format export > job.yaml
Configure o atributo
startupProbe
como mostrado:apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB 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 as seguintes variáveis:
- JOB pelo nome do job do Cloud Run.
- IMAGE_URL pelo URL da imagem do contêiner do job. Por exemplo,
us-docker.pkg.dev/cloudrun/container/job:latest
. - PATH pelo caminho relativo para o endpoint HTTP, por exemplo,
/ready
. - Opcional: CONTAINER_PORT com a porta em que o contêiner de trabalho detecta a sondagem.
- 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: DELAY pelo número de segundos de espera após o início do contêiner antes de realizar a primeira sondagem. Especifique um valor de 0 a 240 segundos. O valor padrão é de 0 segundos.
- Opcional: TIMEOUT com 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. - Opcional: THRESHOLD pelo número de vezes que a sondagem é repetida antes de encerrar o contêiner. O valor padrão é 3.
- Opcional: PERIOD com 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.
Crie ou atualize o serviço usando o seguinte comando:
gcloud run jobs replace job.yaml
Inicialização do gRPC
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 jobs describe JOB_NAME --format export > job.yaml
Configure o atributo
startupProbe
como mostrado:apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB 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 as seguintes variáveis:
- JOB pelo nome do job do Cloud Run.
- IMAGE_URL pelo URL da imagem do contêiner do job. Por exemplo,
us-docker.pkg.dev/cloudrun/container/job:latest
. - Opcional: GRPC_SERVICE. Se definido, ele será usado no
campo de serviço do
grpc.health.v1.HealthCheckRequest
quando o RPCgrpc.health.v1.Health.Check
for chamado. - Opcional: CONTAINER_PORT com a porta em que o contêiner de trabalho detecta a sondagem.
- Opcional: DELAY pelo número de segundos de espera após o início do contêiner antes de realizar a primeira sondagem. Especifique um valor de 0 a 240 segundos. O valor padrão é de 0 segundos.
- Opcional: TEMPO LIMITE com o número de segundos de espera 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: THRESHOLD pelo número de vezes que a sondagem é repetida antes de encerrar o contêiner. O valor padrão é 3.
- Opcional: PERIOD com 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.
Crie ou atualize o serviço usando o seguinte comando:
gcloud run jobs replace job.yaml
Criar endpoints de verificação de integridade HTTP
Se você configurar o job do Cloud Run para uma sondagem de inicialização HTTP, vai precisar adicionar um endpoint no código do job para responder à sondagem. É possível usar qualquer
nome para o endpoint, como /startup
ou /ready
. O nome precisa corresponder aos
valores especificados para path
na configuração da sondagem. Por exemplo, se você especificar /ready
para uma sondagem de inicialização HTTP, especifique path
na configuração da sondagem, como mostrado:
startupProbe: httpGet: path: /ready