Configurer des conteneurs pour les pools de nœuds de calcul

Cette page explique comment configurer la commande entrypoint et les arguments associés pour un pool de nœuds de calcul Cloud Run.

Lorsque Cloud Run démarre un conteneur, il exécute la commande entrypoint par défaut et les arguments de commande par défaut de l'image. Si vous souhaitez ignorer la commande entrypoint et les arguments de commande par défaut de l'image, vous pouvez utiliser les champs command et args dans la configuration du conteneur. Le champ command spécifie la commande réelle exécutée par le conteneur. Le champ args spécifie les arguments transmis à cette commande.

Notez que vous pouvez avoir un maximum de 1 000 arguments par conteneur pour chaque pool de nœuds de calcul.

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 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 un point d'entrée et des arguments

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.

La commande du conteneur et les arguments spécifiés remplacent l'image par défaut ENTRYPOINT et CMD.

Vous pouvez définir la commande entrypoint et ses arguments pour un pool de workers Cloud Run à l'aide de la consoleGoogle Cloud , de Google Cloud CLI ou de Terraform :

Console

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

    Accédez à Cloud Run

  2. Sélectionnez Pools de nœuds de calcul dans le menu, puis cliquez sur Déployer un conteneur pour configurer un nouveau pool de nœuds de calcul. Si vous configurez un pool de nœuds de calcul existant, cliquez sur celui-ci, puis sur Modifier et déployer la nouvelle révision.

  3. Si vous configurez un nouveau pool de nœuds de calcul, remplissez la page initiale du pool de nœuds de calcul, puis cliquez sur Conteneur(s), Volumes, Mise en réseau, Sécurité pour développer la page de configuration des pools de nœuds de calcul.

  4. Cliquez sur l'onglet Conteneur.

    image

    • Spécifiez la commande que vous souhaitez que le conteneur exécute si vous ne voulez pas utiliser la commande de point d'entrée définie dans l'image de conteneur. Vous pouvez également spécifier les arguments de la commande de point d'entrée.
  5. Cliquez sur Créer ou Déployer.

gcloud

Pour mettre à jour la commande de démarrage et les arguments d'un service existant, procédez comme suit :

gcloud beta run worker-pools update WORKER_POOL --command COMMAND --args ARG1,ARG-N

Remplacez les éléments suivants :

  • WORKER_POOL : nom du pool de nœuds de calcul.
  • COMMAND : commande avec laquelle le conteneur démarre, si vous n'utilisez pas la commande par défaut.
  • ARG1 : argument à envoyer à la commande du conteneur. Si vous avez plusieurs arguments, indiquez-les sous forme de liste en les séparant par une virgule.

Pour spécifier le point d'entrée et les arguments lors du déploiement d'un pool de nœuds de calcul nouveau ou existant, procédez comme suit :

gcloud beta run worker-pools deploy --image IMAGE_URL --command COMMAND --args ARG1,ARG-N

Remplacez IMAGE_URL par 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.

Si vous souhaitez restaurer les valeurs par défaut du conteneur pour les commandes entrypoint et les arguments, fournissez des chaînes vides comme suit :

gcloud beta run worker-pools deploy --image IMAGE_URL --command "" --args ""

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"
      command = ["COMMAND"]
      args = ["ARG1", "ARG2"]
    }
  }
}

Remplacez les éléments suivants :

  • WORKER_POOL : nom du pool de nœuds de calcul.
  • REGION : région Google Cloud , par exemple europe-west1.
  • IMAGE_URL : 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.
  • COMMAND : commande avec laquelle le conteneur démarre, si vous n'utilisez pas la commande par défaut.
  • ARG1, ARG2 : argument(s) que vous envoyez à la commande du conteneur.

Configurer l'ordre de démarrage des conteneurs pour les déploiements side-car

Pour spécifier l'ordre de démarrage des conteneurs dans un déploiement side-car, utilisez la fonctionnalité de dépendances de conteneurs. Spécifiez les conteneurs qui ont des dépendances et répertoriez les conteneurs dont ils dépendent. Ces conteneurs seront démarrés en premier. Les conteneurs sans dépendance sont toujours démarrés en premier et simultanément.

Pour utiliser cette fonctionnalité, vous devez utiliser des vérifications dvérification de l'état démarrage. La vérification du démarrage permet à Cloud Run d'inspecter l'état d'un conteneur dépendant pour s'assurer qu'il est opérationnel avant de démarrer le conteneur suivant. Si vous n'utilisez pas les vérifications d'état, les conteneurs sont démarrés dans l'ordre spécifié, même si les conteneurs dont ils dépendent échouent.

Notez qu'il n'existe pas de vérification de l'état d'état de démarrage par défaut pour les pools de nœuds de calcul.

Utilisez la console Google Cloud ou Google Cloud CLI pour spécifier l'ordre de démarrage :

Console

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

    Accédez à Cloud Run

    • Sélectionnez Pools de nœuds de calcul dans le menu.
    • Pour un pool de nœuds de calcul existant, cliquez sur le pool de nœuds de calcul dans la liste et sélectionnez Modifier et déployer la nouvelle révision pour afficher le formulaire de déploiement de révision.
    • Pour un nouveau pool de nœuds de calcul, cliquez sur Déployer un conteneur pour afficher le formulaire Créer un pool de nœuds de calcul.
  2. Pour un nouveau pool de nœuds de calcul, spécifiez le nom du pool de nœuds de calcul, l'URL du conteneur d'entrée, l'allocation de processeur, le contrôle des entrées et l'authentification. Dans l'onglet Conteneur(s), volumes, mise en réseau, sécurité, procédez comme suit :

    1. Configurez le conteneur d'entrée.
    2. Pour ajouter chacun des autres conteneurs que vous déployez, cliquez sur Ajouter un conteneur.
    3. Pour tous les conteneurs à l'exception du conteneur d'entrée, configurez une vérification d'état de démarrage.
    4. Si un conteneur doit être démarré après certains autres conteneurs, sélectionnez-les dans le menu Ordre de démarrage du conteneur.
  3. Pour un pool de nœuds de calcul existant, procédez comme suit :

    1. Pour tous les conteneurs à l'exception du conteneur d'entrée, configurez une vérification d'état de démarrage.
    2. Chaque conteneur s'affiche avec son propre menu Ordre de démarrage du conteneur. Si un conteneur a besoin que d'autres conteneurs soient opérationnels avant de pouvoir démarrer, utilisez le menu Ordre de démarrage du conteneur pour sélectionner les conteneurs qui doivent démarrer en premier.
  4. Terminez toutes les autres configurations requises, puis cliquez sur Créer pour un nouveau pool de nœuds de calcul ou sur Déployer pour un pool de nœuds de calcul existant. Patientez jusqu'à la fin du déploiement.

gcloud

Avant de spécifier une commande de démarrage à l'aide de Google Cloud CLI, configurez une vérification d'état de démarrage.

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Pour déployer plusieurs conteneurs sur un service avec un ordre de démarrage spécifique, exécutez la commande suivante :

  3. gcloud beta run worker-pools deploy WORKER_POOL \
         --container CONTAINER_1_NAME --image='WORKER_POOL_IMAGE'
         --container CONTAINER_2_NAME --image='SIDECAR_IMAGE' --depends-on=CONTAINER_1_NAME \
         --container CONTAINER_3_NAME --image='SIDECAR_IMAGE' --depends-on=CONTAINER_1_NAME,CONTAINER_2_NAME

    Remplacez les éléments suivants :

    • WORKER_POOL : nom du pool de nœuds de calcul.
    • IMAGE_URL : 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.
    • SIDECAR_IMAGE : référence à l'image de conteneur side-car.

      Si vous souhaitez configurer chaque conteneur dans la commande de déploiement, indiquez la configuration de chaque conteneur après les paramètres container.

Afficher la configuration du conteneur pour le pool de nœuds de calcul

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

    Accédez à Cloud Run

  2. Cliquez sur Pools de nœuds de calcul pour afficher la liste des pools de nœuds de calcul déployés.

  3. Cliquez sur le pool de workers que vous souhaitez examiner pour afficher son volet d'informations.

  4. Cliquez sur l'onglet Conteneurs pour afficher la configuration des conteneurs du pool de nœuds de calcul.