Saiba como definir o tempo em que uma resposta para uma solicitação precisa ser retornada
pelos serviços do Cloud Run para Anthos no Google Cloud. Se uma resposta não for
retornada dentro do tempo especificado, a solicitação será finalizada e o erro 504
será retornado.
Limites de tempo
Esse limite é diferente com base na versão do cluster do GKE.
Versão GKE | Limite padrão | Limite de tempo máximo |
---|---|---|
0.16.0-gke.1 e superior | 300 segundos | 24 horas |
0.15.0-gke.3 e anterior | 300 segundos | 900 segundos |
Além de alterar o tempo limite da solicitação do Cloud Run for Anthos, verifique o framework da linguagem para ver se ele tem a própria configuração de tempo limite de solicitação que você também precisa atualizar.
Como configurar e atualizar o tempo limite da solicitaçã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.
Você pode definir o tempo limite da solicitação usando o Console do Cloud,
a ferramenta de linha de comando gcloud
ou um arquivo YAML ao implantar um novo
serviço ou atualizar um serviço existente e
implantar uma revisão:
Console
Clique em Criar serviço se estiver configurando um novo serviço em que fará uma implantação. Se você estiver configurando um serviço atual, clique nele e em Editar e implantar uma nova revisão.
Em Configurações avançadas, clique em Contêiner.
No campo Tempo limite da solicitação, insira o valor do tempo limite que você quer usar. O valor especificado precisa ser menor que o limite de tempo da versão do GKE do cluster.
Clique em Criar ou Implantar.
Linha de comando
Para serviços existentes, defina o tempo limite da solicitação executando o comando
gcloud kuberun core services update
com o parâmetro--timeout
.gcloud kuberun core services update SERVICE --timeout TIMEOUT
Substitua:
SERVICE
pelo nome do serviço;TIMEOUT
pelo tempo que você quer, usando um valor inteiro em segundos ou um valor de duração absoluta. Por exemplo,1m20s
, que é 1 minuto e 20 segundos. O valor especificado precisa ser menor que o limite de tempo da versão do GKE do cluster. Especifique0
para definir o tempo limite como o valor padrão.
Para novos serviços, defina o tempo limite da solicitação executando o comando
gcloud kuberun core services create
com o parâmetro--timeout
:gcloud kuberun core services create SERVICE --image=IMAGE_URL --timeout TIMEOUT
Substitua:
SERVICE
pelo nome do serviço;- IMAGE_URL por uma referência à imagem de contêiner. Por
exemplo,
gcr.io/myproject/my-image:latest
; TIMEOUT
pelo tempo que você quer, usando um valor inteiro em segundos ou um valor de duração absoluta. Por exemplo,1m20s
, que é 1 minuto e 20 segundos. O valor especificado precisa ser menor que o limite de tempo da versão do GKE do cluster. Especifique0
para definir o tempo limite como o valor padrão.
YAML
Para usar um arquivo YAML para modificar a configuração do serviço atual, consiga uma cópia da configuração atual, modifique e salve as alterações em um arquivo local e, em seguida, implante essas alterações no serviço.
Exiba como YAML e copie a configuração do serviço em um arquivo local, por exemplo,
service.yaml
:gcloud kuberun core services describe SERVICE --format yaml
Substitua SERVICE pelo nome do serviço do Cloud Run for Anthos.
No seu arquivo local, atualize o atributo
timeoutSeconds
:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: spec: containers: - image: IMAGE timeoutSeconds:
TIMEOUT
Substitua:
SERVICE
pelo nome do serviço do Cloud Run for Anthos;- IMAGE_URL por uma referência à imagem de contêiner. Por
exemplo,
gcr.io/myproject/my-image:latest
; TIMEOUT
pelo tempo limite que você quer, em segundos.
Substitua o serviço pela nova configuração usando o seguinte comando:
gcloud beta run services replace service.yaml