Wenn Jobs in Google Distributed Cloud eine Zeitüberschreitung verursachen und Sie der Meinung sind, dass das Verhalten nicht auf ein zugrunde liegendes Problem mit Ihrer Installation zurückzuführen ist, können Sie das Zeitüberschreitungsintervall erhöhen. In diesem Dokument wird beschrieben, wie Sie die Zeitlimitintervalle für Maschinen- und Batchjobs mithilfe von Annotationen in der Konfigurationsspezifikation anpassen.
Wenn Sie weitere Unterstützung benötigen, wenden Sie sich an den Cloud Customer Care.Arten von Dienstleistungen und Fehler
Es gibt zwei Arten von Google Distributed Cloud-Befehlen und -Routinen: Maschinenjobs und Batchjobs. Die Dauer eines Jobs kann von vielen Faktoren beeinflusst werden, z. B. von Hardware-, Netzwerk- und Clusterkonfiguration. Google Distributed Cloud hat Standardzeitlimits, die für typische Installationen vorgesehen sind.
Im Folgenden finden Sie Beispiele für Fehlermeldungen bei Zeitüberschreitungen bei Jobs:
Eine Fehlermeldung zum Zeitlimit eines Maschinenjobs (zur Verdeutlichung zusammengefasst) aus einem Preflight-Log wie
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
Die Ausgabe von
kubectl logs
für einen fehlgeschlagenen Pod zeigt möglicherweise eine ähnlicheDeadlineExceeded
-Nachricht (umgebrochen):cluster-cluster1 172.18.0.4-machine-preflf3a32c8a2f7a2449545c7e8ff954c961-652st ● 0/1 0 DeadlineExceeded 192.168.122.180 bmctl-control-plane 7m12
Zeitüberschreitungsintervall für Maschinenjobs anpassen
Ein Maschinenjob ist eine Routine, die auf einer einzigen Maschine ausgeführt wird, z. B. eine Preflight-Prüfung, die auf eine einzelne Maschine beschränkt ist. Google Distributed Cloud-Maschinenjobs haben ein Standardzeitlimit von 900 Sekunden oder 15 Minuten. Sie können das Zeitlimit für den Maschinenjob mit der Annotation baremetal.cluster.gke.io/machine-job-deadline-seconds
in der Clusterkonfigurationsdatei anpassen.
Im folgenden Beispiel wird das Zeitlimitintervall für Maschinenjobs auf 1.800 Sekunden oder 30 Minuten festgelegt:
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:
...
Der Wert des Zeitlimitintervalls wird angewendet, wenn Sie neue Cluster mit bmctl create cluster
erstellen oder vorhandene Cluster mit bmctl upgrade
cluster
aktualisieren. Das neue Intervall wird für alle Jobs auf einer einzelnen Maschine verwendet, einschließlich bmctl check preflight
, bmctl check -c CLUSTER_NAME
und mehr.
Zeitüberschreitungsintervall für Batchjobs anpassen
Ein Batchjob ist eine Routine, die auf mehreren Maschinen ausgeführt wird, z. B. eine Netzwerk-Preflight-Prüfung. Das Standardzeitlimit für Batchjobs von Google Distributed Cloud hängt von der Anzahl der Maschinen im Netzwerk ab. Das standardmäßige Zeitlimit beträgt 900 Sekunden plus weitere 20 Sekunden für jede Maschine.
Wenn Ihr Batchjob beispielsweise auf 60 Computern ausgeführt wird, beträgt das standardmäßige Zeitlimitintervall 2.100 Sekunden (900 + (20 * 60) = 2100) bzw. 35 Minuten.
Sie können das Zeitlimit für Batchjobs mit der Annotation baremetal.cluster.gke.io/batch-job-deadline-seconds
in der Clusterkonfigurationsdatei anpassen.
Im folgenden Beispiel wird das Zeitlimit für den Batchjob auf 10.800 Sekunden oder 3 Stunden festgelegt:
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:
...
Der Wert des Zeitlimitintervalls wird angewendet, wenn Sie neue Cluster mit bmctl create cluster
erstellen oder vorhandene Cluster mit bmctl upgrade
cluster
aktualisieren.