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, verificaciones de estado universales integradas con datos de estado de preparación de Kubernetes para permitir el flujo de tráfico a los pods que están 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 usas para los sondeos de preparación de pods se pasará de forma transparente a la infraestructura de verificación de estado del balanceador de cargas de Google, y el estado de la verificación de estado se alineará con el estado del sondeo de preparación. Esto se hace con un componente, llamado Transparent Health Checker, que se ejecuta en cada nodo que entregará el estado del Pod.

Cloud Service Mesh configura el tráfico de verificación de estado que se envía 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 en función del estado Listo establecido en cada Pod. De manera opcional, puedes controlar el estado "Listo" con los valores de sondeo de preparación y de 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.

Configura pruebas de disponibilidad para un servicio HTTP (opcional)

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

...
spec:
      containers:
      - name: whereami
        image: us-docker.pkg.dev/google-samples/containers/gke/whereami:v1
        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 manera opcional, puedes agregar esta sección a la configuración del servicio de gRPC de la Deployment 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