Pode configurar sondagens de arranque HTTP, TCP e gRPC, juntamente com sondagens de atividade HTTP e gRPC para pools de trabalhadores do Cloud Run novos e existentes. A configuração varia consoante o tipo de teste.
Exemplos de utilização
Pode configurar dois tipos de sondas de verificação de funcionamento:
As sondas de atividade determinam se um contentor deve ser reiniciado.
- Neste caso, reiniciar um contentor pode aumentar a disponibilidade do grupo de trabalhadores 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 usados principalmente para falhas de instâncias irrecuperáveis, por exemplo, para detetar um impasse em que um conjunto de trabalhadores está em execução, mas não consegue progredir. Pode exigir uma sondagem de atividade para cada contentor através de políticas da organização personalizadas.
As sondagens de arranque determinam se o contentor foi iniciado.
- Quando configura uma sondagem de arranque, as verificações de atividade são desativadas até que a sondagem de arranque determine que o contentor foi iniciado, para evitar interferências com o arranque do conjunto de trabalhadores.
- As sondas de arranque são especialmente úteis se usar verificações de atividade em contentores de arranque lento, porque impedem que sejam encerrados prematuramente antes de estarem em funcionamento.
Tenha em atenção que, quando um conjunto de trabalhadores sofre falhas repetidas de inicialização ou de sondagem de atividade, o Cloud Run impede ciclos de falhas de sistema descontrolados limitando os reinícios de instâncias.
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.
Requisitos e comportamento da sonda
Tipo de teste | Requisitos | Comportamento |
---|---|---|
Arranque TCP | Nenhum | Se especificado, o Cloud Run estabelece uma ligação TCP para abrir o soquete TCP na porta especificada. 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, o Cloud Run encerra o contentor. O tempo é de, no máximo, 240 segundos, calculado como failureThreshold * periodSeconds , que define quando configura a análise de inicialização para o conjunto de trabalhadores. |
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 do conjunto de trabalhadores (por exemplo, /ready ). Qualquer resposta entre 200 e 400 é um êxito. 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 Cloud Run encerra o contentor.Se a sondagem de arranque HTTP for bem-sucedida dentro do tempo especificado e tiver configurado uma sondagem de atividade HTTP, o Cloud Run inicia a sondagem de atividade HTTP. |
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 entre 200 e 400 é 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 Cloud Run encerra o contentor através de 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 . Depois de o Cloud Run encerrar o contentor, o dimensionamento automático do Cloud Run inicia uma nova instância de contentor. |
Arranque do gRPC | Implemente o protocolo de verificação de funcionamento do gRPC no seu conjunto de trabalhadores 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 Cloud Run encerra o contentor. |
Atividade do gRPC | Implemente o protocolo de verificação de funcionamento do gRPC no seu conjunto de trabalhadores 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 conjunto de trabalhadores. Se uma sondagem de atividade não for bem-sucedida dentro do tempo especificado ( failureThreshold * periodSeconds ), o Cloud Run encerra o contentor através de um sinal SIGKILL . Depois de o Cloud Run encerrar o contentor, o dimensionamento automático do Cloud Run inicia uma nova instância de contentor. |
Configure sondas
Qualquer alteração de configuração leva à criação de uma nova revisão. As revisões subsequentes também vão receber 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 ou da API REST do Cloud Run:
Consola
Na Google Cloud consola, aceda ao Cloud Run:
Selecione Conjuntos de trabalhadores no menu.
- Se estiver a configurar um novo conjunto de trabalhadores, clique em Implementar contentor.
- Se estiver a configurar um conjunto de trabalhadores existente, selecione o conjunto de trabalhadores e, de seguida, clique em Editar e implementar nova revisão.
Se estiver a configurar um novo conjunto de trabalhadores, preencha a página inicial do conjunto de trabalhadores e, em seguida, clique em Recipientes, volumes, rede, segurança para expandir a página de configuração dos conjuntos de trabalhadores.
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 verificação de estado que quer adicionar.
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.
Configure as definições da sonda, que variam consoante o tipo de sonda:
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. 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, certifique-se de que a imagem do contentor implementa o protocolo de verificação do estado do gRPC. Para mais informações, consulte o protocolo de verificação de estado GRPC.
Para os tipos de sondagem HTTP e gRPC, especifique o seguinte:
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 segundos a 240 segundos. O valor predefinido é 0 segundos.
Período, especifique o período (em segundos) no qual realizar a sondagem. Por exemplo, especifique
2
para realizar a sondagem a cada 2 segundos. Especifique um valor entre 1 e 240 segundos. O valor predefinido é 10 segundos.Limite de falhas: especifique o número de vezes que deve tentar novamente a análise antes de encerrar o contentor. O valor predefinido é 3.
Tempo limite: especifique o número de segundos a aguardar até que o teste de sondagem expire. Especifique um valor de 1 ao menor dos seguintes valores: 240 e
periodSeconds
. A predefinição é 1.
Clique em Adicionar para adicionar o novo limite.
Clique em Criar ou Implementar.
API REST
Importante: se estiver a configurar o seu conjunto de trabalhadores do Cloud Run para sondagens HTTP, também tem de adicionar um ponto final de verificação de estado HTTP no código do conjunto de trabalhadores 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 conjunto de trabalhadores do Cloud Run.
Crie pontos finais de verificação de funcionamento de HTTP
Se configurar o conjunto de trabalhadores do Cloud Run para uma sondagem de arranque HTTP ou uma sondagem de atividade, tem de adicionar um ponto final no código do conjunto de trabalhadores para responder à sondagem. O ponto final pode ter o nome que quiser, por exemplo, /startup
ou /ready
, mas o nome tem de corresponder ao valor especificado 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
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 HTTP expostos externamente.