Modificare i valori di timeout del job

Se i job in Google Distributed Cloud vanno in timeout e ritieni che il comportamento non sia dovuto a un problema sottostante con l'installazione, puoi aumentare l'intervallo di timeout. Questo documento descrive come regolare gli intervalli di timeout per i job di machine learning e i job batch utilizzando le annotazioni nella specifica di configurazione.

Tipi di prestazioni ed errori

Esistono due tipi di comandi e routine di Google Distributed Cloud: job delle macchine e job batch. Molti fattori possono influire sul tempo necessario per il completamento di un job, ad esempio la configurazione hardware, la configurazione di rete e la configurazione del cluster. Google Distributed Cloud ha timeout predefiniti che hanno lo scopo di adattarsi alle installazioni tipiche.

Di seguito sono riportati alcuni esempi di messaggi di errore di timeout del job:

  • Un messaggio di errore di timeout del job della macchina (con wrapping per chiarezza) da un log di controllo preliminare come 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
    
  • L'output di kubectl logs per un pod non riuscito potrebbe mostrare un messaggio DeadlineExceeded simile (con wrapping):

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

Modificare l'intervallo di timeout del job della macchina

Un job macchina è una routine che viene eseguita su una sola macchina, ad esempio un controllo preliminare limitato a una singola macchina. I job macchina di Google Distributed Cloud hanno un timeout predefinito di 900 secondi, ovvero 15 minuti. Puoi regolare l'intervallo di timeout del job della macchina con l'annotazione baremetal.cluster.gke.io/machine-job-deadline-seconds nel file di configurazione del cluster.

L'esempio seguente imposta l'intervallo di timeout del job della macchina su 1800 secondi, ovvero 30 minuti:

   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:
   ...

Il valore dell'intervallo di timeout viene applicato quando crei nuovi cluster con bmctl create cluster o quando esegui l'upgrade dei cluster esistenti con bmctl upgrade cluster. Il nuovo intervallo viene utilizzato per tutti i job su una singola macchina, inclusi bmctl check preflight, bmctl check -c CLUSTER_NAME e altri.

Modifica l'intervallo di timeout del job batch

Un job batch è una routine che viene eseguita su più macchine, ad esempio un controllo prevolo di rete. L'intervallo di timeout predefinito per i job batch di Google Distributed Cloud dipende dal numero di macchine nella rete. L'intervallo di timeout predefinito è di 900 secondi, più 20 secondi aggiuntivi per ogni macchina.

Ad esempio, se il job batch viene eseguito su 60 macchine, l'intervallo di timeout predefinito è di 2100 secondi (900 + (20 * 60) = 2100) o 35 minuti.

Puoi modificare l'intervallo di timeout del job batch con l'annotazione baremetal.cluster.gke.io/batch-job-deadline-seconds nel file di configurazione del cluster.

L'esempio seguente imposta l'intervallo di timeout del job batch su 10.800 secondi, ovvero 3 ore:

   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:
   ...

Il valore dell'intervallo di timeout viene applicato quando crei nuovi cluster con bmctl create cluster o quando esegui l'upgrade dei cluster esistenti con bmctl upgrade cluster.

Passaggi successivi

Se hai bisogno di ulteriore assistenza, contatta l'assistenza clienti Google Cloud. Puoi anche consultare la sezione Richiedere assistenza per ulteriori informazioni sulle risorse di assistenza, tra cui:

  • Requisiti per l'apertura di una richiesta di assistenza.
  • Strumenti per aiutarti a risolvere i problemi, ad esempio la configurazione dell'ambiente, i log e le metriche.
  • Componenti supportati.