Configurer des bacs à sable pour les pools de nœuds de calcul

Les bacs à sable Cloud Run fournissent un environnement rapide, sécurisé et isolé pour exécuter des workflows d'agent dans votre pool de nœuds de calcul, exécuter des charges utiles non fiables et gérer des événements de manière isolée. Les bacs à sable sont hautement optimisés pour la latence et s'exécutent dans la même instance que votre conteneur, partageant le processeur et la mémoire qui lui sont alloués.

Cette page explique comment configurer des bacs à sable sur votre conteneur. Pour en savoir plus sur l'écriture de code permettant d'interagir avec le bac à sable à l'aide de la CLI, consultez la section Exécution de code dans Cloud Run.

Avant de commencer

  1. Connectez-vous à votre Google Cloud compte. Si vous ne connaissez pas Google Cloud, créez un compte pour évaluer les performances de nos produits dans des scénarios réels. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Installez et initialisez la gcloud CLI.
  7. Déployez un pool de nœuds de calcul Cloud Run .

Rôles requis

Pour obtenir les autorisations nécessaires pour configurer et déployer des pools de nœuds de calcul 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 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.

Activer les bacs à sable

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.

Pour activer les bacs à sable dans les pools de nœuds de calcul Cloud Run, utilisez Google Cloud CLI ou une configuration YAML :

gcloud

Pour déployer ou mettre à jour le pool de nœuds de calcul, spécifiez l'option --sandbox-launcher :

  • Pour déployer un pool de nœuds de calcul, exécutez la commande suivante :

    gcloud beta run worker-pools deploy WORKER_POOL --image IMAGE_URL --sandbox-launcher

    Remplacez les éléments suivants :

    • WORKER_POOL par le nom de votre pool de nœuds de calcul Cloud Run
    • IMAGE_URLpar une référence à l'image de conteneur contenant le pool de nœuds de calcul, par exemple us-docker.pkg.dev/cloudrun/container/worker-pool:latest
  • Pour mettre à jour un pool de nœuds de calcul existant, exécutez la commande suivante :

    gcloud beta run worker-pools update WORKER_POOL --sandbox-launcher

YAML

  1. 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 run worker-pools describe WORKER_POOL --format export > worker-pool.yaml
  2. Mettez à jour votre fichier YAML pour inclure l'attribut sandboxLauncher défini sur true dans la configuration de votre conteneur :

    apiVersion: run.googleapis.com/v1
    kind: WorkerPool
    metadata:
      name: WORKER_POOL
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      template:
        spec:
          containers:
          - name: CONTAINER
            image: IMAGE_URL
            sandboxLauncher: true
    

    Remplacez les éléments suivants :

    • WORKER_POOL par le nom de votre pool de nœuds de calcul Cloud Run
    • CONTAINER par le nom de votre conteneur
    • IMAGE_URLpar une référence à l'image de conteneur contenant le pool de nœuds de calcul, par exemple us-docker.pkg.dev/cloudrun/container/worker-pool:latest
  3. Créez ou mettez à jour le pool de nœuds de calcul à l'aide de la commande suivante :

    gcloud run worker-pools replace worker-pool.yaml

    Par défaut, la commande gcloud run worker-pools replace utilise le fichier worker-pool.yaml s'il est présent.

Les bacs à sable partagent le processeur et la mémoire alloués au conteneur hôte. Assurez-vous que les limites de processeur et de mémoire de votre conteneur principal peuvent prendre en charge à la fois votre application et les bacs à sable actifs que vous exécutez en même temps.

Désactiver les bacs à sable

Pour désactiver la possibilité de lancer un bac à sable dans votre pool de nœuds de calcul, utilisez Google Cloud CLI ou une configuration YAML :

gcloud

Mettez à jour le pool de nœuds de calcul à l'aide de l'option --no-sandbox-launcher en exécutant la commande suivante :

gcloud beta run worker-pools update WORKER_POOL --no-sandbox-launcher

Remplacez WORKER_POOL par le nom de votre pool de nœuds de calcul.

YAML

  1. 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 run worker-pools describe WORKER_POOL --format export > worker-pool.yaml
  2. Mettez à jour votre fichier YAML pour supprimer l'attribut sandboxLauncher dans la configuration de votre conteneur :

    apiVersion: run.googleapis.com/v1
    kind: WorkerPool
    metadata:
      name: WORKER_POOL
    spec:
      template:
        spec:
          containers:
          - name: CONTAINER
            image: IMAGE_URL
    

    Remplacez les éléments suivants :

    • WORKER_POOL par le nom de votre pool de nœuds de calcul Cloud Run
    • CONTAINER par le nom de votre conteneur
    • IMAGE_URLpar une référence à l'image de conteneur contenant le pool de nœuds de calcul, par exemple us-docker.pkg.dev/cloudrun/container/worker-pool:latest
  3. Créez ou mettez à jour le pool de nœuds de calcul à l'aide de la commande suivante :

    gcloud run worker-pools replace worker-pool.yaml

    Par défaut, la commande gcloud run worker-pools replace utilise le fichier worker-pool.yaml s'il est présent.

Afficher les paramètres du bac à sable

Pour afficher les paramètres actuels du bac à sable de votre pool de nœuds de calcul Cloud Run :

Console

  1. Dans la Google Cloud console, accédez à la page Pools de nœuds de calcul de Cloud Run :

    Accéder aux pools de nœuds de calcul Cloud Run

  2. Cliquez sur le pool de nœuds de calcul pour ouvrir sa page Détails du pool de nœuds de calcul.

  3. Cliquez sur l'onglet Révisions.

  4. Dans l'onglet Conteneurs, recherchez le paramètre Lanceur de bac à sable pour voir si les conteneurs en bac à sable sont activés ou désactivés.

gcloud

  1. Exécutez la commande suivante :

    gcloud run worker-pools describe WORKER_POOL

    Remplacez WORKER_POOL par le nom de votre pool de nœuds de calcul.

  2. Pour vérifier que les conteneurs en bac à sable sont activés, recherchez l'attribut sandboxLauncher: true dans la configuration renvoyée.

Pour exécuter du code non fiable dans un bac à sable à partir de votre pool de nœuds de calcul, consultez la section Exécution de code dans Cloud Run.