Auf dieser Seite wird erläutert, wie Sie Details eines Game Servers-Rollouts in einer Bereitstellung erstellen, aktualisieren und anzeigen. Bei einem Rollout werden die Gameserver-Konfiguration den Bereichen zugeordnet. Ein End-to-End-Beispiel als Anleitung zum Erstellen eines Deployments, zum Hinzufügen einer Konfiguration und zum anschließenden Rollout finden Sie unter Verhalten der Clusterskalierung konfigurieren.
Abbildung 1. Die Konfigurationsversion 1.0 wurde für den US-Bereich eingeführt, die Version 1.1 für die Bereiche Europa und Japan.
Weitere Informationen finden Sie in der Übersicht über Game Servers.
Hinweis
Bevor Sie beginnen, sollten Sie sich mit den wichtigsten Konzepten in der Übersicht über Game Servers vertraut machen. Führen Sie außerdem die folgenden Aufgaben aus:
- Prüfen Sie, ob die Game Services API aktiviert ist. Game Services API aktivieren
- Wählen Sie entweder eine Shell mit installierter gcloud-CLI aus oder verwenden Sie einen API-Client:
Rufen Sie die Google Cloud Console auf.
Klicken Sie in der oberen rechten Ecke der Console auf die Schaltfläche Cloud Shell aktivieren:
- Erstellen Sie ein Dienstkonto:
- Laden Sie einen privaten Schlüssel als JSON-Datei herunter.
-
Set the environment variable
GOOGLE_APPLICATION_CREDENTIALS
to the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again.
Cloud Shell
So starten Sie Cloud Shell:
In einem Frame im unteren Teil der Console wird eine Cloud Shell-Sitzung geöffnet.
Mit dieser Shell führen Sie gcloud
-Befehle aus.
Lokale Shell
Installieren Sie die gcloud CLI.
Prüfen Sie, ob Sie das gewünschte Standardprojekt für die Google Cloud CLI festgelegt haben. Andernfalls müssen Sie das Flag --project
später für jeden Befehl explizit angeben:
gcloud config list project
Wenn Sie den folgenden Befehl nicht ausführen können, um ein Standardprojekt festzulegen, ersetzen Sie PROJECT_ID
durch Ihre gewünschte Projekt-ID:
gcloud config set project PROJECT_ID
Führen Sie den folgenden Befehl aus, um Ihre Version der Google Cloud CLI zu prüfen.
Für Game Servers ist mindestens die Version 306.0.0
der gcloud CLI erforderlich.
gcloud version
Aktualisieren Sie Ihre Installation mit dem folgenden Befehl:
gcloud components update
curl / PowerShell
So verwenden Sie die REST API mit curl
oder Windows PowerShell:
Clientbibliothek
Google Cloud Game Servers können mithilfe einer Clientbibliothek programmatisch gesteuert werden. Wie Sie die Bibliothek und die Authentifizierung verwenden, erfahren Sie in der Übersicht zu Clientbibliotheken.
Rollout aktualisieren
Der Vorgang zum Aktualisieren eines Rollouts entspricht dem zum Erstellen eines Rollouts. Als erstes müssen Sie eine Game Servers-Konfiguration erstellen. Wenn Sie mit einer anderen Konfiguration auf bestimmte Bereiche abzielen möchten, erstellen Sie eine separate Überschreibungskonfiguration.
Standardkonfiguration eines Rollouts aktualisieren
Die Standardkonfiguration des Gameservers wird für alle Bereiche bereitgestellt. Informationen zum Auswählen bestimmter Bereiche mit einer anderen Konfiguration finden Sie unter Konfiguration für bestimmte Bereiche überschreiben.
Console
Rufen Sie in der Google Cloud Console die Seite Bereitstellungen von Game Server auf.
Suchen Sie ein Deployment in der Tabelle. Klicken Sie in der letzten Tabellenspalte auf die drei Punkte more_vert und wählen Sie Konfigurationen auflisten aus. Auf dieser Seite können Sie die aktiven und inaktiven Konfigurationen für das Deployment aufrufen.
Klicken Sie auf Einführung verwalten.
(Optional) Wählen Sie aus der Liste Konfiguration auswählen eine Standardkonfiguration aus, die für alle Bereiche gilt.
Klicken Sie auf Speichern.
gcloud
So aktualisieren Sie die Standardkonfiguration eines Game Servers-Roll-outs über die Google Cloud CLI:
Führen Sie den folgenden Befehl aus, nachdem Sie die folgenden Platzhalterwerte ersetzt haben:
- deploymentID ist die eindeutige Kennung für die Bereitstellung.
- configID ist eine eindeutige Kennung für die Konfiguration.
gcloud game servers deployments update-rollout deploymentID --default-config configID --dry-run
Die Ausgabe gibt den
targetState
zurück, sodass Sie sich die Änderungen in der Vorschau ansehen können.Führen Sie den folgenden Befehl aus, um die Änderungen anzuwenden:
gcloud game servers deployments update-rollout deploymentID --default-config configID --no-dry-run
REST UND BEFEHLSZEILE
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
- PROJECT_ID: Ihre Google Cloud-Projekt-ID, die unter IAM-Einstellungen aufgeführt ist
- DEPLOYMENT_ID: eine benutzerdefinierte Kennung für das Deployment
- CONFIG_ID: eine benutzerdefinierte Kennung für die Konfiguration
JSON-Text der Anfrage:
{ "name": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID", "defaultGameServerConfig": "CONFIG_ID" }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_ID/locations/global/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.gaming.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Standardkonfiguration eines Rollouts löschen
Löschen Sie die Standardkonfiguration, um die Konfiguration der Flotte für diese Bereitstellung aus allen Game Servers-Clustern zu entfernen.
Console
Rufen Sie in der Google Cloud Console die Seite Bereitstellungen von Game Server auf.
Suchen Sie ein Deployment in der Tabelle. Klicken Sie in der letzten Tabellenspalte auf die drei Punkte more_vert und wählen Sie Konfigurationen auflisten aus. Auf dieser Seite können Sie die aktiven und inaktiven Konfigurationen für das Deployment aufrufen.
Klicken Sie auf Einführung verwalten.
Wählen Sie in der Liste Konfiguration auswählen die Option (keine Standardkonfiguration) aus.
Klicken Sie auf Speichern.
gcloud
So löschen Sie die Standardkonfiguration eines Game Servers-Roll-outs über die Google Cloud CLI:
Führen Sie den folgenden Befehl aus, nachdem Sie den folgenden Platzhalterwert ersetzt haben:
- deploymentID ist die eindeutige Kennung für die Bereitstellung.
gcloud game servers deployments update-rollout deploymentID --clear-default-config --dry-run
Die Ausgabe gibt den
targetState
zurück, sodass Sie sich die Änderungen in der Vorschau ansehen können.Führen Sie den folgenden Befehl aus, um die Änderungen anzuwenden:
gcloud game servers deployments update-rollout deploymentID --clear-default-config --no-dry-run
REST UND BEFEHLSZEILE
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
- PROJECT_ID: Ihre Google Cloud-Projekt-ID, die unter IAM-Einstellungen aufgeführt ist
- DEPLOYMENT_ID: eine benutzerdefinierte Kennung für das Deployment
JSON-Text der Anfrage:
{ "name": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID", "defaultGameServerConfig": "" }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_ID/locations/global/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.gaming.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Konfiguration für bestimmte Bereiche überschreiben
Wenn Sie bestimmte Bereiche mit einer anderen Konfiguration ansteuern möchten, erstellen Sie eine separate Überschreibungskonfiguration und wählen Sie dann einen oder mehrere Bereiche aus, die diese Überschreibungskonfiguration (und nicht die Standardkonfiguration) erhalten sollen.
Console
Rufen Sie in der Google Cloud Console die Seite Bereitstellungen von Game Server auf.
Suchen Sie ein Deployment in der Tabelle. Klicken Sie in der letzten Tabellenspalte auf die drei Punkte more_vert und wählen Sie Konfigurationen auflisten aus. Auf dieser Seite können Sie die aktiven und inaktiven Konfigurationen für das Deployment aufrufen.
Klicken Sie auf Einführung verwalten.
(Optional) Wählen Sie aus der Liste Konfiguration auswählen eine Standardkonfiguration aus, die für alle Bereiche gilt, die nicht mit einer Überschreibungskonfiguration übereinstimmen.
Unter Konfigurationen überschreiben können Sie eine oder mehrere Überschreibungskonfigurationen und die Bereiche angeben, denen sie zugeordnet werden sollen.
- Wählen Sie in der Liste Konfiguration eine Überschreibungskonfiguration aus, um ihr eine Verknüpfung aus der Liste Bereich zu erteilen.
- Mit den Pfeilschaltflächen können Sie die Prioritätenreihenfolge der Überschreibungseinstellungen in der Liste ändern.
- Klicken Sie auf Add (Hinzufügen).
Klicken Sie auf Speichern.
gcloud
So wenden Sie Konfigurationsüberschreibungen mithilfe der Google Cloud CLI auf bestimmte Bereiche an:
Kopieren Sie den folgenden Code in eine Datei und ersetzen Sie die folgenden Platzhalterwerte:
- realmID ist die voll qualifizierte Kennung für einen Bereich, z. B.
projects/<projectID>/locations/<region>/realms/<realmID2>
. - configID ist eine eindeutige Kennung für die Konfiguration.
- realmsSelector: realms: - realmID configVersion: configID
- realmID ist die voll qualifizierte Kennung für einen Bereich, z. B.
Führen Sie den folgenden Befehl aus, nachdem Sie die folgenden Platzhalterwerte ersetzt haben:
- deploymentID ist die eindeutige Kennung für die Bereitstellung.
- configOverrideFile ist der Pfad zur Datei mit der Überschreibungskonfiguration.
gcloud game servers deployments update-rollout deploymentID --config-overrides-file configOverrideFile --dry-run
Die Ausgabe gibt den
targetState
zurück, sodass Sie sich die Änderungen in der Vorschau ansehen können.Führen Sie den folgenden Befehl aus, um die Änderungen anzuwenden:
gcloud game servers deployments update-rollout deploymentID --config-overrides-file configOverrideFile --no-dry-run
REST UND BEFEHLSZEILE
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
- PROJECT_ID: Ihre Google Cloud-Projekt-ID, die unter IAM-Einstellungen aufgeführt ist
- LOCATION: die Region für den Bereich (oder
global
) - DEPLOYMENT_ID: eine benutzerdefinierte Kennung für das Deployment
- REALM_ID: die benutzerdefinierte Kennung für den Bereich
- OVERRIDE_CONFIG_ID: eine benutzerdefinierte Kennung für die Überschreibungskonfiguration
JSON-Text der Anfrage:
{ "name": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID", "gameServerConfigOverrides": [ { "realmsSelector": { "realms": [ "projects/PROJECT_ID/locations/LOCATION/realms/REALM_ID" ] }, "configVersion": "OVERRIDE_CONFIG_ID" } ] }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_ID/locations/global/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.gaming.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Konfigurationsüberschreibungen löschen
Löschen Sie die Überschreibungskonfiguration, um die Konfiguration der Flotte für diese Bereitstellung aus den Zielbereichen zu entfernen.
Console
Rufen Sie in der Google Cloud Console die Seite Bereitstellungen von Game Server auf.
Suchen Sie ein Deployment in der Tabelle. Klicken Sie in der letzten Tabellenspalte auf die drei Punkte more_vert und wählen Sie Konfigurationen auflisten aus. Auf dieser Seite können Sie die aktiven und inaktiven Konfigurationen für das Deployment aufrufen.
Klicken Sie auf Einführung verwalten.
Klicken Sie unter Konfigurationen überschreiben auf das Papierkorbsymbol neben den zu überschreibenden Konfigurationseinstellungen.
Klicken Sie auf Speichern.
gcloud
So löschen Sie die Konfigurationsüberschreibungen eines Game Servers-Roll-outs über die Google Cloud CLI:
Führen Sie den folgenden Befehl aus, nachdem Sie den folgenden Platzhalterwert ersetzt haben:
- deploymentID ist die eindeutige Kennung für die Bereitstellung.
gcloud game servers deployments update-rollout deploymentID --clear-config-overrides --dry-run
Die Ausgabe gibt den
targetState
zurück, sodass Sie sich die Änderungen in der Vorschau ansehen können.Führen Sie den folgenden Befehl aus, um die Änderungen anzuwenden:
gcloud game servers deployments update-rollout deploymentID --clear-config-overrides --no-dry-run
REST UND BEFEHLSZEILE
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
- PROJECT_ID: Ihre Google Cloud-Projekt-ID, die unter IAM-Einstellungen aufgeführt ist
- DEPLOYMENT_ID: eine benutzerdefinierte Kennung für das Deployment
JSON-Text der Anfrage:
{ "name": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID", "gameServerConfigOverrides": [] }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_ID/locations/global/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.gaming.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Rollout-Details ansehen
Console
Rufen Sie in der Google Cloud Console die Seite Bereitstellungen von Game Server auf.
Suchen Sie ein Deployment in der Tabelle. Klicken Sie in der letzten Tabellenspalte auf die drei Punkte more_vert und wählen Sie Konfigurationen auflisten aus. Auf dieser Seite können Sie die aktiven und inaktiven Konfigurationen für das Deployment aufrufen.
Klicken Sie auf Einführung verwalten.
gcloud
Sie können sich Details zu einem Roll-out wie die verwendeten Konfigurationen über die Google Cloud CLI ansehen:
Führen Sie den folgenden Befehl aus, um die Details eines Rollouts aufzurufen. Ersetzen Sie dafür den folgenden Platzhalterwert:
- deploymentID ist die eindeutige Kennung für die Bereitstellung.
gcloud game servers deployments describe-rollout deploymentID
Die Ausgabe zeigt die Details des Rollouts.
Sie können den Status der Spieleservercluster auch nach Anwendung des Roll-outs über die Google Cloud CLI aufrufen:
gcloud game servers deployments fetch-state deploymentID
Die Ausgabe zeigt die Änderungen, die durch den Rollout auf jedem Gameserver-Cluster angewendet wurden.
REST UND BEFEHLSZEILE
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
- PROJECT_ID: Ihre Google Cloud-Projekt-ID, die unter IAM-Einstellungen aufgeführt ist
- DEPLOYMENT_ID: eine benutzerdefinierte Kennung für das Deployment
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID/rollout", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "defaultGameServerConfig": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID/configs/CONFIG_ID", "gameServerConfigOverrides": [ { "realmsSelector": { "realms": [ "projects/PROJECT_ID/locations/LOCATION/realms/REALM_ID" ] }, "configVersion": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID/configs/OVERRIDE_CONFIG_ID" } ], "etag": "cN31kxa6fWHtaZWUnUZ7LfamUN7Ggz13DWS58Sc5jIQ" }
Fehler bei Rollouts beheben
In diesem Abschnitt wird beschrieben, warum Game Servers möglicherweise keine Gameserver-Cluster aktualisieren kann. Eine häufige Ursache ist die fehlerhafte Konfiguration von Game Servers oder Gameserver-Clustern. Sie können die folgende Checkliste durchgehen, um mögliche Probleme zu diagnostizieren:
- Prüfen Sie, ob die folgenden Voraussetzungen für einen Agones-Cluster erfüllt sind:
- Achten Sie darauf, dass der Cluster ausgeführt wird und Agones installiert ist. Prüfen Sie mit dem folgenden Befehl, ob der Pod
agones-controller
den StatusRunning
hat:kubectl get pods -n agones-system -l agones.dev/role=controller
- Achten Sie darauf, dass der Gameserver-Namespace über die erforderlichen Berechtigungen für die rollenbasierte Zugriffssteuerung (Role Based Access Control, RBAC) für den Agones-Controller verfügt.
- Prüfen Sie, ob die installierte Version von Agones von Game Servers unterstützt wird.
- Achten Sie darauf, dass der Cluster ausgeführt wird und Agones installiert ist. Prüfen Sie mit dem folgenden Befehl, ob der Pod
- Weitere Informationen finden Sie in der Anleitung zur Fehlerbehebung bei Agones.
- Prüfen Sie, ob die Bereitstellungsressource für Game Servers richtig konfiguriert ist:
- Wenn Sie eine Überschreibungskonfiguration verwenden, muss das Deployment auf den Bereich mit dem Zielcluster angewendet werden.
- Prüfen Sie, ob die Fleet-Spezifikation richtig konfiguriert ist. Versuchen Sie, den Gameserver manuell aufzurufen, um Ihre Fleet-Spezifikation zu validieren.
- Falls eine geplante Änderung nicht erfolgt ist, sollten Sie prüfen, ob der Plan richtig konfiguriert ist. Die Zeitzone eines Plans entspricht der Zeitzone des Bereichs.