Configura los sondeos de preparación de Kubernetes (opcional)

En esta página, se describe cómo usar Cloud Service Mesh con la infraestructura de verificación de estado de Google Cloud para configurar las sondas y las puertas de preparación de Kubernetes.

Requisitos previos

Como punto de partida, en esta guía se supone que ya hiciste lo siguiente:

Verificaciones de estado transparentes con CSM

La API de Cloud Service Mesh Gateway ahora ofrece verificaciones de estado transparentes, es decir, Universal HealthChecks integrados en los datos de estado de preparación de Kubernetes para permitir el flujo de tráfico a los Pods marcados como listos. Esta función está disponible para los servicios HTTP y gRPC.

Cloud Service Mesh expone el estado de tus Pods de Kubernetes directamente a la infraestructura de verificación de estado de Google, por lo que la misma configuración que uses para los ReadinessProbes se pasará de forma transparente a la infraestructura de verificación de estado del balanceo de cargas de Google y el estado de la verificación de estado se alineará con el estado del sondeo de preparación. Para ello, se usa un componente llamado Verificador de estado transparente, que se ejecuta en todos los nodos que entregarán el estado del Pod.

Cloud Service Mesh configura el tráfico de verificación de estado enviado desde los rangos de origen de la infraestructura de verificación de estado para que se envíe a un puerto reservado (7877). Este tráfico se redirecciona al servidor de verificación de estado transparente de forma local en el nodo. El servidor responde con un estado de preparación que coincide con el estado actual de la preparación del pod de Kubernetes. El flujo de tráfico a los Pods de Kubernetes se controla según el estado Listo establecido en cada Pod. De manera opcional, puedes controlar el estado con los valores del sondeo de preparación y las puertas de preparación. La verificación de estado transparente informará el estado en función de un operador lógico Y de todas las condiciones de Kubernetes.

Puedes configurar sondeos de Kubernetes, puertas de preparación y otras verificaciones que influyen en el estado de preparación del pod de Kubernetes.

Configurar sondeos de preparación para un servicio HTTP (opcional)

De forma opcional, puedes agregar esta sección a la Deployment para el servicio de whereami en Configuración del servicio HTTP.

...
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

Configura sondeos de preparación para un servicio de gRPC (opcional)

De forma opcional, puedes agregar esta sección a la Deployment para psm-grpc-server configuración del servicio de gRPC.

...
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