Ajustar os valores de tempo limite do job

Se os jobs no Google Distributed Cloud expirarem e você acreditar que o comportamento não se deve a um problema subjacente com sua instalação, aumente o intervalo de tempo limite. Neste documento, descrevemos como ajustar os intervalos de tempo limite para jobs de máquina e jobs em lote usando anotações na especificação de configuração.

Se precisar de mais ajuda, entre em contato com o Cloud Customer Care.

Tipos de jobs e erros

Há dois tipos de comandos e rotinas do Google Distributed Cloud: jobs de máquina e jobs em lote. Muitas coisas podem afetar o tempo necessário para a conclusão de um job, como a configuração do hardware, da rede e do cluster. O Google Distributed Cloud tem tempos limite padrão que se destinam a acomodar instalações típicas.

Veja a seguir exemplos de mensagens de erro de tempo limite do job:

  • Uma mensagem de erro de tempo limite do job da máquina (encapsulada para facilitar) de um registro de simulação como bmctl-workspace/cluster1/logs/preflight-20210501-000426/172.18.0.4:

    Pod:172.18.0.4-machine-preflf3a32c8a2f7a2449545c7e8ff954c961-652st
    Result:Failed Reason:DeadlineExceeded Time:Wed Feb  3 16:59:56 2021
    
  • A saída de kubectl logs para um pod com falha pode mostrar uma mensagem DeadlineExceeded semelhante (encapsulada):

    cluster-cluster1
    172.18.0.4-machine-preflf3a32c8a2f7a2449545c7e8ff954c961-652st  ●  0/1
    0 DeadlineExceeded  192.168.122.180  bmctl-control-plane  7m12
    

Ajustar o intervalo de tempo limite do job da máquina

Um job de máquina é uma rotina, como uma verificação de simulação executada em uma única máquina. Os jobs de máquina do Google Distributed Cloud têm um tempo limite padrão de 900 segundos ou 15 minutos. É possível ajustar o intervalo de tempo limite do job da máquina com a anotação baremetal.cluster.gke.io/machine-job-deadline-seconds no arquivo de configuração do cluster.

O exemplo a seguir define o intervalo de tempo limite do job da máquina como 1.800 segundos ou 30 minutos:

   apiVersion: baremetal.cluster.gke.io/v1
   kind: Cluster
   metadata:
     name: cluster1
     namespace: cluster-cluster1
     annotations:
       baremetal.cluster.gke.io/machine-job-deadline-seconds: "1800"
   spec:
   ...

O valor do intervalo de tempo limite é aplicado quando você cria novos clusters com bmctl create cluster ou quando faz upgrade dos clusters atuais com bmctl upgrade cluster. O novo intervalo é usado para todos os jobs de máquina única, incluindo bmctl check preflight, bmctl check -c CLUSTER_NAME e muito mais.

Ajustar o intervalo de tempo limite do job em lote

Um job em lote é uma rotina que é executada em várias máquinas, como uma verificação de simulação de rede. O intervalo de tempo limite padrão dos jobs em lote do Google Distributed Cloud depende do número de máquinas na rede. O intervalo de tempo limite padrão é de 900 segundos, mais 20 segundos adicionais para cada máquina.

Por exemplo, se o job em lote for executado em 60 máquinas, o intervalo de tempo limite padrão será de 2.100 segundos (900 + (20 * 60) = 2100) ou 35 minutos.

É possível ajustar o intervalo de tempo limite do job em lote com a anotação baremetal.cluster.gke.io/batch-job-deadline-seconds no arquivo de configuração do cluster.

O exemplo a seguir define o intervalo de tempo limite do job em lote como 10.800 segundos, ou 3 horas:

   apiVersion: baremetal.cluster.gke.io/v1
   kind: Cluster
   metadata:
     name: cluster1
     namespace: cluster-cluster1
     annotations:
       baremetal.cluster.gke.io/batch-job-deadline-seconds: "10800"
   spec:
   ...

O valor do intervalo de tempo limite é aplicado quando você cria novos clusters com bmctl create cluster ou quando faz upgrade dos clusters atuais com bmctl upgrade cluster.

A seguir

Se precisar de mais ajuda, entre em contato com o Cloud Customer Care.