Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Legen Sie fest, in welchem Zeitraum eine Antwort auf eine Anfrage an die Dienste von Knative Serving zurückgegeben werden muss. Wenn innerhalb des festgelegten Zeitraums keine Antwort erfolgt, endet die Anfrage und der Fehler 504 wird ausgegeben.
Zeitlimits
Das Limit für die maximale Zeitüberschreitung hängt von der Version Ihres GKE-Clusters ab.
GKE-Version
Standardlimit
Maximales Zeitlimit
0.16.0-gke.1 und höher
300 Sekunden
24 Stunden
0.15.0-gke.3 und früher
300 Sekunden
900 Sekunden
Neben der Zeitüberschreitung bei Anfrage in Knative Serving sollten Sie prüfen, ob im Framework Ihrer Sprache eine eigene Zeitüberschreitung bei Anfrage festgelegt ist, die ebenfalls aktualisiert werden muss.
Zeitlimit bei Anfrage festlegen und aktualisieren
Jede Konfigurationsänderung führt zur Erstellung einer neuen Überarbeitung. Für nachfolgende Überarbeitungen gilt automatisch dieselbe Konfigurationseinstellung, sofern Sie sie nicht explizit aktualisieren.
Sie können ein Zeitlimit für Anfragen mit der Cloud Console, der Google Cloud CLI oder einer YAML-Datei festlegen, wenn Sie einen neuen Dienst bereitstellen oder einen vorhandenen Dienst aktualisieren und eine Überarbeitung bereitstellen:
Console
Rufen Sie in der Google Cloud Console Knative Serving auf:
Klicken Sie auf Dienst erstellen, wenn Sie einen neuen Dienst für die Bereitstellung konfigurieren. Wenn Sie einen vorhandenen Dienst konfigurieren möchten, klicken Sie auf den Dienst und dann auf Neue Überarbeitung bearbeiten und bereitstellen.
Klicken Sie unter Erweiterte Einstellungen auf Container.
Geben Sie in das Feld Zeitüberschreitung bei Anfrage den gewünschten Wert für das Zeitlimit ein. Der von Ihnen angegebene Wert muss unter dem Zeitlimit für die GKE-Version des Clusters liegen.
Klicken Sie auf Weiter, um mit dem nächsten Abschnitt fortzufahren.
Wählen Sie im Abschnitt Konfigurieren, wie dieser Dienst ausgelöst wird die Verbindung aus, die Sie zum Auslösen des Dienstes verwenden möchten.
Klicken Sie auf Erstellen, um das Image in Knative Serving bereitzustellen. Warten Sie, bis die Bereitstellung abgeschlossen ist.
Befehlszeile
Legen Sie bei bestehenden Diensten das Zeitlimit für Anfragen fest, indem Sie den Befehl gcloud run services update mit dem Parameter --timeout ausführen:
gcloudrunservicesupdateSERVICE--timeoutTIMEOUT
Ersetzen Sie:
SERVICE durch den Namen des Dienstes.
TIMEOUT mit der gewünschten Zeit. Dies muss ein ganzzahliger Wert oder ein Wert für die absolute Dauer sein, beispielsweise 1m20s, d. h. 1 Minute und 20 Sekunden. Der von Ihnen angegebene Wert muss unter dem Zeitlimit für die GKE-Version des Clusters liegen.
Geben Sie 0 an, um das Zeitlimit auf den Standardwert festzulegen.
Legen Sie bei neuen Diensten das Zeitlimit für Anfragen fest, indem Sie den Befehl gcloud run deploy mit dem Parameter --timeout ausführen:
IMAGE_URL durch einen Verweis auf das Container-Image, z. B. gcr.io/cloudrun/hello.
TIMEOUT mit der gewünschten Zeit. Dies muss ein ganzzahliger Wert oder ein Wert für die absolute Dauer sein, beispielsweise 1m20s, d. h. 1 Minute und 20 Sekunden. Der von Ihnen angegebene Wert muss unter dem Zeitlimit für die GKE-Version des Clusters liegen.
Geben Sie 0 an, um das Zeitlimit auf den Standardwert festzulegen.
YAML
Sie können die Konfiguration eines vorhandenen Dienstes in eine YAML-Datei herunterladen – mit dem gcloud run services describe-Befehl mithilfe des Flags --format=export.
Sie können diese YAML-Datei dann ändern und diese Änderungen mit dem Befehl gcloud run services replace bereitstellen.
Sie müssen sicherstellen, dass Sie nur die angegebenen Attribute ändern.
Laden Sie die Konfiguration des Dienstes in eine Datei mit dem Namen service.yaml im lokalen Arbeitsbereich herunter:
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-04-22 (UTC)."],[],[],null,["# Setting request timeout\n\nLearn how to set the time within which a response for a request must be returned\nby your Knative serving services. If a response isn't returned within the\ntime specified, the request ends and error `504` is returned.\n\nTimeout limits\n--------------\n\nThe maximum timeout limit differs based on the version of your\n[GKE cluster](/kubernetes-engine/enterprise/knative-serving/docs/cluster-versions).\n\nIn addition to changing the Knative serving request timeout, you\nshould check your language framework to see whether it has its own request\ntimeout setting that you must also update.\n\nSetting and updating request timeout\n------------------------------------\n\nAny configuration change leads to the\ncreation of a new revision. Subsequent revisions will also automatically get\nthis configuration setting unless you make explicit updates to change it.\n\nYou can set request timeout using the Google Cloud console,\nthe Google Cloud CLI, or a YAML file when you deploy a new\n[service](/kubernetes-engine/enterprise/knative-serving/docs/deploying#service) or update an existing service and\ndeploy a [revision](/kubernetes-engine/enterprise/knative-serving/docs/deploying#revision): \n\n### Console\n\n\n1. Go to Knative serving in the Google Cloud console:\n\n [Go to Knative serving](https://console.cloud.google.com/kubernetes/run)\n2. Click **Create Service** if you are configuring a\n new service you are deploying to. If you are configuring an\n existing service, click on the service, then click\n **Edit \\& Deploy New Revision**.\n\n3. Under *Advanced settings* , click **Container**.\n\n4. In the **Request timeout** field, enter the\n timeout value that you want to use. The value you specify must be less than the\n [timeout limit](#limit) for the cluster's GKE\n version.\n\n5. Click **Next** to continue to the next section.\n\n6. In the **Configure how this service is triggered** section,\n select which connectivity you would like to use to invoke the service.\n\n7. Click **Create** to deploy the image to Knative serving and wait\n for the deployment to finish.\n\n### Command line\n\n- For existing services, set the request timeout by\n running the `gcloud run services update` command with the\n [`--timeout`](/sdk/gcloud/reference/run/services/update#--timeout)\n parameter:\n\n ```bash\n gcloud run services update SERVICE --timeout TIMEOUT\n ```\n\n Replace:\n - \u003cvar translate=\"no\"\u003eSERVICE\u003c/var\u003e with the name of your service.\n - \u003cvar translate=\"no\"\u003eTIMEOUT\u003c/var\u003e with the desired time, using an integer value in seconds, or an [absolute duration value](/sdk/gcloud/reference/topic/datetimes), for example `1m20s` which is 1 minute, 20 seconds. The value you specify must be less than the [timeout limit](#limit) for the cluster's GKE version. Specify `0` to set the timeout to the [default value](#limit).\n- For new services, set the request timeout by running\n the `gcloud run deploy` command with the\n [`--timeout`](/sdk/gcloud/reference/run/deploy#--timeout)\n parameter:\n\n ```bash\n gcloud run deploy SERVICE --image=IMAGE_URL --timeout TIMEOUT\n ```\n\n Replace:\n - \u003cvar translate=\"no\"\u003eSERVICE\u003c/var\u003e with the name of your service.\n - \u003cvar translate=\"no\"\u003eIMAGE_URL\u003c/var\u003e with a reference to the container image, for example, `gcr.io/cloudrun/hello`.\n - \u003cvar translate=\"no\"\u003eTIMEOUT\u003c/var\u003e with the desired time, using an integer value in seconds, or an [absolute duration value](/sdk/gcloud/reference/topic/datetimes), for example `1m20s` which is 1 minute, 20 seconds. The value you specify must be less than the [timeout limit](#limit) for the cluster's GKE version. Specify `0` to set the timeout to the [default value](#limit).\n\n### YAML\n\n| **Caution:** Deploying configuration changes using YAML files replaces the configuration of your existing services. Since a YAML file completely overwrites all configurations, you should avoid using multiple methods to modify your services. For example, do not use YAML files in conjunction with the Google Cloud console or `gcloud` commands.\n\nYou can download the configuration of an existing service into a\nYAML file with the `gcloud run services describe` command by using the\n[`--format=export`](/sdk/gcloud/reference/run/services/describe) flag.\nYou can then modify that YAML file and deploy\nthose changes with the `gcloud run services replace` command.\nYou must ensure that you modify only the specified attributes.\n\n1. Download the configuration of your service into a file named\n `service.yaml` on local workspace:\n\n ```bash\n gcloud run services describe SERVICE --format export \u003e service.yaml\n ```\n\n Replace \u003cvar translate=\"no\"\u003eSERVICE\u003c/var\u003e with the name of your\n Knative serving service.\n2. In your local file, update the `timeoutSeconds` attribute:\n\n ```yaml\n apiVersion: serving.knative.dev/v1\n kind: Service\n metadata:\n name: SERVICE\n spec:\n template:\n spec:\n containers:\n - image: IMAGE\n timeoutSeconds: TIMEOUT\n ```\n\n Replace:\n - \u003cvar translate=\"no\"\u003eSERVICE\u003c/var\u003e with the name of your Knative serving service\n - \u003cvar translate=\"no\"\u003eIMAGE_URL\u003c/var\u003e with a reference to the container image, for example, `gcr.io/cloudrun/hello`.\n - \u003cvar translate=\"no\"\u003eTIMEOUT\u003c/var\u003e with the desired timeout, in seconds.\n3. Replace the service with its new configuration using the following command:\n\n ```bash\n gcloud run services replace service.yaml\n ```"]]