Hier erfahren Sie, wie Sie den Containerport und den Befehl des Einstiegspunkts und die Argumente konfigurieren.
Wenn Knative Serving einen Container startet, werden der Standardeinstiegspunktbefehl und die Standardbefehlsargumente des Images ausgeführt. Wenn Sie den Standardeinstiegspunkt und die Befehlsargumente des Images überschreiben möchten, können Sie die Felder command
und args
in der Containerkonfiguration verwenden. Das Feld command
gibt den tatsächlichen Befehl an, der vom Container ausgeführt wird. Das Feld args
gibt die Argumente an, die an diesen Befehl übergeben werden.
Containerport konfigurieren
Jede Konfigurationsänderung führt zur Erstellung einer neuen Überarbeitung. Für nachfolgende Überarbeitungen gilt automatisch dieselbe Konfigurationseinstellung, sofern Sie sie nicht explizit aktualisieren.
Der Container sollte den von der Umgebungsvariable PORT
definierten Port beobachten und nicht einen bestimmten hartcodierten Port.
Wenn dies jedoch nicht möglich ist, können Sie konfigurieren, über welchen Port Anfragen an den Container gesendet werden:
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 den Port an, an den Anfragen gesendet werden sollen, sofern Sie nicht den Standardwert
8080
verwenden möchten. Dadurch wird auch die UmgebungsvariablePORT
festgelegt.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
Aktualisieren Sie für vorhandene Dienste eine Porteinstellung, indem Sie den Befehl
gcloud run services update
mit den folgenden Parametern ausführen:gcloud run services update SERVICE --port PORT
Ersetzen Sie:
- SERVICE durch den Namen des Dienstes.
- PORT durch den Port, an den Anfragen gesendet werden. Der Standardport ist
8080
.
Legen Sie für neue Dienste den Port fest, indem Sie den Befehl
gcloud run deploy
mit dem Parameter--port
ausführen:gcloud run deploy SERVICE --image=IMAGE_URL --port PORT
Ersetzen Sie:
- SERVICE durch den Namen des Dienstes.
- IMAGE_URL durch einen Verweis auf das Container-Image, z. B.
gcr.io/cloudrun/hello
. - PORT durch den Port, an den Sie Anfragen senden möchten. Der Standardport ist
8080
.
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:gcloud run services describe SERVICE --format export > service.yaml
Ersetzen Sie SERVICE durch den Namen Ihres Knative-Serving-Dienstes.
Aktualisieren Sie in Ihrer lokalen Datei das Attribut
containerPort:
:apiVersion: serving.knative.dev/v1 kind: Service spec: template: spec: containers: - image: IMAGE_URL ports: - containerPort: PORT
Ersetzen
- IMAGE_URL durch einen Verweis auf das Container-Image, z. B.
gcr.io/cloudrun/hello
. - PORT durch den Port, an den Sie Anfragen senden möchten.
- IMAGE_URL durch einen Verweis auf das Container-Image, z. B.
Ersetzen Sie den Dienst mit dem folgenden Befehl durch die neue Konfiguration:
gcloud run services replace service.yaml
Befehl und Argumente des Containereinstiegspunkts konfigurieren
Jede Konfigurationsänderung führt zur Erstellung einer neuen Überarbeitung. Für nachfolgende Überarbeitungen gilt automatisch dieselbe Konfigurationseinstellung, sofern Sie sie nicht explizit aktualisieren.
Wenn Knative Serving einen Container startet, werden der Standardeinstiegspunktbefehl des Images ausgeführt.
Wenn Sie den vorhandenen Einstiegspunktbefehl und die Argumente angeben möchten, die im Container-Image definiert sind, können Sie die Einstellungen command
und args
in der Konfiguration des Knative Serving-Containers konfigurieren.
Sie können Einstiegspunkte, Argumente oder beides konfigurieren. Der in Knative Serving angegebene Befehl überschreibt jeden Befehl des Einstiegspunkts, der im Container-Image definiert ist. Wenn Sie nur Argumente angeben, werden diese Argumente an den im Container-Image definierten Einstiegspunktbefehl übergeben und ausgeführt.
In Knative Serving können Sie Einstiegspunktbefehle und -argumente mit der Google Cloud Console, dem Google Cloud CLI oder einer YAML-Datei konfigurieren, wenn Sie einen neuen Dienst bereitstellen, einen vorhandenen Dienst aktualisieren oder 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 den Einstiegspunktbefehl und die Argumente an, die der Container beim Start ausführen soll.
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
Optionen für Befehlsparameter
-
Um ein Argument anzugeben, das ein Komma (
,
) enthält, müssen SieARG
jeweils durch ein anderes Trennzeichen maskieren. Wenn Sie beispielsweise@
verwenden:--args "^@^arg,with,commas@anotherarg@ARG3..."
-
Wenn Sie mehrere Gruppen von Schlüssel/Wert-Paaren angeben möchten, können Sie mehrere Parameter angeben, um die Lesbarkeit zu verbessern. Beispiel:
[...] --args "
ARG
1" \ --args "ARG
2" \ --args "ARG
3" -
Wenn Sie in Ihren Argumenten Gleichheitszeichen (
=
) verwenden möchten, müssen Sie jedes Argument im folgenden Format angeben:gcloud run services ... \ --args "--repo-allowlist=github.com/example/example_demo" \ --args "--gh-webhook-secret=XX"
Aktualisieren Sie für vorhandene Dienste den Einstiegspunktbefehl, indem Sie den Befehl
gcloud run services update
mit den folgenden Parametern ausführen:gcloud run services update SERVICE --command COMMAND --args ARG1,ARG2,ARG-N
Ersetzen Sie:
- SERVICE durch den Namen des Dienstes.
- Optional: COMMAND durch den Befehl, den der Container beim Start ausführen soll.
- Optional: ARG1 durch eines oder mehrere Argumente für den Befehl, der beim Start ausgeführt wird. Verwenden Sie eine durch Kommas getrennte Liste für mehrere Argumente. Argumente formatieren
Legen Sie für neue Dienste den Einstiegspunktbefehl fest, indem Sie den Befehl
gcloud run deploy
mit dem Parameter--command
ausführen:gcloud run deploy SERVICE --image=IMAGE_URL --command COMMAND --args ARG1,ARG2,ARG-N
Ersetzen Sie:
- SERVICE durch den Namen des Dienstes.
- IMAGE_URL durch einen Verweis auf das Container-Image, z. B.
gcr.io/cloudrun/hello
. - Optional: COMMAND durch den Befehl, den der Container beim Start ausführen soll.
- Optional: ARG1 durch eines oder mehrere Argumente für den Befehl, der beim Start ausgeführt wird. Verwenden Sie eine durch Kommas getrennte Liste für mehrere Argumente. Argumente formatieren
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:gcloud run services describe SERVICE --format export > service.yaml
Ersetzen Sie SERVICE durch den Namen Ihres Knative-Serving-Dienstes.
Aktualisieren Sie in Ihrer lokalen Datei die Attribute
command
undargs
:apiVersion: serving.knative.dev/v1 kind: Service spec: template: spec: containers: - image: IMAGE_URL command: - COMMAND args: - "ARG1" - "ARG-N"
Ersetzen Sie:
- IMAGE_URL durch einen Verweis auf das Container-Image, z. B.
gcr.io/cloudrun/hello
. - Optional: COMMAND durch den Befehl, den der Container beim Start ausführen soll.
- Optional: ARG1 durch eines oder mehrere Argumente für den Befehl, der beim Start ausgeführt wird. Verwenden Sie eine durch Kommas getrennte Liste für mehrere Argumente.
- IMAGE_URL durch einen Verweis auf das Container-Image, z. B.
Ersetzen Sie den Dienst mit dem folgenden Befehl durch die neue Konfiguration:
gcloud run services replace service.yaml