Tous les produits
Search
Centre de documentation

Container Compute Service:Configure port probing in Knative

Dernière mise à jour :Aug 12, 2026

Knative effectue des vérifications plus fréquentes que Kubernetes standard pour réduire la latence de démarrage à froid des Pods. Configurez les liveness probes et les readiness probes dans un service Knative afin de garantir le bon fonctionnement de votre application et sa capacité à recevoir du trafic.

Fonctionnement

Knative gère les liveness probes et les readiness probes différemment de Kubernetes standard :

  • Liveness probe : surveille l'état d'un conteneur. Si celui-ci passe à l'état Failed ou si son processus plante, le kubelet redémarre le conteneur.

  • Readiness probe : contrôle le routage du trafic lors de la mise à l'échelle automatique. Seuls les Pods à l'état Ready reçoivent du trafic, ce qui garantit la stabilité et la réactivité du service.

Le diagramme suivant illustre le fonctionnement des probes dans Knative.

image

  1. Définissez les champs readinessProbe ou livenessProbe dans une ressource personnalisée (CR) de service Knative.

  2. Le kubelet envoie les liveness probes directement aux conteneurs spécifiés.

  3. Knative réécrit les readiness probes et les transfère au conteneur queue-proxy. La vérification démarre depuis le composant Activator ou le conteneur queue-proxy pour s'assurer que l'ensemble de la liaison réseau est configuré et opérationnel.

    En l'absence de probes définies, Knative crée automatiquement des readiness probes par défaut pour le conteneur principal. Celles-ci vérifient les sockets TCP sur les ports des services Knative.

  4. Le conteneur queue-proxy agrège les résultats des readiness probes de tous les conteneurs, y compris le conteneur principal et les sidecars. Lorsque queue-proxy retourne des réponses positives et que la couche réseau Knative est configurée, Knative marque le Pod comme prêt à accepter du trafic.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

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

Configurer les probes

Ajoutez le champ readinessProbe ou livenessProbe à un service Knative pour configurer les readiness probes et les liveness probes. Le format de configuration est identique à celui de Kubernetes standard. Pour plus d'informations, consultez Configure liveness, readiness and startup probes.

L'exemple suivant configure ces deux types de probes pour deux conteneurs. Le port de la readiness probe peut différer de containerPort.

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 probes pris en charge

Type de probe Description
httpGet Envoie une requête HTTP GET au conteneur. La réussite dépend du code d'état retourné.
tcpSocket Tente d'ouvrir une connexion TCP vers le conteneur. La probe réussit si la connexion s'établit.
exec Exécute une commande à l'intérieur du conteneur. Le résultat dépend du code de sortie de cette commande.
grpc Appelle une méthode définie par le protocole gRPC Health Checking pour vérifier l'état de santé et la disponibilité des services.

Limites

  • Les hooks PreStop personnalisés ne sont pas pris en charge. Knative fournit un hook PreStop intégré pour gérer l'arrêt progressif.

Étapes suivantes