Configurer des vérifications d'aptitude Kubernetes (facultatif)

Cette page explique comment utiliser Cloud Service Mesh avec l'infrastructure de vérification de l'état de Google Cloud pour configurer des vérifications Kubernetes et des portes de disponibilité.

Prérequis

Pour commencer, ce guide suppose que vous avez déjà :

Vérifications d'état transparentes avec CSM

L'API Cloud Service Mesh Gateway propose désormais des vérifications de l'état transparentes, c'est-à-dire des vérifications de l'état universelles intégrées aux données d'état de préparation Kubernetes pour permettre le flux de trafic vers les pods marqués comme prêts. Cette fonctionnalité est disponible pour les services HTTP et gRPC.

Cloud Service Mesh expose l'état de vos pods Kubernetes directement à l'infrastructure de vérification de l'état de Google. Par conséquent, la même configuration que celle que vous utilisez pour les vérifications de préparation des pods sera transmise de manière transparente à l'infrastructure de vérification de l'état de l'équilibreur de charge de Google, et l'état de la vérification de l'état sera aligné sur celui de la vérification de préparation. Pour ce faire, un composant appelé "Transparent Health Checker" s'exécute sur chaque nœud qui diffusera l'état de santé du pod.

Cloud Service Mesh configure le trafic de vérification de l'état envoyé à partir des plages sources de l'infrastructure de vérification de l'état pour qu'il soit envoyé à un port réservé (7877). Ce trafic est redirigé vers le serveur de vérification d'état transparent localement sur le nœud. Le serveur renvoie un état de santé correspondant à l'état actuel de la préparation du pod Kubernetes. Le flux de trafic vers les pods Kubernetes est contrôlé en fonction de l'état "Prêt" défini sur chaque pod. Vous pouvez éventuellement contrôler l'état "Prêt" à l'aide des valeurs de la vérification d'aptitude et des seuils d'aptitude. La vérification de l'état transparente indique l'état en fonction d'un opérateur logique AND de toutes les conditions Kubernetes.

Vous pouvez configurer des vérifications Kubernetes, des portes d'aptitude et d'autres vérifications qui influencent l'état d'aptitude du pod Kubernetes.

Configurer des vérifications de la préparation pour un service HTTP (facultatif)

Vous pouvez ajouter cette section au déploiement de la configuration du service HTTP du service whereami.

...
spec:
      containers:
      - name: whereami
        image: gcr.io/google-samples/whereami:v1.2.20
        ports:
        - containerPort: 8080
        readinessProbe:
          initialDelaySeconds: 1
          periodSeconds: 2
          timeoutSeconds: 1
          successThreshold: 1
          failureThreshold: 1
          httpGet:
            host:
            scheme: HTTP
            path: /
            port: 8080
          initialDelaySeconds: 5
          periodSeconds: 5

Configurer des vérifications d'aptitude pour un service gRPC (facultatif)

Vous pouvez éventuellement ajouter cette section à la configuration du service gRPC pour le déploiement de psm-grpc-server.

...
spec:
      containers:
      - name: psm-grpc-server
        image: ${IMAGE_NAME}
        imagePullPolicy: Always
        args:
          ${ARGS}
        ports:
          - containerPort: 50051
        readinessProbe:
          initialDelaySeconds: 1
          periodSeconds: 2
          timeoutSeconds: 1
          successThreshold: 1
          failureThreshold: 1
          grpc:
            port: 50051