Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Configure port probing in Knative

Dernière mise à jour :Aug 11, 2026

Knative utilise des sondes plus fréquentes et plus actives que Kubernetes standard pour réduire le temps de démarrage à froid des pods et accélérer la transition entre l'état de démarrage et l'état d'exécution. Ajoutez des sondes de vivacité (liveness probes) et des sondes de disponibilité (readiness probes) à un service Knative afin de garantir la santé de votre application et sa capacité à recevoir du trafic.

Fonctionnement

Les sondes de vivacité surveillent l'intégrité des conteneurs. Si un conteneur passe à l'état Failed ou si son service ne parvient pas à démarrer, la sonde de vivacité redémarre le conteneur.

Les sondes de disponibilité gèrent la mise à l'échelle automatique en veillant à ce que seuls les pods à l'état Ready reçoivent du trafic, améliorant ainsi la stabilité du service et la rapidité des réponses.

Le processus de sondage dans Knative suit une séquence en quatre étapes :

  1. Définissez des sondes de disponibilité ou de vivacité dans la ressource personnalisée (CR) d'un service Knative.

  2. Le kubelet envoie les sondes de vivacité aux conteneurs spécifiés.

  3. Knative réécrit les sondes de disponibilité et les envoie au conteneur queue-proxy. Le sondage démarre depuis le composant Activator ou depuis le conteneur queue-proxy pour vérifier que l'ensemble du lien réseau est configuré et prêt.

  4. Knative définit des sondes de disponibilité pour le conteneur queue-proxy. Ce dernier agrège les résultats des sondes de disponibilité provenant de tous les conteneurs — le conteneur principal et les éventuels conteneurs sidecar. Lorsque queue-proxy renvoie des réponses positives et que la couche réseau Knative est configurée, Knative considère les pods comme sains et prêts à accepter le trafic.

image

Lorsqu'aucune sonde n'est définie, Knative crée des sondes de disponibilité par défaut pour le conteneur principal. Ces sondes vérifient les sockets TCP sur les ports des services Knative.

Prérequis

Avant de commencer, assurez-vous d'avoir :

  • Déployé Knative dans votre cluster. Pour plus d'informations, consultez la rubrique Deploy Knative.

Configuration des sondes

Ajoutez le champ readinessProbe ou livenessProbe à un service Knative. La configuration suit le même format que les sondes Kubernetes standard. Pour obtenir la référence complète des paramètres, consultez la documentation Configure liveness, readiness and startup probes.

L'exemple suivant configure deux conteneurs, chacun disposant d'une sonde de disponibilité HTTP GET et d'une sonde de vivacité par socket TCP :

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: runtime
  namespace: default
spec:
  template:
    spec:
      containers:
      - name: first-container
        image: <YOUR-IMAGE>      # Replace with the actual image name.
        ports:
          - containerPort: 8080
        readinessProbe:          # Checks when the container is ready to receive traffic.
          httpGet:
            port: 8080           # Can differ from containerPort.
            path: "/health"
        livenessProbe:           # Checks whether the container is alive.
          tcpSocket:
            port: 8080
      - name: second-container
        image: <YOUR-IMAGE>      # Replace with the actual image name.
        readinessProbe:
          httpGet:
            port: 8089
            path: "/health"
        livenessProbe:
          tcpSocket:
            port: 8089

Types de sondes pris en charge

Type de sonde Description
httpGet Envoie une requête HTTP GET et vérifie le code d'état renvoyé.
tcpSocket Tente d'ouvrir une connexion TCP vers le port spécifié.
exec Exécute une commande dans le conteneur et vérifie le code de sortie.
grpc Appelle une méthode définie par le protocole de vérification de l'intégrité gRPC.

Limitations

Les sondes PreStop personnalisées ne sont pas prises en charge. Knative fournit un hook PreStop intégré pour gérer l'arrêt gracieux.

Étapes suivantes

Configurer un certificat pour accéder aux services via HTTPS