Modificare i valori di timeout del job

Se i job in Google Distributed Cloud scadono e ritieni che il comportamento non sia dovuto a un problema di fondo dell'installazione, puoi aumentare il timeout intervallo di tempo. Questo documento descrive come regolare gli intervalli di timeout per i job di macchine e batch utilizzando le annotazioni nella specifica di configurazione.

Se hai bisogno di ulteriore assistenza, contatta l'assistenza clienti Google Cloud.

Tipi di job ed errori

Esistono due tipi di comandi e routine di Google Distributed Cloud: job di macchina e job batch. Molti fattori possono influire sul tempo necessario per completare un job, ad esempio la configurazione hardware, la configurazione di rete e la configurazione del cluster. Google Distributed Cloud ha timeout predefiniti pensati per supportare le installazioni tipiche.

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

  • Un messaggio di errore di timeout del job della macchina (con a capo per chiarezza) da un log di preflight comebmctl-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 da kubectl logs per un pod non riuscito potrebbe mostrare un risultato simile DeadlineExceeded messaggio (aggregato):

    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, come un controllo preflight limitato a una sola macchina. I job di macchine Google Distributed Cloud hanno un timeout predefinito di 900 secondi o 15 minuti. Puoi regolare il job della macchina intervallo di timeout con 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, o 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 di cluster esistenti con bmctl upgrade cluster. Il nuovo intervallo viene utilizzato per tutti i job su una singola macchina, tra cui bmctl check preflight, bmctl check -c CLUSTER_NAME e altri.

Modificare l'intervallo di timeout del job batch

Un job batch è una routine che viene eseguita su più macchine, come una rete controllo preflight. L'intervallo di timeout predefinito per il batch Google Distributed Cloud dipende dal numero di macchine nella rete. Il valore predefinito di timeout è di 900 secondi, più altri 20 secondi 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 regolare l'intervallo di timeout del job batch con baremetal.cluster.gke.io/batch-job-deadline-seconds annotazione nel cluster di configurazione del deployment.

L'esempio seguente imposta l'intervallo di timeout del job batch su 10.800 secondi o 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 di cluster esistenti con bmctl upgrade cluster.

Passaggi successivi

Se hai bisogno di ulteriore assistenza, contatta l'assistenza clienti Google Cloud.