Cette page décrit comment créer un service et afficher les informations associées.
Chaque service dispose d'une URL run.app
unique et permanente qui ne changera pas au fil du temps lorsque vous déploierez de nouvelles révisions. Les fonctions déployées sur Cloud Run sont également traitées comme un service et se voient attribuer une adresse run.app
. Le domaine permanent du service est constitué du nom du service et d'un hachage.
Rôles requis
Pour obtenir les autorisations nécessaires pour gérer les services et les révisions Cloud Run, demandez à votre administrateur de vous accorder le rôle IAM Développeur Cloud Run (roles/run.developer
) sur votre service Cloud Run.
Pour obtenir la liste des rôles et des autorisations IAM associés à Cloud Run, consultez les pages 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.
créer un service ;
Vous créez un service en y déployant une image de conteneur pour la première fois. Pour obtenir davantage d'instructions, consultez la page Déployer un nouveau service.
Afficher la liste des services de votre projet
Vous pouvez afficher la liste des services disponibles dans votre projet à l'aide de Google Cloud Console ou de la ligne de commande gcloud :
Console
Pour afficher la liste des services, procédez comme suit :
Dans la console Google Cloud, accédez à Cloud Run :
Examinez la liste des services affichés pour votre projet :
gcloud
Pour afficher la liste des services de votre projet, procédez comme suit :
gcloud run services list
Chaque service a une URL associée.
Vous pouvez filtrer cette liste suivant les propriétés de la définition de service, telles qu'un libellé attribué.
Cloud Code
Pour afficher la liste des services avec Cloud Code, consultez les guides de l'explorateur Cloud Run pour IntelliJ et Visual Studio Code.
Bibliothèques clientes
Pour afficher la liste des services à partir du code, procédez comme suit :
API REST
Pour afficher la liste des services dans votre projet, envoyez une requête HTTP GET
au point de terminaison service
de l'API Cloud Run Admin.
Exemple, à l'aide de curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X GET \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services
Remplacez :
- ACCESS_TOKEN par un jeton d'accès valide pour un compte disposant des autorisations IAM pour afficher les services.
Par exemple, si vous êtes connecté à gcloud, vous pouvez récupérer un jeton d'accès à l'aide de
gcloud auth print-access-token
. À partir d'une instance de conteneur Cloud Run, vous pouvez récupérer un jeton d'accès via le serveur de métadonnées d'instance de conteneur. - REGION par la région Google Cloud du service.
- PROJECT-ID par l'ID du projet Google Cloud.
Afficher la liste des fonctions de votre projet
Vous pouvez afficher la liste des fonctions disponibles dans votre projet à l'aide de la console Google Cloud :
Console
Pour filtrer les fonctions dans votre liste de services :
Dans la console Google Cloud, accédez à Cloud Run :
Examinez la liste des services affichés pour votre projet :
Sélectionnez Filtrer les services > Type de déploiement > Fonction.
Si vous avez déjà déployé votre fonction à l'aide de Cloud Functions (API 2e génération), la colonne Déployé par indique Cloud Functions.
Copier un service
Vous pouvez créer une copie d'un service existant à l'aide de Google Cloud Console ou de YAML. Vous pouvez modifier n'importe quel élément dans la copie, y compris le nom et la région.
Console
Pour copier un service, procédez comme suit :
Dans la console Google Cloud, accédez à Cloud Run :
Sélectionnez le service à copier dans la liste des services affichés pour votre projet :
Cliquez sur Copier.
Sur la page de copie du service, définissez ou modifiez les valeurs que vous souhaitez changer, par exemple la région. Si vous conservez la même région, vous devez définir un nouveau nom de service.
Cliquez sur Create (Créer) pour générer une copie et la déployer sous le nouveau nom du service.
YAML
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
Apportez toutes les modifications souhaitées à la configuration du service.
apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: ... name: SERVICE ... spec: template: metadata: annotations: ... name: REVISION
- Si vous ne déployez pas la copie dans une autre région, remplacez SERVICE par le nom que vous souhaitez utiliser pour la copie. Si vous déployez la copie dans une autre région, vous pouvez conserver l'ancien nom.
- Remplacez 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
- Commencer par
Copiez le service à l'aide de la commande suivante :
gcloud run services replace service.yaml
Utilisez l'option
--region
pour déployer la copie dans une autre région.
Afficher plus de détails sur un service
Pour afficher davantage de détails sur un service, procédez comme suit :
Console
Pour afficher les détails d'un service, procédez comme suit :
Dans la console Google Cloud, accédez à Cloud Run :
Cliquez sur le service souhaité dans la liste des services affichée pour votre projet afin d'ouvrir la vue DETAILS (Détails) du service :
gcloud
Pour afficher les détails d'un service, procédez comme suit :
gcloud run services describe SERVICE
Vous pouvez utiliser l'option --format
pour formater le résultat. Par exemple, au format YAML :
gcloud run services describe SERVICE --region REGION --format yaml
Remplacez :
- SERVICE par le nom du service ;
- REGION par la région Google Cloud du service.
Vous pouvez utiliser --format export
pour exporter au format YAML sans libellés ni états générés automatiquement :
gcloud run services describe SERVICE --region REGION --format export
Vous pouvez également utiliser l'option --format
pour obtenir l'URL du service :
gcloud run services describe SERVICE --region REGION --format='value(status.url)'
Cloud Code
Pour afficher les détails d'un service avec Cloud Code, consultez les guides de l'explorateur Cloud Run pour IntelliJ et Visual Studio Code.
Pour plus de précisions sur les révisions de service, consultez la page Gérer les révisions.
Bibliothèques clientes
Pour afficher les détails d'un service à partir du code, procédez comme suit :
API REST
Pour afficher les détails d'un service, envoyez une requête HTTP GET
au point de terminaison service
de l'API Cloud Run Admin.
Exemple, à l'aide de curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X GET \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME
Remplacez :
- ACCESS_TOKEN par un jeton d'accès valide pour un compte disposant des autorisations IAM pour afficher les détails du service.
Par exemple, si vous êtes connecté à gcloud, vous pouvez récupérer un jeton d'accès à l'aide de
gcloud auth print-access-token
. À partir d'une instance de conteneur Cloud Run, vous pouvez récupérer un jeton d'accès via le serveur de métadonnées d'instance de conteneur. - SERVICE-NAME par le nom du service ;
- REGION par la région Google Cloud du service.
- PROJECT-ID par l'ID du projet Google Cloud.
Désactiver un service existant
Pour obtenir les autorisations nécessaires pour désactiver un service et une révision Cloud Run existants, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Cloud Run (roles/run.admin
) sur votre projet.
Cloud Run ne permet pas directement à un service de cesser de diffuser le trafic, mais vous pouvez obtenir un résultat similaire en révoquant l'autorisation d'appeler le service aux identités qui appellent le service. En particulier, si votre service est "public", supprimez allUsers
du rôle Demandeur Cloud Run (roles/run.invoker
).
Supprimer des services existants
Les points suivants doivent être pris en compte lors de la suppression d'un service :
- La suppression d'un service supprime toutes les ressources associées à ce service, y compris toutes les révisions de ce service, qu'elles diffusent du trafic ou non.
- La suppression d'un service ne supprime pas automatiquement les images de conteneurs de Container Registry. Pour supprimer de Container Registry les images de conteneur utilisées par des versions supprimées, reportez-vous à la section Supprimer des images.
- La suppression d'un service avec un ou plusieurs déclencheurs Eventarc ne supprime pas automatiquement ces déclencheurs. Pour supprimer les déclencheurs, consultez la page Gérer les déclencheurs.
- Après la suppression, le service reste visible dans la console Google Cloud et dans l'interface de ligne de commande jusqu'à la fin effective de sa suppression. Toutefois, vous ne pouvez pas mettre à jour le service.
La suppression d'un service est définitive : il n'y a aucune possibilité d'annulation ni de restauration. Toutefois, si après avoir supprimé un service, vous déployez un nouveau service portant le même nom dans la même région, il aura la même URL de point de terminaison.
Console
Pour supprimer un service, procédez comme suit :
Dans la console Google Cloud, accédez à Cloud Run :
Recherchez le service que vous souhaitez supprimer dans la liste des services, puis cliquez la case correspondante pour le sélectionner.
Cliquez sur DELETE (SUPPRIMER) pour supprimer toutes les révisions du service.
gcloud
Pour supprimer un service, utilisez la commande suivante :
gcloud run services delete SERVICE --region REGION
Remplacer
- SERVICE par le nom de votre service.
- REGION par la région Google Cloud du service.
Bibliothèques clientes
Pour supprimer un service du code, procédez comme suit :
API REST
Pour supprimer un service, envoyez une requête HTTP DELETE
au point de terminaison service
de l'API Cloud Run Admin.
Exemple, à l'aide de curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X DELETE \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME
Remplacez :
- ACCESS_TOKEN par un jeton d'accès valide pour un compte disposant des autorisations IAM pour supprimer un service.
Par exemple, si vous êtes connecté à gcloud, vous pouvez récupérer un jeton d'accès à l'aide de
gcloud auth print-access-token
. À partir d'une instance de conteneur Cloud Run, vous pouvez récupérer un jeton d'accès via le serveur de métadonnées d'instance de conteneur. - SERVICE-NAME par le nom du service ;
- REGION par la région Google Cloud du service.
- PROJECT-ID par l'ID du projet Google Cloud.