Vous pouvez configurer des vérifications d'état de démarrage HTTP, TCP et gRPC, ainsi que des vérifications d'activité HTTP et gRPC pour les services Cloud Run nouveaux et existants. Vous configurez une vérification de démarrage ou d'activité pour un service Cloud Run à l'aide du fichier YAML. La configuration varie en fonction du type de vérification.
Vous pouvez utiliser des vérifications d'activité pour déterminer quand redémarrer un conteneur, par exemple pour détecter un interblocage où un service est en cours d'exécution, mais ne peut pas progresser. Dans ce cas, le redémarrage d'un conteneur peut augmenter la disponibilité du service en cas de bugs.
Vous pouvez utiliser des vérifications de démarrage pour déterminer quand un conteneur a démarré et est prêt à accepter le trafic.
Lorsque vous configurez une vérification de démarrage, les vérifications d'activité sont désactivées jusqu'à ce que la vérification de démarrage détermine que le conteneur est démarré, afin d'éviter les interférences avec le démarrage du service.
Les vérifications de démarrage sont particulièrement utiles si vous utilisez des contrôles d'activité sur des conteneurs à démarrage lent, car elles les empêchent de s'arrêter prématurément avant que les conteneurs ne soient opérationnels.
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.
Configurer des vérifications de démarrage
Vous pouvez configurer des vérifications HTTP, TCP et gRPC.
Configurer une vérification de démarrage HTTP
Il n'existe pas de vérifications de démarrage HTTP par défaut pour HTTP, mais vous pouvez en configurer une pour votre service Cloud Run. Notez que l'utilisation d'une vérification d'état HTTP nécessite de créer un point de terminaison de vérification d'état HTTP correspondant dans votre service pour répondre à la vérification. En outre, votre service doit utiliser HTTP/1 (valeur par défaut de Cloud Run) et non HTTP/2.
Une fois la vérification de démarrage configurée, Cloud Run envoie une requête HTTP GET au point de terminaison de la vérification d'état du service (par exemple, /ready
). Toute réponse comprise entre 200
et 400
est réussie. Tout autre élément indique un échec.
Si une vérification de démarrage échoue dans le délai spécifié (failureThreshold
* periodSeconds
), qui ne peut pas dépasser 240 secondes, le conteneur est arrêté.
Si la vérification de démarrage HTTP réussit dans le délai spécifié et que vous avez configuré une vérification d'activité HTTP, celle-ci est démarrée.
Vous pouvez configurer une vérification de démarrage HTTP à l'aide de la console Google Cloud pour un service existant ou de YAML pour un nouveau service ou un service existant :
Console
Cliquez sur le service que vous souhaitez configurer.
Cliquez sur l'onglet YAML.
Cliquez sur Modifier et configurez l'attribut
startupProbe
comme indiqué :apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL startupProbe: httpGet: path: PATH port: CONTAINER_PORT httpHeaders: - name: HEADER_NAME value: HEADER_VALUE initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
replace
- SERVICE par le nom de votre service Cloud Run ;
- IMAGE_URL par une référence à l'image du conteneur, par exemple
us-docker.pkg.dev/cloudrun/container/hello:latest
; - PATH par le chemin relatif au point de terminaison HTTP, par exemple,
/ready
. - (FACULTATIF) CONTAINER_PORT doit être défini sur le port de conteneur utilisé pour votre service.
- (FACULTATIF)
httpHeaders
peut être utilisé pour fournir des en-têtes personnalisés multiples ou répétés à l'aide des champs HEADER_NAME et HEADER_VALUE, comme indiqué. - (FACULTATIF) DELAY par le nombre de secondes d'attente après le démarrage du conteneur avant d'effectuer la première vérification. Spécifiez une valeur comprise entre 0 seconde et 240 secondes. La valeur par défaut est de 0 seconde.
- (FACULTATIF) TIMEOUT par le nombre de secondes d'attente jusqu'à l'expiration de la vérification. Cette valeur ne peut pas dépasser la valeur spécifiée pour
periodSeconds
. Définissez une valeur comprise entre 1 et 240. La valeur par défaut est 1. - (FACULTATIF) THRESHOLD par le nombre de tentatives d'exécution de la vérification avant de marquer le conteneur comme Non prêt. La valeur par défaut est "3".
- (FACULTATIF) PERIOD par le délai (en secondes) auquel effectuer la vérification. Par exemple,
2
pour effectuer la vérification toutes les deux secondes. Spécifiez une valeur comprise entre 1 seconde et 240 secondes. La valeur par défaut est de 10 secondes.
Cliquez sur Enregistrer et déployer la nouvelle révision.
YAML
Vous pouvez télécharger et afficher les configurations de service existantes à l'aide de la commande gcloud run services describe --format export
, qui renvoie les résultats nettoyés au format YAML.
Vous pouvez ensuite modifier les champs décrits ci-dessous et importer le fichier YAML modifié à l'aide de la commande gcloud run services replace
.
Veillez à ne modifier que les champs indiqués.
Pour afficher et télécharger la configuration, exécutez la commande suivante :
gcloud run services describe SERVICE --format export > service.yaml
Configurez l'attribut
startupProbe
comme indiqué ci-dessous :apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL startupProbe: httpGet: path: PATH port: CONTAINER_PORT httpHeaders: - name: HEADER_NAME value: HEADER_VALUE initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
replace
- SERVICE par le nom de votre service Cloud Run ;
- IMAGE_URL par une référence à l'image du conteneur, par exemple
us-docker.pkg.dev/cloudrun/container/hello:latest
; - PATH par le chemin relatif au point de terminaison HTTP, par exemple,
/ready
. - (FACULTATIF) CONTAINER_PORT doit être défini sur le port de conteneur utilisé pour votre service.
- (FACULTATIF)
httpHeaders
peut être utilisé pour fournir des en-têtes personnalisés multiples ou répétés à l'aide des champs HEADER_NAME et HEADER_VALUE, comme indiqué. - (FACULTATIF) DELAY par le nombre de secondes d'attente après le démarrage du conteneur avant d'effectuer la première vérification. Spécifiez une valeur comprise entre 0 seconde et 240 secondes. La valeur par défaut est de 0 seconde.
- (FACULTATIF) TIMEOUT par le nombre de secondes d'attente jusqu'à l'expiration de la vérification. Cette valeur ne peut pas dépasser la valeur spécifiée pour
periodSeconds
. Définissez une valeur comprise entre 1 et 240. La valeur par défaut est 1. - (FACULTATIF) THRESHOLD par le nombre de tentatives d'exécution de la vérification avant de marquer le conteneur comme Non prêt. La valeur par défaut est "3".
- (FACULTATIF) PERIOD par le délai (en secondes) auquel effectuer la vérification.
Par exemple,
2
pour effectuer la vérification toutes les deux secondes. Spécifiez une valeur comprise entre 1 seconde et 240 secondes. La valeur par défaut est de 10 secondes.
Remplacez la configuration du service en utilisant la commande suivante :
gcloud run services replace service.yaml
Terraform
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Configurez votre service Cloud Run avec l'attribut startup_probe
comme indiqué ci-dessous :
Créer des points de terminaison HTTP de vérification d'état
Si vous configurez votre service Cloud Run pour une vérification de démarrage HTTP ou une vérification d'activité, vous devez ajouter un point de terminaison dans votre code de service pour répondre à la vérification. Le point de terminaison peut porter n'importe quel nom, par exemple /startup
ou /ready
, mais il doit correspondre aux valeurs que vous spécifiez pour path
dans la configuration de la vérification. Par exemple, si vous spécifiez /ready
pour une vérification de démarrage HTTP, vous spécifiez path
dans votre configuration de vérification, comme indiqué ci-dessous :
startupProbe: httpGet: path: /ready
Les points de terminaison pour les vérifications de l'état HTTP sont accessibles en externe et suivent les mêmes principes que tous les autres points de terminaison de service HTTP exposés en externe.
Configurer une vérification de démarrage TCP
Si vous ne configurez pas vous-même une vérification de démarrage, une vérification de démarrage TCP est automatiquement configurée avec des valeurs par défaut pour un nouveau service Cloud Run. La vérification par défaut est équivalente à la suivante :
startupProbe: tcpSocket: port: CONTAINER_PORT timeoutSeconds: 240 periodSeconds: 240 failureThreshold: 1
où CONTAINER_PORT est défini sur le port de conteneur utilisé pour votre service.
Vous pouvez modifier ces valeurs par défaut en suivant les instructions de cette section.
Pour les vérifications de démarrage TCP, Cloud Run établit une connexion TCP pour ouvrir le socket TCP sur le port spécifié. Si Cloud Run ne parvient pas à établir une connexion, cela indique un échec.
Si une vérification de démarrage échoue dans le délai spécifié (failureThreshold
* periodSeconds
), qui ne peut pas dépasser 240 secondes, le conteneur est arrêté.
Vous pouvez configurer une vérification de démarrage TCP à l'aide de la console Google Cloud pour un service existant ou de YAML pour un service nouveau ou existant :
Console
Cliquez sur le service que vous souhaitez configurer.
Cliquez sur l'onglet YAML.
Cliquez sur Modifier et configurez l'attribut
startupProbe
comme indiqué :apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL startupProbe: failureThreshold: THRESHOLD initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT periodSeconds: PERIOD tcpSocket: port: CONTAINER_PORT
replace
- SERVICE par le nom de votre service Cloud Run ;
- IMAGE_URL par une référence à l'image du conteneur, par exemple
us-docker.pkg.dev/cloudrun/container/hello:latest
; - (FACULTATIF) CONTAINER_PORT doit être défini sur le port de conteneur utilisé pour votre service.
- (Facultatif) DELAY par le nombre de secondes d'attente après le démarrage du conteneur avant d'effectuer la première vérification. Spécifiez une valeur comprise entre 0 seconde et 240 secondes. La valeur par défaut est de 0 seconde.
- (FACULTATIF) TIMEOUT par le nombre de secondes d'attente jusqu'à l'expiration de la vérification. Cette valeur ne peut pas dépasser la valeur spécifiée pour
periodSeconds
. Définissez une valeur comprise entre 1 et 240. La valeur par défaut est 1. - (Facultatif) THRESHOLD par le nombre de tentatives d'exécution de la vérification avant de marquer le conteneur comme Non prêt. La valeur par défaut est "3".
- (Facultatif) PERIOD par le délai (en secondes) auquel effectuer la vérification.
Par exemple,
2
pour effectuer la vérification toutes les deux secondes. Spécifiez une valeur comprise entre 1 seconde et 240 secondes. La valeur par défaut est de 10 secondes.
Cliquez sur Enregistrer et déployer la nouvelle révision.
YAML
Vous pouvez télécharger et afficher les configurations de service existantes à l'aide de la commande gcloud run services describe --format export
, qui renvoie les résultats nettoyés au format YAML.
Vous pouvez ensuite modifier les champs décrits ci-dessous et importer le fichier YAML modifié à l'aide de la commande gcloud run services replace
.
Veillez à ne modifier que les champs indiqués.
Pour afficher et télécharger la configuration, exécutez la commande suivante :
gcloud run services describe SERVICE --format export > service.yaml
Configurez l'attribut
startupProbe
comme indiqué ci-dessous :apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL startupProbe: tcpSocket: port: CONTAINER_PORT initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
Remplacer
- SERVICE par le nom de votre service Cloud Run ;
- IMAGE_URL par une référence à l'image du conteneur, par exemple
us-docker.pkg.dev/cloudrun/container/hello:latest
; - (FACULTATIF) CONTAINER_PORT doit être défini sur le port de conteneur utilisé pour votre service.
- DELAY par le nombre de secondes d'attente après le démarrage du conteneur avant d'effectuer la première vérification. Spécifiez une valeur comprise entre 0 seconde et 240 secondes. La valeur par défaut est de 0 seconde.
- (FACULTATIF) TIMEOUT par le nombre de secondes d'attente jusqu'à l'expiration de la vérification. Cette valeur ne peut pas dépasser la valeur spécifiée pour
periodSeconds
. Définissez une valeur comprise entre 1 et 240. La valeur par défaut est 1. - THRESHOLD par le nombre de tentatives d'exécution de la vérification avant de marquer le conteneur comme Non prêt. La valeur par défaut est "3".
- PERIOD par le délai (en secondes) auquel effectuer la vérification.
Par exemple,
2
pour effectuer la vérification toutes les deux secondes. Spécifiez une valeur comprise entre 1 seconde et 240 secondes. La valeur par défaut est de 10 secondes.
Remplacez la configuration du service en utilisant la commande suivante :
gcloud run services replace service.yaml
Terraform
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Configurez votre service Cloud Run avec l'attribut startup_probe
comme indiqué ci-dessous :
Configurer une vérification de démarrage gRPC
Pour utiliser une vérification de démarrage gRPC, vous devez mettre en œuvre le protocole de vérification de l'état gRPC dans votre service Cloud Run, puis configurer la vérification en conséquence, comme décrit dans cette section.
Vous pouvez configurer une vérification de démarrage gRPC à l'aide de la console Google Cloud pour un service existant ou de YAML pour un service nouveau ou existant :
Console
Cliquez sur le service que vous souhaitez configurer.
Cliquez sur l'onglet YAML.
Cliquez sur Modifier et configurez l'attribut
startupProbe
comme indiqué :apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL startupProbe: grpc: service: GRPC_SERVICE port: CONTAINER_PORT initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
Remplacer
- SERVICE par le nom de votre service Cloud Run ;
- IMAGE_URL par une référence à l'image du conteneur, par exemple
us-docker.pkg.dev/cloudrun/container/hello:latest
; - (FACULTATIF) CONTAINER_PORT doit être défini sur le port de conteneur utilisé pour votre service.
- GRPC_SERVICE par le nom du service gRPC auquel envoyer la vérification d'état.
- (Facultatif) DELAY par le nombre de secondes d'attente après le démarrage du conteneur avant d'effectuer la première vérification. Spécifiez une valeur comprise entre 0 seconde et 240 secondes. La valeur par défaut est de 0 seconde.
- (FACULTATIF) TIMEOUT par le nombre de secondes d'attente jusqu'à l'expiration de la vérification. Cette valeur ne peut pas dépasser la valeur spécifiée pour
periodSeconds
. Définissez une valeur comprise entre 1 et 240. La valeur par défaut est 1. - (Facultatif) THRESHOLD par le nombre de tentatives d'exécution de la vérification avant de marquer le conteneur comme Non prêt. La valeur par défaut est "3".
- (Facultatif) PERIOD par le délai (en secondes) auquel effectuer la vérification.
Par exemple,
2
pour effectuer la vérification toutes les deux secondes. Spécifiez une valeur comprise entre 1 seconde et 240 secondes. La valeur par défaut est de 10 secondes.
Cliquez sur Enregistrer et déployer la nouvelle révision.
YAML
Vous pouvez télécharger et afficher les configurations de service existantes à l'aide de la commande gcloud run services describe --format export
, qui renvoie les résultats nettoyés au format YAML.
Vous pouvez ensuite modifier les champs décrits ci-dessous et importer le fichier YAML modifié à l'aide de la commande gcloud run services replace
.
Veillez à ne modifier que les champs indiqués.
Pour afficher et télécharger la configuration, exécutez la commande suivante :
gcloud run services describe SERVICE --format export > service.yaml
Configurez l'attribut
startupProbe
comme indiqué ci-dessous :apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL startupProbe: grpc: service: GRPC_SERVICE port: CONTAINER_PORT initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
Remplacer
- SERVICE par le nom de votre service Cloud Run ;
- IMAGE_URL par une référence à l'image du conteneur, par exemple
us-docker.pkg.dev/cloudrun/container/hello:latest
; - GRPC_SERVICE par le nom du service gRPC auquel envoyer la vérification d'état.
- (FACULTATIF) CONTAINER_PORT doit être défini sur le port de conteneur utilisé pour votre service.
- (FACULTATIF) DELAY par le nombre de secondes d'attente après le démarrage du conteneur avant d'effectuer la première vérification. Spécifiez une valeur comprise entre 0 seconde et 240 secondes. La valeur par défaut est de 0 seconde.
- (Facultatif) TIMEOUT par le nombre de secondes d'attente jusqu'à l'expiration de la vérification. Cette valeur ne peut pas dépasser la valeur spécifiée pour periodSeconds. Définissez une valeur comprise entre 1 et 240. La valeur par défaut est 1.
- (FACULTATIF) THRESHOLD par le nombre de tentatives d'exécution de la vérification avant de marquer le conteneur comme Non prêt. La valeur par défaut est "3".
- (FACULTATIF) PERIOD par le délai (en secondes) auquel effectuer la vérification.
Par exemple,
2
pour effectuer la vérification toutes les deux secondes. Spécifiez une valeur comprise entre 1 seconde et 240 secondes. La valeur par défaut est de 10 secondes.
Remplacez la configuration du service en utilisant la commande suivante :
gcloud run services replace service.yaml
Terraform
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Configurez votre service Cloud Run avec l'attribut startup_probe
comme indiqué ci-dessous :
resource "google_cloud_run_service" "default" { provider = google-beta name = "cloudrun-service-healthcheck" location = "us-central1" project = "tf-healthchecks-grpc-probe-1" template { spec { containers { # Note: Change to the name of your image image = "us-docker.pkg.dev/cloudrun/container/hello" startup_probe { failure_threshold = 5 initial_delay_seconds = 10 timeout_seconds = 3 period_seconds = 3 grpc { # Note: Change to the name of your pre-existing grpc health status service service = "grpc.health.v1.Health" } } } } } traffic { percent = 100 latest_revision = true } }
Configurer une vérification d'activité
Vous pouvez configurer les vérifications d'activité HTTP et gRPC.
Configurer une vérification d'activité HTTP
Si vous configurez une vérification de démarrage HTTP, celle-ci ne commence qu'une fois la vérification de démarrage réussie. Notez que l'utilisation d'une vérification d'état HTTP nécessite de créer un point de terminaison de vérification d'état HTTP correspondant dans votre service pour répondre à la vérification. En outre, votre service doit utiliser HTTP/1 (valeur par défaut de Cloud Run) et non HTTP/2.
Une fois que la vérification d'activité est configurée et que la vérification d'activité réussit, Cloud Run envoie une requête HTTP GET au point de terminaison de la vérification d'état du service (par exemple, /health
). Toute réponse comprise entre 200
et 400
est réussie. Tout le reste indique un échec.
Si une vérification de démarrage échoue dans le délai spécifié (failureThreshold
* periodSeconds
), qui ne peut pas dépasser 240 secondes, le conteneur est arrêté.
Si la vérification d'activité HTTP échoue dans le délai spécifié, le conteneur est arrêté, puis redémarré lors de la prochaine requête entrante.
Vous pouvez configurer une vérification d'activité HTTP à l'aide de la console Google Cloud pour un service existant ou de YAML pour un nouveau service ou un service existant :
Console
Cliquez sur le service que vous souhaitez configurer.
Cliquez sur l'onglet YAML.
Cliquez sur Modifier et configurez l'attribut
livenessProbe
comme indiqué :apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: image: IMAGE_URL livenessProbe: httpGet: path: PATH port: CONTAINER_PORT httpHeaders: - name: HEADER_NAME value: HEADER_VALUE initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
Remplacer
- SERVICE par le nom de votre service Cloud Run ;
- IMAGE_URL par une référence à l'image du conteneur, par exemple
us-docker.pkg.dev/cloudrun/container/hello:latest
; - PATH par le chemin relatif au point de terminaison HTTP, par exemple,
/ready
. - (FACULTATIF) CONTAINER_PORT doit être défini sur le port de conteneur utilisé pour votre service.
- (FACULTATIF)
httpHeaders
peut être utilisé pour fournir des en-têtes personnalisés multiples ou répétés à l'aide des champs HEADER_NAME et HEADER_VALUE, comme indiqué. - (FACULTATIF) DELAY par le nombre de secondes d'attente après le démarrage du conteneur avant d'effectuer la première vérification. Spécifiez une valeur comprise entre 0 seconde et 240 secondes. La valeur par défaut est de 0 seconde.
- (FACULTATIF) TIMEOUT par le nombre de secondes d'attente jusqu'à l'expiration de la vérification. Cette valeur ne peut pas dépasser la valeur spécifiée pour
periodSeconds
. Définissez une valeur comprise entre 1 et 3 600. La valeur par défaut est 1. - (FACULTATIF) THRESHOLD par le nombre de tentatives d'exécution de la vérification avant de marquer le conteneur comme Non prêt. La valeur par défaut est "3".
- (FACULTATIF) PERIOD par le délai (en secondes) auquel effectuer la vérification.
Par exemple,
2
pour effectuer la vérification toutes les deux secondes. Spécifiez une valeur comprise entre 1 seconde et 3 600 secondes. La valeur par défaut est de 10 secondes.
Cliquez sur Enregistrer et déployer la nouvelle révision.
YAML
Vous pouvez télécharger et afficher les configurations de service existantes à l'aide de la commande gcloud run services describe --format export
, qui renvoie les résultats nettoyés au format YAML.
Vous pouvez ensuite modifier les champs décrits ci-dessous et importer le fichier YAML modifié à l'aide de la commande gcloud run services replace
.
Veillez à ne modifier que les champs indiqués.
Pour afficher et télécharger la configuration, exécutez la commande suivante :
gcloud run services describe SERVICE --format export > service.yaml
Configurez l'attribut
livenessProbe
comme indiqué ci-dessous :apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL livenessProbe: httpGet: path: PATH port: CONTAINER_PORT httpHeaders: - name: HEADER_NAME value: HEADER_VALUE initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
Remplacer
- SERVICE par le nom de votre service Cloud Run ;
- IMAGE_URL par une référence à l'image du conteneur, par exemple
us-docker.pkg.dev/cloudrun/container/hello:latest
; - PATH par le chemin relatif au point de terminaison HTTP, par exemple,
/ready
. - (FACULTATIF) CONTAINER_PORT doit être défini sur le port de conteneur utilisé pour votre service.
- (FACULTATIF)
httpHeaders
peut être utilisé pour fournir des en-têtes personnalisés multiples ou répétés à l'aide des champs HEADER_NAME et HEADER_VALUE, comme indiqué. - (FACULTATIF) DELAY par le nombre de secondes d'attente après le démarrage du conteneur avant d'effectuer la première vérification. Spécifiez une valeur comprise entre 0 seconde et 240 secondes. La valeur par défaut est de 0 seconde.
- (FACULTATIF) TIMEOUT par le nombre de secondes d'attente jusqu'à l'expiration de la vérification. Cette valeur ne peut pas dépasser la valeur spécifiée pour
periodSeconds
. Définissez une valeur comprise entre 1 et 3 600. La valeur par défaut est 1. - (FACULTATIF) THRESHOLD par le nombre de tentatives d'exécution de la vérification avant de marquer le conteneur comme Non prêt. La valeur par défaut est "3".
- (FACULTATIF) PERIOD par le délai (en secondes) auquel effectuer la vérification.
Par exemple,
2
pour effectuer la vérification toutes les deux secondes. Spécifiez une valeur comprise entre 1 seconde et 3 600 secondes. La valeur par défaut est de 10 secondes.
Remplacez la configuration du service en utilisant la commande suivante :
gcloud run services replace service.yaml
Terraform
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Configurez votre service Cloud Run avec l'attribut liveness_probe
comme indiqué ci-dessous :
Après la configuration de la vérification HTTP, vous devez également créer un point de terminaison de vérification d'état pour répondre à la vérification.
Configurer une vérification d'activité gRPC
Si vous configurez une vérification de démarrage gRPC, la vérification d'activité ne commence qu'une fois la vérification de démarrage réussie. Notez que l'utilisation d'une vérification d'état gRPC nécessite la mise en œuvre du protocole de vérification d'état gRPC dans votre service Cloud Run.
Une fois que la vérification d'activité est configurée et que toute vérification de démarrage a abouti, Cloud Run envoie une requête de vérification d'état au service.
Si une vérification de démarrage échoue dans le délai spécifié (failureThreshold
* periodSeconds
), qui ne peut pas dépasser 240 secondes, le conteneur est arrêté.
Si la vérification d'activité gRPC échoue dans le délai spécifié, le conteneur est arrêté, puis redémarré lors de la prochaine requête entrante.
Vous pouvez configurer une vérification d'activité gRPC à l'aide de la console Google Cloud pour un service existant ou de YAML pour un nouveau service ou un service existant :
Console
Cliquez sur le service que vous souhaitez configurer.
Cliquez sur l'onglet YAML.
Cliquez sur Modifier et configurez l'attribut
livenessProbe
comme indiqué :apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: image: IMAGE_URL livenessProbe: grpc: port: CONTAINER_PORT service: GRPC_SERVICE initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
Remplacer
- SERVICE par le nom de votre service Cloud Run ;
- IMAGE_URL par une référence à l'image du conteneur, par exemple
us-docker.pkg.dev/cloudrun/container/hello:latest
; - (FACULTATIF) CONTAINER_PORT doit être défini sur le port de conteneur utilisé pour votre service.
- GRPC_SERVICE par le nom du service gRPC auquel envoyer la vérification d'état.
- (FACULTATIF) DELAY par le nombre de secondes d'attente après le démarrage du conteneur avant d'effectuer la première vérification. Spécifiez une valeur comprise entre 0 seconde et 240 secondes. La valeur par défaut est de 0 seconde.
- (FACULTATIF) TIMEOUT par le nombre de secondes d'attente jusqu'à l'expiration de la vérification. Cette valeur ne peut pas dépasser la valeur spécifiée pour
periodSeconds
. Définissez une valeur comprise entre 1 et 3 600. La valeur par défaut est 1. - (FACULTATIF) THRESHOLD par le nombre de tentatives d'exécution de la vérification avant de marquer le conteneur comme Non prêt. La valeur par défaut est "3".
- (FACULTATIF) PERIOD par le délai (en secondes) auquel effectuer la vérification.
Par exemple,
2
pour effectuer la vérification toutes les deux secondes. Spécifiez une valeur comprise entre 1 seconde et 3 600 secondes. La valeur par défaut est de 10 secondes.
Cliquez sur Enregistrer et déployer la nouvelle révision.
YAML
Vous pouvez télécharger et afficher les configurations de service existantes à l'aide de la commande gcloud run services describe --format export
, qui renvoie les résultats nettoyés au format YAML.
Vous pouvez ensuite modifier les champs décrits ci-dessous et importer le fichier YAML modifié à l'aide de la commande gcloud run services replace
.
Veillez à ne modifier que les champs indiqués.
Pour afficher et télécharger la configuration, exécutez la commande suivante :
gcloud run services describe SERVICE --format export > service.yaml
Configurez l'attribut
livenessProbe
comme indiqué ci-dessous :apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL livenessProbe: grpc: port: CONTAINER_PORT service: GRPC_SERVICE initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
Remplacer
- SERVICE par le nom de votre service Cloud Run ;
- IMAGE_URL par une référence à l'image du conteneur, par exemple
us-docker.pkg.dev/cloudrun/container/hello:latest
; - (FACULTATIF) CONTAINER_PORT doit être défini sur le port de conteneur utilisé pour votre service.
- GRPC_SERVICE par le nom du service gRPC auquel envoyer la vérification d'état.
- (FACULTATIF) DELAY par le nombre de secondes d'attente après le démarrage du conteneur avant d'effectuer la première vérification. Spécifiez une valeur comprise entre 0 seconde et 240 secondes. La valeur par défaut est de 0 seconde.
- (FACULTATIF) TIMEOUT par le nombre de secondes d'attente jusqu'à l'expiration de la vérification. Cette valeur ne peut pas dépasser la valeur spécifiée pour
periodSeconds
. Définissez une valeur comprise entre 1 et 3 600. La valeur par défaut est 1. - (FACULTATIF) THRESHOLD par le nombre de tentatives d'exécution de la vérification avant de marquer le conteneur comme Non prêt. La valeur par défaut est "3".
- (FACULTATIF) PERIOD par le délai (en secondes) auquel effectuer la vérification. Par exemple,
2
pour effectuer la vérification toutes les deux secondes. Spécifiez une valeur comprise entre 1 seconde et 3 600 secondes. La valeur par défaut est de 10 secondes.
Remplacez la configuration du service en utilisant la commande suivante :
gcloud run services replace service.yaml
Terraform
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Configurez votre service Cloud Run avec l'attribut liveness_probe
comme indiqué ci-dessous :