Créer une ressource Configuration

Cette page explique comment enregistrer, modifier, répertorier et afficher les détails d'une configuration Game Servers dans un déploiement. Cette configuration définit la spécification de parc Agones, qui inclut des informations sur le nombre, la mémoire tampon et la version du serveur de jeu. Cette configuration définit également la configuration du scaling, qui spécifie la manière dont le parc évolue automatiquement en fonction de la demande.

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.

Créer une ressource Configuration

Assurez-vous d'avoir créé un déploiement 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. Pour créer une configuration pour le déploiement, cliquez sur Créer une configuration.

  4. Dans la zone Nom de la configuration, saisissez un identifiant unique pour cette configuration.

  5. (Facultatif) Dans la zone Description, saisissez une description de la configuration.

  6. Dans la zone Nom de la configuration de parc, saisissez un identifiant unique pour cette configuration de parc.

  7. Dans la zone Spécifications du parc, saisissez la spécification de parc.

  8. (Facultatif) Sous Configuration de scaling, vous pouvez spécifier une ou plusieurs configurations qui effectuent un scaling automatique du parc. Cliquez sur Ajouter pour ajouter une configuration de scaling.

    1. Dans la zone Nom de la configuration de scaling, saisissez un identifiant unique pour cette configuration de scaling.
    2. (Facultatif) Dans les zones Heure de début et Heure de fin, planifiez la période pendant laquelle cette configuration de scaling sera active. Pour en savoir plus, consultez la section Créer des planifications de scaling.
    3. Dans la zone Spécification AutoLandscaper, saisissez la spécification de scaling.

gcloud

Vous pouvez créer une configuration Game Servers dans un déploiement à l'aide de Google Cloud CLI.

Pour créer une configuration de Game Servers, procédez comme suit :

  1. Copiez cette spécification de parc dans un fichier.

    - name: fleet-spec-1
      fleetSpec:
       replicas: 10
       scheduling: Packed
       strategy:
         type: RollingUpdate
         rollingUpdate:
           maxSurge: 25%
           maxUnavailable: 25%
       template:
         metadata:
           labels:
             gameName: udp-server
         spec:
           ports:
           - name: default
             portPolicy: Dynamic
             containerPort: 7654
             protocol: UDP
           health:
             initialDelaySeconds: 30
             periodSeconds: 60
           sdkServer:
             logLevel: Info
             grpcPort: 9357
             httpPort: 9358
           template:
             spec:
               containers:
               - name: dedicated
                 image: gcr.io/agones-images/udp-server:0.21
                 imagePullPolicy: Always
                 resources:
                   requests:
                     memory: 200Mi
                     cpu: 500m
                   limits:
                     memory: 200Mi
                     cpu: 500m
    
  2. Exécutez la commande suivante et remplacez les valeurs des espaces réservés tels que deploymentID et configID par des valeurs appropriées :

    gcloud game servers configs create configID --deployment deploymentID --fleet-configs-file fleetSpecFile
    

    Les espaces réservés de variables correspondent aux descriptions suivantes :

  • configID est un identifiant unique que vous pouvez spécifier pour cette configuration.
  • deploymentID est l'identifiant unique du déploiement.
  • fleetSpecFile correspond au chemin d'accès du fichier avec la spécification Agones Fleet.

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 :

{
  "fleetConfigs": [
    {
      "name": "fleet-spec-1",
      "fleetSpec": "{
        \"replicas\": 10,
        \"scheduling\": \"Packed\",
        \"template\": {
          \"metadata\": {
            \"labels\": {
              \"gameName\": \"udp-server\"
            }
          },
          \"spec\": {
            \"ports\": [
              {
                \"name\": \"default\",
                \"portPolicy\": \"Dynamic\",
                \"containerPort\": 7654,
                \"protocol\": \"UDP\"
              }
            ],
            \"health\": {
              \"periodSeconds\": 60,
              \"initialDelaySeconds\": 30
            },
            \"sdkServer\": {
              \"logLevel\": \"Info\",
              \"grpcPort\": 9357,
              \"httpPort\": 9358
            },
            \"template\": {
              \"spec\": {
                \"containers\": [
                  {
                    \"name\": \"dedicated\",
                    \"image\": \"gcr.io/agones-images/udp-server:0.21\",
                    \"imagePullPolicy\": \"Always\",
                    \"resources\": {
                      \"requests\": {
                        \"memory\": \"200Mi\",
                        \"cpu\": \"500m\"
                      },
                      \"limits\": {
                        \"memory\": \"200Mi\",
                        \"cpu\": \"500m\"
                      }
                    }
                  }
                ]
              }
            }
          }
        }
      }"
    }
  ]
}

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/configs/CONFIG_ID",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Modifier les configurations

Vous ne pouvez pas modifier une configuration Game Servers, car les configurations sont immuables. Si vous souhaitez modifier une configuration, copiez-la (afficher les détails de la configuration), modifiez-la localement et utilisez la version mise à jour pour créer une configuration.

Répertorier les configurations

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.

gcloud

Vous pouvez répertorier des configurations à l'aide de Google Cloud CLI.

Pour répertorier toutes les configurations, exécutez la commande suivante :

gcloud game servers configs list

Pour répertorier toutes les configurations d'un déploiement, exécutez la commande suivante et remplacez deploymentID par le déploiement parent dans lequel vous souhaitez répertorier les configurations :

gcloud game servers configs list --deployment=deploymentID

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 :

{
  "gameServerConfigs": [
    {
      "name": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID/configs/MY-CONFIG-1",
      "createTime": CREATE_TIME,
      "updateTime": UPDATE_TIME,
      "fleetConfigs": [
        {
          "fleetSpec": ...
          "name": "MY-CONFIG-1"
        }
      ],
      "description": "Config 1"
    },
    {
      "name": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID/configs/MY-CONFIG-2",
      "createTime": CREATE_TIME,
      "updateTime": UPDATE_TIME,
      "fleetConfigs": [
        {
          "fleetSpec": ...
          "name": "MY-CONFIG-2"
        }
      ],
      "description": "Config 2"
    },
  ]
}

Afficher les détails d'une configuration

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. Recherchez une configuration dans le tableau. Dans la dernière colonne de tableau, cliquez sur les points de suspension , puis sélectionnez Afficher la configuration.

gcloud

Vous pouvez trouver des informations sur une configuration, comme l'heure de création, à l'aide de Google Cloud CLI:

Pour afficher les détails d'une configuration, exécutez la commande suivante et remplacez les valeurs des espaces réservés tels que deploymentID et configID par des valeurs appropriées :

gcloud game servers configs describe configID --deployment deploymentID

Le résultat affiche les détails de la configuration.

Les espaces réservés de variables correspondent aux descriptions suivantes :

  • configID est l'identifiant unique que vous avez spécifié pour cette configuration de Game Servers.
  • deploymentID est un identifiant unique pour le déploiement parent.

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

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/configs/CONFIG_ID",
  "createTime": CREATE_TIME,
  "updateTime": UPDATE_TIME,
  "fleetConfigs": [
    {
      "fleetSpec": ...
      "name": "CONFIG_ID"
    }
  ],
  "description": "My config"
}

Étapes suivantes