Se i job in Google Distributed Cloud scadono 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 modificare gli intervalli di timeout per i job della macchina e i job batch utilizzando le annotazioni nella specifica di configurazione.
Tipi di job ed errori
Esistono due tipi di comandi e routine di Google Distributed Cloud: job della 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 che sono progettati per adattarsi alle installazioni tipiche.
Di seguito sono riportati 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 preflight 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 2021L'output di
kubectl logsper un pod non riuscito potrebbe mostrare un messaggioDeadlineExceededsimile (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 della macchina è una routine che viene eseguita solo su una macchina, ad esempio un controllo preflight limitato a una singola macchina. I job della macchina Google Distributed Cloud hanno un timeout predefinito di 900 secondi, ovvero 15 minuti. Puoi modificare 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 di una singola macchina, inclusi
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, ad esempio un controllo preflight 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), ovvero 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 Richiedere assistenza per ulteriori informazioni sulle risorse di assistenza, tra cui:
- Requisiti per l'apertura di una richiesta di assistenza.
- Strumenti per la risoluzione dei problemi, come la configurazione dell'ambiente, i log e le metriche.
- Componenti supportati.