Se os jobs no Google Distributed Cloud expirarem e você acreditar que o comportamento não se deve a um problema subjacente na instalação, aumente o intervalo de tempo limite. Neste documento, descrevemos como ajustar os intervalos de tempo limite para jobs de máquina e 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 job 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 que um job seja concluído, como configuração de hardware, de rede e de cluster. O Google Distributed Cloud tem tempos limite padrão para acomodar instalações típicas.
Confira abaixo exemplos de mensagens de erro de tempo limite do job:
Uma mensagem de erro de tempo limite do job de máquina (agrupada para facilitar a leitura) 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
de um pod com falha pode exibir uma mensagemDeadlineExceeded
semelhante (agrupada):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 de 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 de máquina com a anotação baremetal.cluster.gke.io/machine-job-deadline-seconds
no arquivo de configuração do cluster.
No exemplo a seguir, o intervalo de tempo limite do job de máquina é definido 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 será aplicado ao criar novos clusters com bmctl create cluster
ou fazer upgrade de clusters existentes 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 outros.
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 para 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 para cada máquina extra.
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) = 2.100) 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 será aplicado ao criar novos clusters com bmctl create cluster
ou fazer upgrade de clusters existentes com bmctl upgrade
cluster
.