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 :
-
Développeur Cloud Run (
roles/run.developer
) sur le pool de nœuds de calcul 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 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 nœuds de calcul Cloud Run à l'aide de Google Cloud CLI lorsque vous créez un pool de nœuds de calcul ou déployez une nouvelle révision :
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 :
- WORKER_POOL par le nom du pool de nœuds de calcul.
- COMMAND par la commande avec laquelle le conteneur démarre si vous n'utilisez pas la commande par défaut.
- ARG1 par l'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 ""
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 d'état de 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 d'état de démarrage par défaut pour les pools de nœuds de calcul.
Utilisez Google Cloud CLI pour spécifier l'ordre de démarrage :
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.
-
In the Google Cloud console, 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.
Pour déployer plusieurs conteneurs sur un service avec un ordre de démarrage spécifique, exécutez la commande suivante :
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 WORKER_POOL par le nom du pool de nœuds de calcul sur lequel vous effectuez le déploiement. Si vous omettez ce paramètre, le nom du pool de nœuds de calcul vous sera demandé ultérieurement.
- 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
. Remplacez SIDECAR_IMAGE par une 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
Dans la console Google Cloud , 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 workers que vous souhaitez examiner pour afficher son volet d'informations.
Cliquez sur l'onglet Conteneurs pour afficher la configuration des conteneurs du pool de nœuds de calcul.