Créer ou mettre à jour un déploiement

Cette page explique comment créer, mettre à jour et afficher les détails d'un déploiement de Game Servers dans un déploiement. Un déploiement mappe les configurations de serveurs de jeu pour cibler des domaines. Pour obtenir un exemple de bout en bout de la création d'un déploiement, de l'ajout d'une configuration, puis du déploiement de celle-ci, consultez la section Configurer le comportement de scaling du cluster.


Figure 1. La version 1.0 de la configuration a été déployée dans le domaine américain, la version 1.1 déployée dans les domaines Europe et Japon.

Pour en savoir plus, consultez la présentation de Game Servers.

Avant de commencer

Avant de commencer, nous vous recommandons de vous familiariser avec les concepts clés de la page Présentation de Game Servers. Assurez-vous également que vous avez également effectué les tâches suivantes :

  • Assurez-vous d'avoir activé l'API des services de jeux.
  • Activer l'API Game Services
  • Choisissez une interface système sur laquelle gcloud CLI est installée ou utilisez un client API:
  • Cloud Shell

    Pour lancer Cloud Shell, procédez comme suit :

    1. Accédez à Google Cloud Console.

      Google Cloud Console

    2. Dans l'angle supérieur droit de la console, cliquez sur le bouton Activer Cloud Shell :

    Une session Cloud Shell s'ouvre dans un cadre situé en bas de la console. Cette interface système vous permet d'exécuter les commandes gcloud.

    Shell local

    Installer gcloud CLI

    Vérifiez que vous avez défini le projet par défaut souhaité pour Google Cloud CLI (sinon, vous devrez spécifier l'indicateur --project explicitement pour chaque commande ultérieurement):

    gcloud config list project
    

    Si non, vous pouvez exécuter la commande suivante pour définir un projet par défaut, en remplaçant PROJECT_ID par l'ID de projet souhaité :

    gcloud config set project PROJECT_ID
    

    Exécutez la commande suivante pour vérifier votre version de Google Cloud CLI. Game Servers nécessite la version 306.0.0 ou ultérieure de gcloud CLI.

    gcloud version
    

    Pour mettre à jour votre installation, exécutez la commande suivante :

    gcloud components update
    

    curl/PowerShell

    Pour utiliser l'API REST avec curl ou Windows PowerShell, procédez comme suit :

    1. Créer un compte de service
    2. Téléchargez une clé privée sous la forme d'un fichier JSON.
    3. Définissez la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS sur le chemin d'accès du fichier JSON contenant vos identifiants. Cette variable ne s'applique qu'à la session de shell actuelle. Par conséquent, si vous ouvrez une nouvelle session, vous devez de nouveau la définir.

    Bibliothèque cliente

    Google Cloud Game Servers peut être contrôlé par programmation à l'aide d'une bibliothèque cliente. Pour obtenir des instructions sur l'utilisation de la bibliothèque et l'authentification, consultez la page Présentation des bibliothèques clientes.

Mettre à jour un déploiement

Le processus de mise à jour d'un déploiement est identique à la procédure de création. D'abord, assurez-vous d'avoir créé une configuration de Game Servers. Si vous souhaitez cibler des domaines spécifiques avec une configuration différente, créez une configuration de remplacement distincte.

Mettre à jour la configuration par défaut d'un déploiement

La configuration du serveur de jeu par défaut est déployée dans tous les domaines. Pour cibler des domaines spécifiques avec une configuration différente, consultez la section Remplacer la configuration pour certains domaines.

Console

  1. Dans la console Google Cloud, accédez à la page Déploiements Game Servers.

    Accéder à Game Servers

  2. Recherchez un déploiement dans la table. Dans la dernière colonne de tableau, cliquez sur les points de suspension , puis sélectionnez Répertorier les configurations. Vous pouvez afficher les configurations actives et inactives du déploiement à partir de cette page.

  3. Cliquez sur Gérer le déploiement.

  4. (Facultatif) Dans la liste Sélectionner une configuration, choisissez une configuration par défaut qui s'applique à tous les domaines.

  5. Cliquez sur Enregistrer.

gcloud

Pour mettre à jour la configuration par défaut d'un déploiement de Game Servers à l'aide de Google Cloud CLI:

  1. Exécutez la commande suivante après avoir remplacé les valeurs d'espace réservé suivantes :

    • deploymentID est l'identifiant unique du déploiement.
    • configID est un identifiant unique pour la configuration.
    gcloud game servers deployments update-rollout deploymentID --default-config configID --dry-run
    

    Le résultat affiche la valeur targetState afin que vous puissiez prévisualiser les modifications.

  2. Pour appliquer les modifications, exécutez la commande suivante :

    gcloud game servers deployments update-rollout deploymentID --default-config configID --no-dry-run
    

REST

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants:

  • PROJECT_ID : ID de votre projet Google Cloud répertorié dans les paramètres IAM.
  • DEPLOYMENT_ID : identifiant défini par l'utilisateur pour le déploiement
  • CONFIG_ID : identifiant défini par l'utilisateur pour la configuration

Corps JSON de la requête :

{
  "name": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID",
  "defaultGameServerConfig": "CONFIG_ID"
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "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
}

Effacer la configuration par défaut d'un déploiement

Effacez la configuration par défaut pour supprimer la configuration de parc pour ce déploiement de tous les clusters de Game Servers.

Console

  1. Dans la console Google Cloud, accédez à la page Déploiements Game Servers.

    Accéder à Game Servers

  2. Recherchez un déploiement dans la table. Dans la dernière colonne de tableau, cliquez sur les points de suspension , puis sélectionnez Répertorier les configurations. Vous pouvez afficher les configurations actives et inactives du déploiement à partir de cette page.

  3. Cliquez sur Gérer le déploiement.

  4. Dans la liste Sélectionner une configuration, sélectionnez (aucune configuration par défaut).

  5. Cliquez sur Enregistrer.

gcloud

Pour effacer la configuration par défaut d'un déploiement de Game Servers à l'aide de Google Cloud CLI:

  1. Exécutez la commande suivante après avoir remplacé la valeur d'espace réservé suivante :

    • deploymentID est l'identifiant unique du déploiement.
    gcloud game servers deployments update-rollout deploymentID --clear-default-config --dry-run
    

    Le résultat affiche la valeur targetState afin que vous puissiez prévisualiser les modifications.

  2. Pour appliquer les modifications, exécutez la commande suivante :

    gcloud game servers deployments update-rollout deploymentID --clear-default-config --no-dry-run
    

REST

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants:

  • PROJECT_ID : ID de votre projet Google Cloud répertorié dans les paramètres IAM.
  • DEPLOYMENT_ID : identifiant défini par l'utilisateur pour le déploiement

Corps JSON de la requête :

{
  "name": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID",
  "defaultGameServerConfig": ""
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "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
}

Remplacer la configuration pour certains domaines

Si vous souhaitez cibler des domaines spécifiques avec une configuration différente, créez une configuration de remplacement distincte, puis sélectionnez un ou plusieurs domaines qui recevront cette configuration de remplacement (et non la configuration par défaut).

Console

  1. Dans la console Google Cloud, accédez à la page Déploiements Game Servers.

    Accéder à Game Servers

  2. Recherchez un déploiement dans la table. Dans la dernière colonne de tableau, cliquez sur les points de suspension , puis sélectionnez Répertorier les configurations. Vous pouvez afficher les configurations actives et inactives du déploiement à partir de cette page.

  3. Cliquez sur Gérer le déploiement.

  4. (Facultatif) Dans la liste Sélectionner une configuration, choisissez une configuration par défaut qui s'applique à tous les domaines qui ne correspondent pas à une configuration de remplacement.

  5. Sous Configurations de remplacement, vous pouvez spécifier une ou plusieurs configurations de remplacement et les domaines à associer.

    1. Sélectionnez une configuration de remplacement dans la liste Config et le domaine à associer à la liste Domaine.
    2. Utilisez les flèches pour modifier l'ordre de priorité des configurations de remplacement dans la liste.
    3. Cliquez sur Ajouter.
  6. Cliquez sur Enregistrer.

gcloud

Pour appliquer des remplacements de configuration à des domaines spécifiques à l'aide de Google Cloud CLI:

  1. Copiez le code suivant dans un fichier et remplacez les espaces réservés suivants :

    • realmID est l'identifiant complet d'un domaine, tel que projects/<projectID>/locations/<region>/realms/<realmID2>.
    • configID est un identifiant unique pour la configuration.
    - realmsSelector:
        realms:
            - realmID
      configVersion: configID
    
  2. Exécutez la commande suivante après avoir remplacé les valeurs d'espace réservé suivantes :

    • deploymentID est l'identifiant unique du déploiement.
    • configOverrideFile est le chemin d'accès au fichier avec la configuration de remplacement.
    gcloud game servers deployments update-rollout deploymentID --config-overrides-file configOverrideFile --dry-run
    

    Le résultat affiche la valeur targetState afin que vous puissiez prévisualiser les modifications.

  3. Pour appliquer les modifications, exécutez la commande suivante :

    gcloud game servers deployments update-rollout deploymentID --config-overrides-file configOverrideFile  --no-dry-run
    

REST

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants:

  • PROJECT_ID : ID de votre projet Google Cloud répertorié dans les paramètres IAM.
  • LOCATION : région du domaine (ou global)
  • DEPLOYMENT_ID : identifiant défini par l'utilisateur pour le déploiement
  • REALM_ID : identifiant défini par l'utilisateur pour le domaine
  • OVERRIDE_CONFIG_ID : identifiant défini par l'utilisateur pour la configuration de remplacement.

Corps JSON de la requête :

{
  "name": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID",
  "gameServerConfigOverrides": [
  {
    "realmsSelector": {
      "realms": [
        "projects/PROJECT_ID/locations/LOCATION/realms/REALM_ID"
      ]
    },
    "configVersion": "OVERRIDE_CONFIG_ID"
  }
  ]
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "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
}

Effacer les remplacements de configuration

Supprimez la configuration de remplacement pour supprimer la configuration de parc pour ce déploiement des domaines ciblés.

Console

  1. Dans la console Google Cloud, accédez à la page Déploiements Game Servers.

    Accéder à Game Servers

  2. Recherchez un déploiement dans la table. Dans la dernière colonne de tableau, cliquez sur les points de suspension , puis sélectionnez Répertorier les configurations. Vous pouvez afficher les configurations actives et inactives du déploiement à partir de cette page.

  3. Cliquez sur Gérer le déploiement.

  4. Sous Remplacer les configurations, cliquez sur l'icône de la corbeille à côté des configurations de remplacement que vous souhaitez effacer.

  5. Cliquez sur Enregistrer.

gcloud

Pour effacer les forçages de configuration d'un déploiement de Game Servers à l'aide de Google Cloud CLI:

  1. Exécutez la commande suivante après avoir remplacé la valeur d'espace réservé suivante :

    • deploymentID est l'identifiant unique du déploiement.
    gcloud game servers deployments update-rollout deploymentID --clear-config-overrides --dry-run
    

    Le résultat affiche la valeur targetState afin que vous puissiez prévisualiser les modifications.

  2. Pour appliquer les modifications, exécutez la commande suivante :

    gcloud game servers deployments update-rollout deploymentID --clear-config-overrides --no-dry-run
    

REST

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants:

  • PROJECT_ID : ID de votre projet Google Cloud répertorié dans les paramètres IAM.
  • DEPLOYMENT_ID : identifiant défini par l'utilisateur pour le déploiement

Corps JSON de la requête :

{
  "name": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID",
  "gameServerConfigOverrides": []
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "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
}

Afficher les détails d'un déploiement

Console

  1. Dans la console Google Cloud, accédez à la page Déploiements Game Servers.

    Accéder à Game Servers

  2. Recherchez un déploiement dans la table. Dans la dernière colonne de tableau, cliquez sur les points de suspension , puis sélectionnez Répertorier les configurations. Vous pouvez afficher les configurations actives et inactives du déploiement à partir de cette page.

  3. Cliquez sur Gérer le déploiement.

gcloud

Vous pouvez afficher les détails d'un déploiement, tels que les configurations utilisées, à l'aide de Google Cloud CLI:

Pour afficher les détails d'un déploiement, exécutez la commande suivante après avoir remplacé la valeur de l'espace réservé suivant :

  • deploymentID est l'identifiant unique pour le déploiement parent.
gcloud game servers deployments describe-rollout deploymentID

Le résultat affiche les détails du déploiement.

Vous pouvez également afficher l'état des clusters de serveurs de jeu après l'application du déploiement, à l'aide de Google Cloud CLI.

gcloud game servers deployments fetch-state deploymentID

Le résultat affiche les modifications appliquées par le déploiement sur chaque cluster de serveurs de jeu.

REST

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants:

  • PROJECT_ID : ID de votre projet Google Cloud répertorié dans les paramètres IAM.
  • DEPLOYMENT_ID : identifiant défini par l'utilisateur pour le déploiement

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "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"
}

Résoudre des problèmes de déploiement

Cette section explique pourquoi Game Servers ne peut pas mettre à jour les clusters de serveurs de jeux. Le problème est souvent dû à une mauvaise configuration Game Servers ou des clusters de serveurs de jeu. Vous pouvez suivre la checklist suivante pour diagnostiquer les problèmes potentiels que vous rencontrez :

  • Vérifiez que les conditions préalables suivantes sont remplies pour un cluster Agones :
    1. Assurez-vous que le cluster est en cours d'exécution et qu'Agones est installé. Pour vérifier que le pod agones-controller est à l'état Running, exécutez la commande suivante :
      kubectl get pods -n agones-system -l agones.dev/role=controller
      
    2. Assurez-vous que l'espace de noms du serveur de jeu dispose des autorisations de contrôle d'accès (RBAC) requises pour le contrôleur Agones.
    3. Assurez-vous que la version installée d'Agones est compatible avec Game Servers.
  • Consultez le guide de dépannage d'Agones.
  • Vérifiez que la ressource de déploiement Game Servers est correctement configurée :
    1. Si vous utilisez une configuration de remplacement, assurez-vous que le déploiement s'applique au domaine associé au cluster cible.
    2. Assurez-vous que la spécification de parc est correctement configurée. Pour valider les spécifications de votre parc, essayez d'ouvrir manuellement un serveur de jeu.
    3. Si une modification planifiée n'a pas eu lieu, assurez-vous qu'elle est correctement configurée. Le fuseau horaire d'une programmation suit le fuseau horaire du domaine.

Étapes suivantes

Découvrez comment supprimer une configuration.