Définir un nombre maximal d'instances de conteneur

Découvrez comment définir le nombre maximal d'instances de conteneur pouvant être utilisées pour votre service Cloud Run for Anthos. La spécification du nombre maximal d'instances dans Cloud Run for Anthos vous permet de limiter le scaling de votre service en réponse aux requêtes entrantes. Utilisez ce paramètre pour contrôler vos coûts ou limiter le nombre de connexions à un service externe, tel qu'une base de données.

Si vous voulez savoir comment Cloud Run for Anthos effectue l'autoscaling des instances de conteneur, consultez la page À propos de l'autoscaling des instances de conteneur.

Définir et modifier le nombre maximal d'instances

Toute modification de configuration entraîne la création d'une révision. Les révisions ultérieures obtiennent aussi automatiquement le même paramètre de configuration, à moins que vous ne le mettiez explicitement à jour.

Par défaut, le nombre d'instances de conteneur peut évoluer à l'infini. Vous pouvez définir une limite supérieure du nombre maximal d'instances à l'aide de la console Google Cloud ou de la CLI gcloud lorsque vous déployez un nouveau service ou mettez à jour un service existant et déployez une révision :

Console

  1. Accédez à Cloud Run for Anthos dans la console Google Cloud :

    Accéder à Cloud Run pour Anthos

  2. Cliquez sur Créer un service si vous configurez un nouveau service sur lequel effectuer un déploiement. Si vous configurez un service existant, cliquez sur celui-ci, puis sur Modifier et déployer la nouvelle révision.

  3. Sous Paramètres avancés, cliquez sur Conteneur.

    Image

  4. Dans le champ Nombre maximal d'instances, spécifiez le nombre maximal d'instances de conteneur souhaité.

  5. Cliquez sur Next (Suivant) pour passer à la section suivante.

  6. Dans la section Configurer la manière dont ce service est déclenché, sélectionnez la connectivité que vous souhaitez utiliser pour appeler le service.

  7. Cliquez sur Create (Créer) pour déployer l'image sur Cloud Run pour Anthos et attendez la fin du déploiement.

Ligne de commande

  • Pour les services existants, définissez le nombre maximal d'instances de conteneur en exécutant la commande gcloud run services update avec le paramètre --max-instances :

    gcloud run services update SERVICE --max-instances MAX-VALUE

    Remplacez :

    • SERVICE par le nom de votre service ;
    • MAX-VALUE par le nombre maximal d'instances de conteneur souhaité. Spécifiez default pour effacer tout paramétrage du nombre maximal d'instances.
  • Pour les nouveaux services, définissez le nombre maximal d'instances de conteneur en exécutant la commande gcloud run deploy avec le paramètre --max-instances :

    gcloud run deploy SERVICE --image=IMAGE_URL --max-instances MAX-VALUE

    Remplacez :

    • SERVICE par le nom de votre service ;
    • IMAGE_URL par une référence à l'image de conteneur, par exemple gcr.io/myproject/my-image:latest ;
    • MAX-VALUE par le nombre maximal d'instances de conteneur souhaité. Spécifiez default pour effacer tout paramétrage du nombre maximal d'instances.

YAML

Vous pouvez télécharger la configuration d'un service existant dans un fichier YAML avec la commande gcloud run services describe à l'aide de l'option --format=export. Vous pouvez ensuite modifier ce fichier YAML et déployer ces modifications à l'aide de la commande gcloud beta run services replace. Veillez à ne modifier que les attributs spécifiés.

  1. Téléchargez la configuration de votre service dans un fichier nommé service.yaml sur l'espace de travail local :

    gcloud run services describe SERVICE --format export > service.yaml

    Remplacez SERVICE par le nom de votre service Cloud Run pour Anthos.

  2. Dans votre fichier local, mettez à jour l'attribut autoscaling.knative.dev/maxScale: :

    spec:
     template:
       metadata:
         annotations:
           autoscaling.knative.dev/maxScale: 'MAX-INSTANCE' 

    Remplacer

    • MAX-INSTANCE par le nombre maximal souhaité.
  3. Remplacez la configuration du service en utilisant la commande suivante :

    gcloud beta run services replace service.yaml