Esta página descreve como configurar sondas de arranque HTTP, TCP e gRPC para tarefas do Cloud Run novas e existentes. A configuração varia consoante o tipo de teste.
Exemplos de utilização
Pode configurar sondas de verificação de funcionamento de arranque. As sondas de arranque determinam se o contentor foi iniciado e está pronto para executar a tarefa.
Quando uma tarefa falha repetidamente ao iniciar, o Cloud Run limita os reinícios de tarefas para evitar ciclos de falhas de sistema descontrolados.
Requisitos e comportamento da sonda
Tipo de teste | Requisitos | Comportamento |
---|---|---|
Arranque TCP | Nenhum | 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 intervalo de tempo especificado, o Cloud Run encerra o contentor. Este intervalo de tempo é calculado como failureThreshold * periodSeconds e não pode exceder 240 segundos. |
Arranque HTTP | Crie um ponto final de verificação de funcionamento de HTTP Use HTTP/1 |
Depois de configurar a sonda, o Cloud Run faz um pedido HTTP GET ao ponto final de verificação do estado do trabalho (por exemplo, /ready ). Qualquer resposta entre 200 e 400 é um êxito. Tudo o resto indica uma falha.Se uma sonda de arranque não for bem-sucedida no tempo especificado ( failureThreshold * periodSeconds ), que não pode exceder 240 segundos, o contentor é encerrado |
Arranque do gRPC | Implemente o protocolo de verificação de funcionamento gRPC no seu trabalho 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 sondas
Configure sondagens HTTP, TCP e gRPC através da Google Cloud consola ou do YAML:
Consola
Importante: se estiver a configurar a tarefa do Cloud Run para sondagens HTTP, também tem de adicionar um ponto final de verificação de estado HTTP no código da tarefa para responder à sondagem. Se estiver a configurar uma sondagem gRPC, também tem de implementar o protocolo de verificação de estado do gRPC no seu trabalho do Cloud Run.
Na Google Cloud consola, aceda à página Cloud Run.
Para um novo trabalho, selecione Trabalhos no menu e clique em Implementar contentor. Para uma tarefa existente, clique no separador Tarefas, clique na tarefa pretendida e, de seguida, clique em Ver e editar configuração da tarefa.
Expanda Contentores, volumes, rede, segurança.
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.
No menu Selecionar tipo de verificação de estado, selecione o tipo de inicialização da verificação de estado.
No menu Selecionar tipo de teste, selecione o tipo de teste, como HTTP ou gRPC. É apresentado o formulário de configuração da sondagem.
Tenha em atenção que a configuração da sonda varia consoante o tipo de sonda. Configure as definições da sondagem:
- Se estiver a usar verificações HTTP:
- 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. 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 para o ponto final, por exemplo,
- Para Porta, especifique a porta onde o contentor de tarefas escuta a sonda.
- Para Atraso inicial, especifique quantos segundos 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.
- Para Período, especifique o intervalo de tempo (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. - Para o Limite de falhas, especifique quantas vezes deve tentar novamente a sondagem antes de encerrar o contentor. O valor predefinido é 3.
- Para Tempo limite, especifique o número de segundos a aguardar até que o teste de sondagem expire. Este valor não pode exceder o valor especificado para
periodSeconds
. Especifique um valor de 1 a 240. A predefinição é 1.
- Se estiver a usar verificações HTTP:
Clique em Adicionar para adicionar o novo limite
YAML
Importante: se estiver a configurar a tarefa do Cloud Run para sondagens HTTP, também tem de adicionar um ponto final no código da tarefa para responder à sondagem. Se estiver a configurar uma sondagem gRPC, também tem de implementar o protocolo de verificação de funcionamento do gRPC no seu trabalho do Cloud Run.
Arranque TCP
Se estiver a criar uma nova tarefa, ignore este passo. Se estiver a atualizar uma tarefa existente, transfira a respetiva configuração YAML:
gcloud run jobs describe JOB_NAME --format export > job.yaml
Configure o atributo
startupProbe
conforme 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 com o nome da tarefa do Cloud Run.
- IMAGE_URL com o URL da imagem do contentor de tarefas, por exemplo,
us-docker.pkg.dev/cloudrun/container/job:latest
. - Opcional: CONTAINER_PORT com a porta na qual o contentor de tarefas escuta a sondagem.
- DELAY com 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: TIMEOUT com 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. - THRESHOLD com o número de vezes para repetir a sondagem antes de encerrar o contentor. O valor predefinido é 3.
- PERIOD com o 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.
Crie ou atualize a tarefa através do seguinte comando:
gcloud run jobs replace job.yaml
Arranque HTTP
Se estiver a criar uma nova tarefa, ignore este passo. Se estiver a atualizar uma tarefa existente, transfira a respetiva configuração YAML:
gcloud run jobs describe JOB_NAME --format export > job.yaml
Configure o atributo
startupProbe
conforme 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 com o nome da tarefa do Cloud Run.
- IMAGE_URL com o URL da imagem do contentor de tarefas, por exemplo,
us-docker.pkg.dev/cloudrun/container/job:latest
. - PATH com o caminho relativo para o ponto final de HTTP, por exemplo,
/ready
. - Opcional: CONTAINER_PORT com a porta na qual o contentor de tarefas escuta a sondagem.
- 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: DELAY com 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: TIMEOUT com 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. - Opcional: THRESHOLD com o número de vezes para repetir a sondagem antes de encerrar o contentor. O valor predefinido é 3.
- Opcional: PERIOD com o 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 segundo a 240 segundos. O valor predefinido é 10 segundos.
Crie ou atualize a tarefa através do seguinte comando:
gcloud run jobs replace job.yaml
Arranque do gRPC
Se estiver a criar uma nova tarefa, ignore este passo. Se estiver a atualizar uma tarefa existente, transfira a respetiva configuração YAML:
gcloud run jobs describe JOB_NAME --format export > job.yaml
Configure o atributo
startupProbe
conforme 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 com o nome da tarefa do Cloud Run.
- IMAGE_URL com o URL da imagem do contentor de tarefas, por exemplo,
us-docker.pkg.dev/cloudrun/container/job:latest
. - Opcional: GRPC_SERVICE. Se estiver definido, este valor é usado no campo service do
grpc.health.v1.HealthCheckRequest
quando o RPCgrpc.health.v1.Health.Check
é chamado. - Opcional: CONTAINER_PORT com a porta na qual o contentor de tarefas escuta a sondagem.
- Opcional: DELAY com 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: TIMEOUT com o número de segundos a aguardar até o teste exceder o tempo limite. Este valor não pode exceder o valor especificado para periodSeconds. Especifique um valor de 1 a 240. A predefinição é 1.
- Opcional: THRESHOLD com o número de vezes para repetir a sondagem antes de encerrar o contentor. O valor predefinido é 3.
- Opcional: PERIOD com o 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 segundo a 240 segundos. O valor predefinido é 10 segundos.
Crie ou atualize a tarefa através do seguinte comando:
gcloud run jobs replace job.yaml
Crie pontos finais de verificação de funcionamento de HTTP
Se configurar a tarefa do Cloud Run para uma sondagem de arranque HTTP, tem de adicionar um ponto final no código da tarefa para responder à sondagem. Pode usar qualquer nome para o ponto final, como /startup
ou /ready
. O nome tem de corresponder aos valores especificados para path
na configuração da sondagem. Por exemplo, se especificar /ready
para uma sondagem de arranque HTTP, especifique path
na configuração da sondagem, conforme mostrado:
startupProbe: httpGet: path: /ready