Cette page explique comment mettre à l'échelle manuellement votre pool de nœuds de calcul.
Présentation
Le scaling manuel vous permet de définir un nombre spécifique d'instances sans avoir à redéployer. Vous avez ainsi la possibilité d'écrire votre propre logique de scaling à l'aide d'un système externe. Pour obtenir un exemple, consultez l'autoscaler Kafka.
Considérations relatives à la facturation lors de l'utilisation du scaling manuel
Lorsque vous utilisez le scaling manuel, toutes les instances que vous avez demandées sont facturées en tant qu'instances actives, même si elles sont inactives. Pour obtenir des informations complètes sur la facturation, consultez la page des tarifs.
Rôles requis
Pour obtenir les autorisations nécessaires pour déployer des pools de nœuds de calcul Cloud Run, demandez à votre administrateur de vous accorder les rôles IAM suivants :
-
Développeur Cloud Run (
roles/run.developer) sur le service Cloud Run -
Utilisateur du compte de service (
roles/iam.serviceAccountUser) sur l'identité du service -
Lecteur Artifact Registry (
roles/artifactregistry.reader) sur le dépôt Artifact Registry de l'image de conteneur déployée (le cas échéant)
Pour obtenir la liste des rôles et des autorisations IAM associés à Cloud Run, consultez les sections Rôles IAM Cloud Run et Autorisations IAM Cloud Run. Si votre pool de nœuds de calcul Cloud Run communique avec Google Cloud des API, telles que des bibliothèques clientes Cloud, consultez le guide de configuration de l'identité du service. Pour en savoir plus sur l'attribution de rôles, consultez les pages Autorisations de déploiement et Gérer les accès.
Configurer le scaling
La modification du mode de scaling ou du nombre d'instances manuelles ne crée pas de révision.
Pour configurer le mode de scaling, utilisez la Google Cloud console, la Google Cloud CLI, YAML, Terraform ou l'API REST :
Console
Dans la Google Cloud console, accédez à Cloud Run :
Si vous configurez un nouveau pool de nœuds de calcul, sélectionnez Pools de nœuds de calcul dans le menu, puis cliquez sur Déployer un conteneur. Si vous configurez un pool de nœuds de calcul existant, cliquez sur celui-ci pour afficher son panneau de détails, puis sur l'icône Stylo à côté de Scaling en haut à droite.
Recherchez le formulaire Scaling (pour un nouveau pool de nœuds de calcul) ou le formulaire Modifier le scaling pour un pool de nœuds de calcul existant.
Dans le champ Nombre d'instances, spécifiez le nombre d'instances de conteneur pour le service.
Terminez la spécification.
Cliquez sur Créer pour un nouveau pool de nœuds de calcul ou sur Enregistrer pour un pool de nœuds de calcul existant.
gcloud
Pour spécifier le scaling d'un nouveau pool de nœuds de calcul, utilisez la commande deploy :
gcloud beta run worker-pools deploy WORKER_POOL \ --instances=INSTANCE_COUNT \ --image IMAGE_URL
Remplacez les éléments suivants :
- WORKER_POOL : nom de votre pool de nœuds de calcul.
- INSTANCE_COUNT : nombre d'instances pour le pool de nœuds de calcul.
Cette option définit le scaling manuel pour le pool de nœuds de calcul. Spécifiez la valeur
0pour désactiver le pool de nœuds de calcul. - IMAGE_URL : référence à l'image de conteneur qui
contient le pool de nœuds de calcul, par exemple
us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
Spécifiez le scaling d'un pool de nœuds de calcul existant à l'aide de la commande de mise à jour suivante update :
gcloud beta run worker-pools update WORKER_POOL \ --instances=INSTANCE_COUNT
YAML
Si vous créez un pool de nœuds de calcul, ignorez cette étape. Si vous mettez à jour un pool de nœuds de calcul existant, téléchargez sa configuration YAML :
gcloud beta run worker-pools describe WORKER_POOL --format export > workerpool.yaml
L'exemple suivant contient la configuration YAML :
apiVersion: run.googleapis.com/v1 kind: WorkerPool metadata: name: WORKER_POOL annotations: run.googleapis.com/launch-stage: BETA run.googleapis.com/manualInstanceCount: `INSTANCE_COUNT`
Remplacez les éléments suivants :
- WORKER_POOL : nom de votre pool de nœuds de calcul Cloud Run.
- INSTANCE_COUNT : nombre d'instances que vous mettez à l'échelle manuellement
pour le pool de nœuds de calcul. Spécifiez la valeur
0pour désactiver le pool de nœuds de calcul.
Créez ou mettez à jour le pool de nœuds de calcul à l'aide de la commande suivante :
gcloud beta run worker-pools replace workerpool.yaml
Terraform
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
resource "google_cloud_run_v2_worker_pool" "default" {
name = "WORKER_POOL"
location = "REGION"
launch_stage = "BETA"
template {
containers {
image = "IMAGE_URL"
}
}
scaling {
scaling_mode = "MANUAL"
manual_instance_count = "INSTANCE_COUNT"
}
}
Remplacez les éléments suivants :
- WORKER_POOL : nom du pool de nœuds de calcul.
- REGION : région, par exemple
europe-west1. Google Cloud - IMAGE_URL : référence à l'image de conteneur qui
contient le pool de nœuds de calcul, par exemple
us-docker.pkg.dev/cloudrun/container/worker-pool:latest. - INSTANCE_COUNT : nombre d'instances pour le pool de nœuds de calcul.
Cette option définit le scaling manuel pour le pool de nœuds de calcul. Spécifiez la valeur
0pour désactiver le pool de nœuds de calcul.
API REST
Pour mettre à jour le nombre d'instances d'un pool de nœuds de calcul donné, envoyez une PATCH
requête HTTP à l'API Cloud Run Admin
workerPools point de terminaison.
Exemple, à l'aide de curl :
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X PATCH \ -d '{"scaling":{"manualInstanceCount":INSTANCE_COUNT }}' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/workerPools/WORKER_POOL?update_mask=scaling.manualInstanceCount
Remplacez les éléments suivants :
- ACCESS_TOKEN : jeton d'accès valide pour un compte qui
dispose des autorisations IAM pour mettre à jour un pool de nœuds de calcul.
Par exemple, si vous êtes connecté à
gcloud, vous pouvez récupérer un jeton d'accès à l'aide degcloud auth print-access-token. À partir d'une instance de conteneur Cloud Run, vous pouvez récupérer un jeton d'accès via le serveur de métadonnées d'instance de conteneur. - INSTANCE_COUNT : nombre d'instances pour le pool de nœuds de calcul.
- PROJECT_ID : ID du Google Cloud projet.
- REGION : région dans laquelle le pool de nœuds de calcul est déployé. Google Cloud
- WORKER_POOL : nom du pool de nœuds de calcul.
Afficher la configuration de scaling d'un pool de nœuds de calcul
Dans la Google Cloud console, accédez à Cloud Run :
Cliquez sur Pools de nœuds de calcul pour afficher la liste des pools de nœuds de calcul déployés.
Cliquez sur le pool de nœuds de calcul que vous souhaitez examiner pour afficher son panneau de détails.
Le paramètre de scaling actuel s'affiche au-dessus de la liste des révisions du pool de nœuds de calcul : Scaling : Manuel (Instances : ).
Désactiver un pool de nœuds de calcul
Pour désactiver un pool de nœuds de calcul, utilisez la commande suivante pour définir le scaling sur zéro :
gcloud beta run worker-pools update WORKER_POOL --instances=0
Remplacez WORKER_POOL par le nom de votre pool de nœuds de calcul.