Vous pouvez choisir la quantité de mémoire à fournir pour votre job Cloud Run. Cette page explique comment spécifier la quantité de mémoire disponible pour votre job.
Comprendre l'utilisation de la mémoire
Les instances Cloud Run qui dépassent la limite de mémoire autorisée sont arrêtées.
La mémoire disponible pour votre instance doit être suffisante pour :
- Exécution de l'exécutable du job, car l'exécutable doit être chargé en mémoire
- Allocation de mémoire dans votre processus de job
- Écriture de fichiers dans le système de fichiers
La taille de l'image de conteneur déployée n'affecte pas la mémoire disponible pour l'instance.
Définir et mettre à jour des limites de mémoire
Vous pouvez définir des limites de mémoire sur les jobs Cloud Run. Par défaut, la mémoire allouée à chaque job est de 512 Mio.
Nombre minimal de processeurs requis
La quantité de mémoire allouée que vous choisissez correspond à la quantité minimale de processeurs pour votre job. Lorsque vous définissez une limite de mémoire, les limites minimales de processeur requises sont les suivantes :
Mémoire | Nombre minimal de processeurs requis |
---|---|
128 MiB | 0,083 vCPU |
256 MiB | 0,167 vCPU |
512 MiB | 0,333 vCPU |
1 Gio | 0,583 vCPU |
2 Gio | 1 vCPU |
Plus de 4 Gio | 2 vCPU |
Plus de 8 Gio | 4 processeurs virtuels |
Plus de 16 Gio | 6 vCPU |
Plus de 24 Gio | 8 vCPU |
Quantité maximale de mémoire
La quantité maximale de mémoire que vous pouvez configurer est de 32 gibioctets (32 Gi
).
Mémoire minimale
La quantité de mémoire minimale que vous pouvez configurer dans l'environnement d'exécution de deuxième génération est de 512 Mio.
Rôles requis
Pour obtenir les autorisations nécessaires pour configurer des jobs Cloud Run, demandez à votre administrateur de vous accorder les rôles IAM suivants :
-
Développeur Cloud Run (
roles/run.developer
) sur le job Cloud Run -
Utilisateur du compte de service (
roles/iam.serviceAccountUser
) sur l'identité du service
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 job Cloud Run communique avec des APIGoogle Cloud , 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 les limites de mémoire
Vous devez spécifier un minimum de 512 Mi pour une tâche Cloud Run. Pour spécifier la mémoire d'une tâche Cloud Run, procédez comme suit :
Console
Dans la console Google Cloud , accédez à la page des jobs Cloud Run :
Sélectionnez Jobs dans le menu, puis cliquez sur Deploy container (Déployer un conteneur) pour remplir la page des paramètres initiaux du job. Si vous configurez un job existant, sélectionnez-le, puis cliquez sur Modifier.
Cliquez sur Conteneur(s), Volumes, Connexions, Sécurité pour développer la page des propriétés du job.
Cliquez sur l'onglet Conteneur.
- Sélectionnez la taille de mémoire souhaitée dans la liste déroulante Mémoire.
Cliquez sur Créer ou Mettre à jour.
gcloud
Pour définir des limites de mémoire lorsque vous créez une tâche, procédez comme suit :
gcloud run jobs create JOB_NAME --image IMAGE_URL --memory SIZE
Remplacez :
- JOB_NAME par le nom de votre job.
- IMAGE_URL par une référence à l'image de conteneur, par exemple
us-docker.pkg.dev/cloudrun/container/job:latest
. - SIZE par la taille de mémoire souhaitée. Le format de la taille est un nombre fixe ou à virgule flottante suivi d'une unité :
G
ouM
correspondant respectivement au gigaoctet ou au mégaoctet, ou qui utilise des équivalents en puissance de deux :Gi
ouMi
correspondant respectivement au gibioctet ou au mébioctet.
Pour définir des limites de mémoire lorsque vous mettez à jour une tâche, procédez comme suit :
gcloud run jobs update JOB_NAME --memory SIZE
YAML
Si vous créez un job, ignorez cette étape. Si vous mettez à jour un job existant, téléchargez sa configuration YAML :
gcloud run jobs describe JOB_NAME --format export > job.yaml
Mettez à jour l'attribut
memory
:apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB spec: template: spec: template: spec: containers: - image: IMAGE resources: limits: memory: SIZE
Remplacez SIZE par la taille de mémoire souhaitée, en spécifiant une valeur minimale de 512 Mi. Le format est un nombre fixe ou à virgule flottante suivi d'une unité :
G
ouM
correspondant au gigaoctet ou au mégaoctet, respectivement, ou qui utilise des équivalents en puissance de deux :Gi
ouMi
correspondant respectivement à un gibioctet ou à un mébioctet.Vous pouvez également spécifier d'autres éléments de configuration, tels que des variables d'environnement ou des limites de mémoire.
Mettez à jour la configuration de job existante :
gcloud run jobs replace job.yaml
Terraform
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Ajoutez les éléments suivants à une ressourcegoogle_cloud_run_v2_job
dans votre configuration Terraform :resource "google_cloud_run_v2_job" "default" {
name = "cloudrun-job"
location = "REGION"
deletion_protection = false
template {
template {
containers {
image = "us-docker.pkg.dev/cloudrun/container/job"
resources {
limits = {
cpu = "2"
memory = "SIZE"
}
}
}
}
}
}
Remplacez :
- REGION par la région Google Cloud . Exemple :
europe-west1
. - SIZE par la taille de mémoire requise, en spécifiant une valeur minimale de 512 Mio.
Le format est un nombre fixe ou à virgule flottante suivi d'une unité :
G
ouM
correspondant au gigaoctet ou au mégaoctet, respectivement, ou qui utilise des équivalents en puissance de deux :Gi
ouMi
correspondant respectivement à un gibioctet ou à un mébioctet.
Afficher les paramètres de limite de mémoire
Pour afficher les paramètres actuels de limite de mémoire de votre tâche Cloud Run, procédez comme suit :
Console
Dans la console Google Cloud , accédez à la page des jobs Cloud Run :
Cliquez sur le job qui vous intéresse pour ouvrir la page Informations sur le job.
Cliquez sur Afficher et modifier la configuration du job.
Localisez le paramètre de limite de mémoire dans les détails de la configuration.
gcloud
Exécutez la commande suivante :
gcloud run jobs describe JOB_NAME
Recherchez le paramètre de limite de mémoire dans la configuration renvoyée.