Roll-out erstellen oder aktualisieren

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:
  • Cloud Shell

    So starten Sie Cloud Shell:

    1. Rufen Sie die Google Cloud Console auf.

      Google Cloud Console

    2. Klicken Sie in der oberen rechten Ecke der Console auf die Schaltfläche Cloud Shell aktivieren:

    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:

    1. Erstellen Sie ein Dienstkonto:
    2. Laden Sie einen privaten Schlüssel als JSON-Datei herunter.
    3. Legen Sie die Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS auf den Pfad der JSON-Datei fest, die Ihre Anmeldedaten enthält. Diese Variable gilt nur für Ihre aktuelle Shell-Sitzung. Wenn Sie eine neue Sitzung öffnen, müssen Sie die Variable neu festlegen.

    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

  1. Rufen Sie in der Google Cloud Console die Seite Bereitstellungen von Game Server auf.

    Zu Game Servers

  2. Suchen Sie ein Deployment in der Tabelle. Klicken Sie in der letzten Tabellenspalte auf die drei Punkte und wählen Sie Konfigurationen auflisten aus. Auf dieser Seite können Sie die aktiven und inaktiven Konfigurationen für das Deployment aufrufen.

  3. Klicken Sie auf Einführung verwalten.

  4. (Optional) Wählen Sie aus der Liste Konfiguration auswählen eine Standardkonfiguration aus, die für alle Bereiche gilt.

  5. Klicken Sie auf Speichern.

gcloud

So aktualisieren Sie die Standardkonfiguration eines Game Servers-Roll-outs über die Google Cloud CLI:

  1. 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.

  2. 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

  1. Rufen Sie in der Google Cloud Console die Seite Bereitstellungen von Game Server auf.

    Zu Game Servers

  2. Suchen Sie ein Deployment in der Tabelle. Klicken Sie in der letzten Tabellenspalte auf die drei Punkte und wählen Sie Konfigurationen auflisten aus. Auf dieser Seite können Sie die aktiven und inaktiven Konfigurationen für das Deployment aufrufen.

  3. Klicken Sie auf Einführung verwalten.

  4. Wählen Sie in der Liste Konfiguration auswählen die Option (keine Standardkonfiguration) aus.

  5. Klicken Sie auf Speichern.

gcloud

So löschen Sie die Standardkonfiguration eines Game Servers-Roll-outs über die Google Cloud CLI:

  1. 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.

  2. 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

  1. Rufen Sie in der Google Cloud Console die Seite Bereitstellungen von Game Server auf.

    Zu Game Servers

  2. Suchen Sie ein Deployment in der Tabelle. Klicken Sie in der letzten Tabellenspalte auf die drei Punkte und wählen Sie Konfigurationen auflisten aus. Auf dieser Seite können Sie die aktiven und inaktiven Konfigurationen für das Deployment aufrufen.

  3. Klicken Sie auf Einführung verwalten.

  4. (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.

  5. Unter Konfigurationen überschreiben können Sie eine oder mehrere Überschreibungskonfigurationen und die Bereiche angeben, denen sie zugeordnet werden sollen.

    1. Wählen Sie in der Liste Konfiguration eine Überschreibungskonfiguration aus, um ihr eine Verknüpfung aus der Liste Bereich zu erteilen.
    2. Mit den Pfeilschaltflächen können Sie die Prioritätenreihenfolge der Überschreibungseinstellungen in der Liste ändern.
    3. Klicken Sie auf Add (Hinzufügen).
  6. Klicken Sie auf Speichern.

gcloud

So wenden Sie Konfigurationsüberschreibungen mithilfe der Google Cloud CLI auf bestimmte Bereiche an:

  1. 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
    
  2. 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.

  3. 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

  1. Rufen Sie in der Google Cloud Console die Seite Bereitstellungen von Game Server auf.

    Zu Game Servers

  2. Suchen Sie ein Deployment in der Tabelle. Klicken Sie in der letzten Tabellenspalte auf die drei Punkte und wählen Sie Konfigurationen auflisten aus. Auf dieser Seite können Sie die aktiven und inaktiven Konfigurationen für das Deployment aufrufen.

  3. Klicken Sie auf Einführung verwalten.

  4. Klicken Sie unter Konfigurationen überschreiben auf das Papierkorbsymbol neben den zu überschreibenden Konfigurationseinstellungen.

  5. Klicken Sie auf Speichern.

gcloud

So löschen Sie die Konfigurationsüberschreibungen eines Game Servers-Roll-outs über die Google Cloud CLI:

  1. 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.

  2. 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

  1. Rufen Sie in der Google Cloud Console die Seite Bereitstellungen von Game Server auf.

    Zu Game Servers

  2. Suchen Sie ein Deployment in der Tabelle. Klicken Sie in der letzten Tabellenspalte auf die drei Punkte und wählen Sie Konfigurationen auflisten aus. Auf dieser Seite können Sie die aktiven und inaktiven Konfigurationen für das Deployment aufrufen.

  3. 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:
    1. 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 Status Running hat:
      kubectl get pods -n agones-system -l agones.dev/role=controller
      
    2. 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.
    3. Prüfen Sie, ob die installierte Version von Agones von Game Servers unterstützt wird.
  • Weitere Informationen finden Sie in der Anleitung zur Fehlerbehebung bei Agones.
  • Prüfen Sie, ob die Bereitstellungsressource für Game Servers richtig konfiguriert ist:
    1. Wenn Sie eine Überschreibungskonfiguration verwenden, muss das Deployment auf den Bereich mit dem Zielcluster angewendet werden.
    2. Prüfen Sie, ob die Fleet-Spezifikation richtig konfiguriert ist. Versuchen Sie, den Gameserver manuell aufzurufen, um Ihre Fleet-Spezifikation zu validieren.
    3. 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.

Weitere Informationen

Konfiguration löschen