Découvrez comment activer les instances inactives pour vos services en configurant le paramètre de nombre minimal d'instances.
Par défaut, Knative serving 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 qui doivent rester en cours d'exécution et prêtes à diffuser des requêtes.
Les instances qui sont maintenues en cours d'exécution de cette manière entraînent la facturation de frais.
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 la console Google Cloud ou de la gcloud CLI lorsque vous déployez un nouveau service ou mettez à jour un service existant et déployez une révision :
Console
Accédez à Knative serving dans la console Google Cloud :
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.
Sous Paramètres avancés, cliquez sur Conteneur.
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.
Cliquez sur Suivant pour passer à la section suivante.
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.
Cliquez sur Créer pour déployer l'image sur Knative serving et attendez la fin du déploiement.
Ligne de commande
Pour les services existants, définissez le nombre minimal d'instances de conteneur en exécutant la commande
gcloud run services update
avec le paramètre--min-instances
: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.
Pour les nouveaux services, définissez le nombre minimal d'instances de conteneur en exécutant la commande
gcloud run deploy
avec le paramètre--min-instances
:gcloud run deploy SERVICE --image=IMAGE_URL --min-instances MIN-VALUE
Remplacez :
- SERVICE par le nom de votre service ;
- IMAGE_URL par une référence à l'image de conteneur, par exemple
gcr.io/cloudrun/hello
. - 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 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 run services replace
.
Veillez à ne modifier que les attributs spécifiés.
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 Knative serving.
Dans votre fichier local, mettez à jour l'attribut
autoscaling.knative.dev/minScale:
:spec: template: metadata: annotations: autoscaling.knative.dev/minScale: 'MIN-INSTANCE'
Remplacez :
- MIN-VALUEcode> 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.
- MIN-VALUEcode> par le nombre d'instances de conteneur à garder en attente et prêtes à recevoir des requêtes. Spécifiez
Remplacez la configuration du service en utilisant la commande suivante :
gcloud run services replace service.yaml