Utiliser un nombre minimal d'instances

Par défaut, Cloud Run effectue un scaling vertical du nombre d'instances en fonction du nombre de requêtes entrantes. Toutefois, si votre service nécessite une latence réduite et que vous souhaitez limiter le nombre de démarrages à froid, vous pouvez modifier ce comportement par défaut en spécifiant un nombre minimal d'instances de conteneur à garder en attente et prêtes à diffuser des requêtes. Pour en savoir plus sur cette optimisation, reportez-vous à la section Conseils de développement généraux.

Les instances qui sont maintenues en cours d'exécution de cette manière entraînent la facturation de frais soumis aux tarifs d'inactivité. Un minimum d'instances resteront en fonctionnement au repos, prêtes à traiter les requêtes, mais le processeur sera bridé lorsqu'aucune requête ne sera traitée.

Cette page explique comment activer des instances inactives pour votre service à l'aide du paramètre de nombre minimal d'instances.

Révisions et nombre minimal d'instances

Le nombre minimal d'instances n'est démarré que si la révision est adressable. Une révision est adressable si l'une des conditions suivantes est remplie :

  • Elle reçoit un pourcentage du trafic.
  • Un tag de révision lui a été attribué.

Définir et mettre à jour le nombre minimal d'instances

Tout changement 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 paramètre min-instances est désactivé pour les instances de conteneur, et sa valeur est 0. Vous pouvez modifier cette valeur par défaut à l'aide de Cloud Console, de la ligne de commande gcloud ou d'un fichier YAML lorsque vous créez un service ou déployez une nouvelle révision :

Console

  1. Accédez à Cloud Run

  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. Si vous configurez un nouveau service, renseignez la page de paramètres initiale du service, puis cliquez sur Suivant > Paramètres avancés pour accéder à la page de configuration du service.

  4. Cliquez sur l'onglet Conteneur.

    image

  5. Dans le champ Nombre minimal d'instances, spécifiez le nombre d'instances de conteneur à garder en attente et prêtes à recevoir des requêtes.

  6. Cliquez sur Créer ou Déployer.

Ligne de commande

Vous pouvez mettre à jour le paramètre min-instance d'un service donné à l'aide de la commande suivante :

gcloud run services update SERVICE --min-instances MIN-VALUE

Remplacez

  • SERVICE par le nom de votre service ;
  • MIN-VALUE par le nombre d'instances de conteneur à garder en attente et prêtes à recevoir des requêtes. Spécifiez default pour effacer tout paramétrage du nombre minimal d'instances.

Vous pouvez également définir min-instance lors du déploiement à l'aide de la commande suivante :

gcloud run deploy --image IMAGE_URL --min-instances MIN-VALUE

Remplacez

  • IMAGE_URL par une référence à l'image du conteneur, par exemple gcr.io/myproject/my-image:latest ;
  • MIN-VALUE par le nombre d'instances de conteneur à garder en attente et prêtes à recevoir des requêtes. Spécifiez default pour effacer tout paramétrage du nombre minimal d'instances.

YAML

Vous pouvez télécharger et afficher la configuration de service existante à l'aide de la commande gcloud run services describe --format export, qui renvoie les résultats nettoyés au format YAML. Vous pouvez ensuite modifier les champs décrits ci-dessous et importer le fichier YAML modifié à l'aide de la commande gcloud beta run services replace. Veillez à ne modifier que les champs indiqués.

  1. Pour afficher et télécharger la configuration, exécutez la commande suivante :

    gcloud run services describe SERVICE --format export > service.yaml
  2. Mettez à jour l'attribut autoscaling.knative.dev/minScale: :

    spec:
     template:
       metadata:
         annotations:
           autoscaling.knative.dev/minScale: 'MIN-INSTANCE' 

    Remplacez

    • MIN-INSTANCE par le nombre d'instances à garder en attente et prêtes à recevoir des requêtes.
  3. Remplacez la configuration du service en utilisant la commande suivante :

    gcloud beta run services replace service.yaml

Afficher les paramètres du nombre minimal d'instances

Pour afficher les paramètres du nombre minimal d'instances pour votre service, procédez comme suit:

Console

  1. Accédez à Cloud Run

  2. Cliquez sur le service qui vous intéresse pour ouvrir la page Informations sur le service.

  3. Cliquez sur l'onglet Révisions.

  4. Dans le panneau de détails sur la droite, le paramètre du nombre minimal d'instances est répertorié sous l'onglet Conteneur.

Ligne de commande

  1. Exécutez la commande suivante :

    gcloud run services describe SERVICE
  2. Recherchez le paramètre du nombre minimal d'instances dans la configuration renvoyée.