Configurer les vérifications de l'état des conteneurs pour les pools de nœuds de calcul

Vous pouvez configurer des vérifications de démarrage HTTP, TCP et gRPC, ainsi que des vérifications d'activité HTTP et gRPC pour les pools de nœuds de calcul Cloud Run nouveaux et existants. La configuration varie en fonction du type de vérification.

Cas d'utilisation

Vous pouvez configurer deux types de tests de vérification d'état :

  • Les vérifications d'activité déterminent s'il faut redémarrer un conteneur.

    • Dans ce cas, le redémarrage d'un conteneur peut augmenter la disponibilité du pool de nœuds de calcul en cas de bugs.
    • Les vérifications d'activité sont destinées à redémarrer des instances individuelles qui ne peuvent pas être récupérées d'une autre manière. Elles doivent principalement être utilisées en cas de défaillance d'instance irrécupérable, par exemple pour détecter un interblocage où un pool de nœuds de calcul est en cours d'exécution, mais ne peut pas progresser. Vous pouvez exiger une vérification de l'activité pour chaque conteneur en utilisant des règles d'administration personnalisées.
  • Les vérifications de démarrage déterminent si le conteneur a démarré.

    • 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 toute interférence avec le démarrage du pool de nœuds de calcul.
    • 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.

Sachez que lorsqu'un pool de nœuds de calcul rencontre des échecs répétés de démarrage ou de vérification d'activité, Cloud Run empêche les boucles de plantage non contrôlées en limitant les redémarrages d'instances.

Allocation du processeur

  • Le processeur est toujours alloué lorsque les vérifications s'exécutent.
  • Toutes les vérifications sont facturées pour l'utilisation de la mémoire et des processeurs.

Exigences et comportement de vérification

Type de vérification Conditions requises Comportement
Démarrage TCP Aucun Si cette option est spécifiée, 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 n'aboutit pas dans le délai spécifié, Cloud Run arrête le conteneur. Le délai maximal est de 240 secondes, calculé comme suit : failureThreshold * periodSeconds. Vous le définissez lorsque vous configurez la vérification de démarrage pour le pool de nœuds de calcul.
Démarrage HTTP Créez un point de terminaison de vérification d'état HTTP
Utilisez HTTP/1
Une fois la vérification configurée, Cloud Run envoie une requête HTTP GET au point de terminaison de la vérification de l'état du pool de nœuds de calcul (par exemple, /ready). Toute réponse comprise entre 200 et 400 est considérée comme réussie. Tout autre élément indique un échec.

Si une vérification de démarrage n'aboutit pas dans le délai spécifié (failureThreshold * periodSeconds), qui ne peut pas dépasser 240 secondes, Cloud Run arrête le conteneur.

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, Cloud Run démarre la vérification d'activité HTTP.
Activité HTTP Créez un point de terminaison de vérification d'état HTTP
Utilisez HTTP/1
La vérification d'activité ne démarre qu'une fois la vérification de démarrage réussie. Une fois la vérification configurée et la vérification de démarrage réussie, Cloud Run envoie une requête HTTP GET au point de terminaison de la vérification de l'état l'état (par exemple, /health). Toute réponse comprise entre 200 et 400 est considérée comme réussie. Tout le reste indique un échec.

Si une vérification d'activité échoue dans le délai spécifié (failureThreshold * periodSeconds), Cloud Run arrête le conteneur à l'aide d'un signal SIGKILL. Toute requête restante encore diffusée par le conteneur est interrompue par le code d'état HTTP 503. Une fois le conteneur arrêté par Cloud Run, l'autoscaling Cloud Run démarre une nouvelle instance de conteneur.
Démarrage gRPC Mettez en œuvre le protocole de vérification de l'état gRPC dans votre pool de nœuds de calcul Cloud Run. Si une vérification de démarrage échoue dans le délai spécifié (failureThreshold * periodSeconds), qui ne peut pas dépasser 240 secondes, Cloud Run arrête le conteneur.
Activité gRPC Mettez en œuvre le protocole de vérification de l'état gRPC dans votre pool de nœuds de calcul Cloud Run. 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.

Une fois la vérification d'activité configurée et toute vérification de démarrage réussie, Cloud Run envoie une requête de vérification de l'état d'état au pool de nœuds de calcul.

Si une vérification d'activité échoue dans le délai spécifié (failureThreshold * periodSeconds), Cloud Run arrête le conteneur à l'aide d'un signal SIGKILL. Une fois le conteneur arrêté par Cloud Run, l'autoscaling Cloud Run démarre une nouvelle instance de conteneur.

Configurer des vérifications

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.

Vous pouvez configurer des vérifications HTTP, TCP et gRPC à l'aide de l'API REST Cloud Run :

API REST

Important : si vous configurez votre pool de nœuds de calcul Cloud Run pour les vérifications HTTP, vous devez également ajouter un vérification de l'état d'état HTTP dans le code de votre pool de nœuds de calcul pour répondre à la vérification. Si vous configurez une vérification gRPC, vous devez également mettre en œuvre le protocole de vérification d'état gRPC dans votre pool de nœuds de calcul Cloud Run.

Démarrage HTTP

Pour configurer cela, utilisez l'API REST.

Activité HTTP

Pour configurer cela, utilisez l'API REST.

Démarrage gRPC

Pour configurer cela, utilisez l'API REST.

Activité gRPC

Pour configurer cela, utilisez l'API REST.

Créer des points de terminaison HTTP de vérification d'état

Si vous configurez votre pool de nœuds de calcul 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 pool de nœuds de calcul 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 à la valeur 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, spécifiez path dans votre configuration de vérification, comme indiqué ci-dessous :

startupProbe:
  httpGet:
    path: /ready

Les points de terminaison HTTP de vérification de l'état d'état sont accessibles en externe et suivent les mêmes principes que tous les autres points de terminaison HTTP exposés en externe.