Configurer les limites de processeur

Cette page explique comment spécifier le nombre de processeurs à allouer à chaque instance Cloud Run. Par défaut, les instances de conteneur Cloud Run sont limitées à un processeur. Vous pouvez augmenter ou diminuer cette valeur comme décrit sur cette page.

Cette page décrit également comment activer ou désactiver l'optimisation du processeur au démarrage, une fonctionnalité qui augmente temporairement l'allocation de processeur lors du démarrage de l'instance afin de réduire la latence de démarrage.

Définir et mettre à jour les limites de processeur

Par défaut, chaque instance est limitée à un processeur. Vous pouvez augmenter cette valeur à l'aide de n'importe quelle valeur entière, jusqu'à un maximum de huit processeurs.

Processeur et mémoire

Voici les exigences minimales de mémoire pour les processeurs :

Processeurs Mémoire minimale
4 2 Gio
6 4 Gio
8 4 Gio

Si vous souhaitez utiliser moins d'un processeur, vous pouvez également sélectionner une valeur comprise entre 0,08 et 1, par incréments de 0,01. Toute valeur supérieure à 1 doit être un nombre entier. Si vous utilisez moins d'un processeur, les exigences suivantes sont appliquées :

Paramètre Prérequis
Mémoire Un minimum de 0,5 processeur est nécessaire pour définir une limite de mémoire supérieure à 512 Mio.
Un minimum d'un processeur est nécessaire pour définir une limite de mémoire supérieure à 1 Gio.
Simultanéité La simultanéité maximale doit être définie sur 1.
Processeur alloué L'allocation de processeurs ne doit être définie sur le processeur alloué que lors du traitement des requêtes.
Environnement d'exécution Vous devez utiliser l'environnement d'exécution de première génération.

Rôles requis

Pour obtenir les autorisations nécessaires pour configurer et déployer des services Cloud Run, demandez à votre administrateur de vous accorder les rôles IAM suivants :

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 service Cloud Run communique avec les API Google Cloud, telles que les 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 sections Autorisations de déploiement et Gérer les accès.

Configurer les limites de processeur

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.

Vous pouvez définir des limites de processeur à l'aide de Google 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. Dans la console Google Cloud, accédez à Cloud Run :

    Accédez à Cloud Run

  2. Cliquez sur Déployer un conteneur et sélectionnez Service pour configurer un nouveau service. 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, remplissez la page initiale des paramètres du service, puis cliquez sur Conteneur(s), volumes, mise en réseau et sécurité pour développer la page de configuration du service.

  4. Cliquez sur l'onglet Conteneur.

    image

    • Sélectionnez la limite de processeur souhaitée dans la liste déroulante, en utilisant Personnalisé si vous souhaitez utiliser moins d'un processeur. Sélectionnez une valeur de 1, 2, 4, 6 ou 8 pour le nombre de processeurs, ou, pour un nombre de processeurs inférieur à 1, spécifiez une valeur comprise entre 0,08 et 1,00, par incréments de 0,01 (Consultez le tableau de la section Définir et mettre à jour des limites de processeur pour connaître les paramètres requis.)
  5. Cliquez sur Créer ou Déployer.

gcloud

Vous pouvez mettre à jour les limites de processeur d'un service donné à l'aide de la commande suivante :

gcloud run services update SERVICE --cpu CPU

Remplacer

  • SERVICE par le nom de votre service
  • CPU par la limite de processeur souhaitée Spécifiez une valeur de 1, 2, 4, 6 ou 8 pour le nombre de processeurs, ou, pour un nombre de processeurs inférieur à 1, spécifiez une valeur comprise entre 0,08 et 1,00, par incréments de 0,01 (Consultez le tableau de la section Définir et mettre à jour des limites de processeur pour connaître les paramètres requis.)

Vous pouvez également définir l'allocation de processeurs lors du déploiement, en utilisant la commande suivante :

gcloud run deploy --image IMAGE_URL --cpu CPU

Remplacer

  • IMAGE_URL par une référence à l'image de conteneur, par exemple us-docker.pkg.dev/cloudrun/container/hello:latest. Si vous utilisez Artifact Registry, le dépôt REPO_NAME doit déjà être créé. L'URL se présente sous la forme suivante : LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
  • CPU avec la valeur de 1, 2, 4, 6 ou 8 pour le nombre de processeurs, ou, pour un nombre de processeurs inférieur à 1, spécifiez une valeur comprise entre 0,08 et 1,00, par incréments de 0,01 (Consultez le tableau de la section Définir et mettre à jour des limites de processeur pour connaître les paramètres requis.)

YAML

  1. Si vous créez un service, ignorez cette étape. Si vous mettez à jour un service existant, téléchargez sa configuration YAML :

    gcloud run services describe SERVICE --format export > service.yaml
  2. Mettez à jour l'attribut cpu :

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          name: REVISION
        spec:
          containers:
          - image: IMAGE
            resources:
              limits:
                cpu: CPU

    Remplacer

    • SERVICE par le nom de votre service Cloud Run
    • IMAGE_URL par une référence à l'image de conteneur, par exemple us-docker.pkg.dev/cloudrun/container/hello:latest. Si vous utilisez Artifact Registry, le dépôt REPO_NAME doit déjà être créé. L'URL se présente sous la forme suivante : LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
    • CPU par la valeur de limite de processeur souhaitée. Spécifiez une valeur de 1, 2, 4, 6 ou 8 pour le nombre de processeurs, ou, pour un nombre de processeurs inférieur à 1, spécifiez une valeur comprise entre 0,08 et 1,00, par incréments de 0,01 (Consultez le tableau de la section Définir et mettre à jour des limites de processeur pour connaître les paramètres requis.)
    • REVISION par un nouveau nom de révision ou supprimez-le (le cas échéant). Si vous indiquez un nouveau nom de révision, il doit répondre aux critères suivants :
      • Commencer par SERVICE-
      • Ne contenir que des lettres minuscules, des chiffres et -
      • Ne pas se terminer par -
      • Ne pas dépasser 63 caractères
  3. Créez ou mettez à jour le service à l'aide de la commande suivante :

    gcloud run services replace service.yaml

Terraform

Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base.

La ressource google_cloud_run_v2_service suivante spécifie une limite de processeur sous template.containers.resources.limits. Remplacez 1 par le nombre de processeurs souhaité.

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-service-cpu"
  location = "us-central1"

  deletion_protection = false # set to "true" in production

  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"
      resources {
        limits = {
          # CPU usage limit
          cpu = "1"
        }
      }
    }
  }
}

Configurer l'optimisation du processeur au démarrage

La fonctionnalité d'optimisation du processeur au démarrage pour les révisions fournit davantage de ressources processeur pendant le temps de démarrage de l'instance et pendant les 10 secondes suivant le démarrage de l'instance.

L'optimisation réelle du processeur varie en fonction des paramètres de limite de votre processeur :

Limite de processeur Processeur optimisé
0-1 2
2 4
4 8
6 8
8 8

La quantité de processeur supplémentaire allouée vous est facturée pendant la durée de démarrage du conteneur. Par exemple, si le temps de démarrage du conteneur est de 15 secondes et que vous allouez deux processeurs, avec l'optimisation du processeur au démarrage, quatre processeurs vous seront facturés pour le temps de démarrage de l'instance (éventuellement plus court), y compris pour les 10 secondes après le démarrage de votre conteneur et pour deux processeurs pendant le reste du cycle de vie du conteneur.

Vous pouvez activer ou désactiver la fonctionnalité d'optimisation du processeur au démarrage à l'aide de la console Google Cloud ou de Google Cloud CLI.

Console

  1. Dans la console Google Cloud, accédez à Cloud Run :

    Accédez à Cloud Run

  2. Cliquez sur Déployer un conteneur et sélectionnez Service pour configurer un nouveau service. 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, remplissez la page initiale des paramètres du service, puis cliquez sur Conteneur(s), volumes, mise en réseau et sécurité pour développer la page de configuration du service.

  4. Cliquez sur l'onglet Conteneur.

    image

    • Pour activer l'optimisation du processeur au démarrage, cochez la case Optimisation du processeur au démarrage. Pour désactiver cette fonctionnalité, décochez la case.
  5. Cliquez sur Créer ou Déployer.

gcloud

  1. Vous pouvez activer l'optimisation du processeur au démarrage pour un service donné à l'aide de la commande suivante :

    gcloud run services update SERVICE --cpu-boost

    Remplacez SERVICE par le nom du service.

    Vous pouvez activer l'optimisation du processeur au démarrage lors du déploiement à l'aide de la commande suivante :

    gcloud run deploy --image IMAGE_URL --cpu-boost

    Remplacez IMAGE_URL par une référence à l'image de conteneur, par exemple us-docker.pkg.dev/cloudrun/container/hello:latest. Si vous utilisez Artifact Registry, le dépôt REPO_NAME doit déjà être créé. L'URL se présente sous la forme suivante : LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.

  2. Vous pouvez désactiver l'optimisation du processeur au démarrage pour un service donné à l'aide de la commande suivante :

    gcloud run services update SERVICE --no-cpu-boost

    Remplacez SERVICE par le nom du service.

    Vous pouvez désactiver l'optimisation du processeur au démarrage lors du déploiement à l'aide de la commande suivante :

    gcloud run deploy --image IMAGE_URL --no-cpu-boost

YAML

  1. Si vous créez un service, ignorez cette étape. Si vous mettez à jour un service existant, téléchargez sa configuration YAML :

    gcloud run services describe SERVICE --format export > service.yaml
  2. Mettez à jour l'attribut run.googleapis.com/startup-cpu-boost en spécifiant 'true' pour activer l'optimisation du processeur au démarrage ou 'false' pour la désactiver :

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/startup-cpu-boost: 'true'

    Remplacer

    • SERVICE par le nom de votre service Cloud Run
  3. Créez ou mettez à jour le service à l'aide de la commande suivante :

    gcloud run services replace service.yaml

Afficher les paramètres du processeur

Pour afficher les paramètres actuels du processeur de votre service Cloud Run, procédez comme suit :

Console

  1. Dans la console Google Cloud, accédez à Cloud Run :

    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 de processeur est répertorié sous l'onglet Conteneur.

gcloud

  1. Exécutez la commande suivante :

    gcloud run services describe SERVICE
  2. Recherchez le paramètre de processeur dans la configuration renvoyée.