Configurar comprobaciones de preparación de Kubernetes (opcional)

En esta página se describe cómo usar Cloud Service Mesh con la infraestructura de comprobación de estado para configurar sondas y readiness gates de Kubernetes. Google Cloud

Requisitos previos

Para empezar, en esta guía se da por hecho que ya has hecho lo siguiente:

Comprobaciones de estado transparentes con CSM

La API Cloud Service Mesh Gateway ahora ofrece comprobaciones de estado transparentes, es decir, comprobaciones 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 preparados. 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 comprobación de estado de Google, por lo que la misma configuración que usas para las readinessProbes de los pods se transferirá de forma transparente a la infraestructura de comprobación de estado del balanceo de carga de Google, y el estado de la comprobación de estado se alineará con el estado de la readinessProbe. Para ello, se usa un componente llamado Transparent Health Checker, que se ejecuta en todos los nodos que proporcionarán el estado de salud del pod.

Cloud Service Mesh configura el tráfico de comprobación del estado enviado desde los intervalos de origen de la infraestructura de comprobación del estado para que se envíe a un puerto reservado (7877). Este tráfico se redirige al servidor de comprobación del estado transparente de forma local en el nodo. El servidor responde con un estado de salud que coincide con el estado actual de preparación del pod de Kubernetes. El flujo de tráfico a los pods de Kubernetes se controla en función del estado Ready definido en cada pod. También puedes controlar el estado "Listo" con los valores de la sonda de disponibilidad y las puertas de disponibilidad. La comprobación del estado transparente informará del estado en función de un operador lógico AND de todas las condiciones de Kubernetes.

Puedes configurar comprobaciones de Kubernetes, comprobaciones de preparación y otras comprobaciones que influyan en el estado de preparación de los pods de Kubernetes.

Configurar sondas de disponibilidad para un servicio HTTP (opcional)

También puedes añadir esta sección a la implementación 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

Configurar comprobaciones de disponibilidad para un servicio gRPC (opcional)

También puedes añadir esta sección a la implementación de la configuración del servicio gRPC 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