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 une adresse run.app
leur est attribuée. 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 sections Rôles IAM Cloud Run et Autorisations IAM Cloud Run. Si votre service 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.
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 :
Pour afficher la liste des services, procédez comme suit :
Dans la Google Cloud console, accédez à Cloud Run:
Examinez la liste des services affichés pour votre projet :
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é.
Pour afficher la liste des services avec Cloud Code, consultez les guides de l'explorateur Cloud Run pour IntelliJ et Visual Studio Code.
Pour afficher la liste des services à partir du code, procédez comme suit :
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: BearerACCESS_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 Google Cloud région du service.
- PROJECT-ID par l' Google Cloud ID du projet.
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:
Pour filtrer les fonctions dans votre liste de services:
Dans la Google Cloud console, 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 l'API Cloud Functions V2, la colonne Deployed by (Déployé par) affiche Cloud Functions (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.
Pour copier un service, procédez comme suit :
Dans la Google Cloud console, 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.
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.yamlApportez 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 :
Pour afficher les détails d'un service, procédez comme suit :
Dans la Google Cloud console, 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 :
Pour afficher les détails d'un service, procédez comme suit :
gcloud run services describeSERVICE
Vous pouvez utiliser l'option --format
pour formater le résultat. Par exemple, au format YAML :
gcloud run services describeSERVICE --regionREGION --format yaml
Remplacez :
- SERVICE par le nom du service ;
- REGION par la Google Cloud région 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 describeSERVICE --regionREGION --format export
Vous pouvez également utiliser l'option --format
pour obtenir l'URL du service :
gcloud run services describeSERVICE --regionREGION --format='value(status.url)'
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.
Pour afficher les détails d'un service à partir du code, procédez comme suit :
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: BearerACCESS_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 Google Cloud région du service.
- PROJECT-ID par l' Google Cloud ID du projet.
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.
Lorsque vous désactivez un service, toutes les requêtes en cours de traitement sont autorisées à être traitées.
Toutefois, toutes les autres requêtes envoyées à l'URL du service échoueront avec une erreur Service unavailable
ou Service disabled
.
Les requêtes envoyées aux révisions de service qui ne sont actives que grâce à des tags de trafic ne sont pas affectées, car ces révisions ne sont pas désactivées.
Pour désactiver un service, définissez le scaling sur zéro. Vous pouvez désactiver un service à l'aide de la console Google Cloud, de la CLI Google Cloud, d'un fichier YAML ou de l'API:
Dans la Google Cloud console, accédez à Cloud Run:
Cliquez sur le service que vous souhaitez désactiver pour afficher son panneau d'informations, puis sur l'icône Stylo à côté de Échelle en haut à droite du panneau d'informations.
Recherchez le formulaire Modifier le scaling, puis sélectionnez Scaling manuel.
Dans le champ Nombre d'instances, saisissez la valeur
0
(zéro).Cliquez sur Enregistrer.
Pour désactiver un service, définissez la mise à l'échelle sur zéro à l'aide de la commande suivante:
gcloud beta run services updateSERVICE --scaling=0
Remplacez SERVICE par le nom du service.
Téléchargez la configuration YAML de votre service:
gcloud run services describe
SERVICE --format export > service.yamlDéfinissez l'attribut
manualInstanceCount
sur zéro (0
):apiVersion: serving.knative.dev/v1 kind: Service metadata: name:
SERVICE annotations: run.googleapis.com/launch-stage: BETA run.googleapis.com/scalingMode: manual run.googleapis.com/manualInstanceCount: `0`Remplacez SERVICE par le nom de votre service Cloud Run.
Créez ou mettez à jour le service à l'aide de la commande suivante :
gcloud run services replace service.yaml
Pour désactiver un service, envoyez une requête HTTP PATCH
au point de terminaison service
de l'API Cloud Run Admin.
Exemple, à l'aide de curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: BearerACCESS_TOKEN " \ -X PATCH \ -d '{"launchStage":"BETA","scaling":{"manualInstanceCount":0 }}' \ https://run.googleapis.com/v2/projects/PROJECT_ID /locations/REGION /services/SERVICE ?update_mask=launchStage,scaling.manualInstanceCount
Remplacez :
- ACCESS_TOKEN par un jeton d'accès valide pour un compte disposant des autorisations IAM pour mettre à jour un service.
Par exemple, si vous êtes connecté à
gcloud
, vous pouvez récupérer un jeton d'accès à l'aide degcloud 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 par le nom du service ;
- REGION par la région dans laquelle le service est déployé. Google Cloud
- PROJECT_ID par l' Google Cloud ID du projet.
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.
Pour supprimer un service, procédez comme suit :
Dans la Google Cloud console, 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.
Pour supprimer un service, utilisez la commande suivante :
gcloud run services deleteSERVICE --regionREGION
Remplacer
- SERVICE par le nom de votre service.
- REGION par la Google Cloud région du service.
Pour supprimer un service du code, procédez comme suit :
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: BearerACCESS_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 Google Cloud région du service.
- PROJECT-ID par l' Google Cloud ID du projet.