Configure as sondas de disponibilidade do Kubernetes (opcional)

Esta página descreve como usar o Cloud Service Mesh com a Google Cloud infraestrutura de verificação de funcionamento para configurar sondagens do Kubernetes e readiness gates.

Pré-requisitos

Como ponto de partida, este guia pressupõe que já:

Verificações de estado transparentes com o CSM

A API Cloud Service Mesh Gateway oferece agora verificações de estado de funcionamento transparentes, ou seja, verificações de estado de funcionamento universais integradas com dados de estado de disponibilidade do Kubernetes para permitir o fluxo de tráfego para os pods marcados como prontos. Esta capacidade está disponível para serviços HTTP e gRPC.

A malha de serviços na nuvem expõe o estado dos seus pods do Kubernetes diretamente à infraestrutura de verificação de estado da Google, pelo que a mesma configuração que usa para readinessProbes de pods é transmitida de forma transparente à infraestrutura de verificação de estado do balanceamento de carga da Google, e o estado da verificação de estado é alinhado com o estado da readinessProbe. Isto é feito através de um componente denominado Transparent Health Checker, que é executado em todos os nós que vão publicar o estado de saúde do pod.

O Cloud Service Mesh configura o tráfego de verificação de funcionamento enviado dos intervalos de origem da infraestrutura de verificação de funcionamento para ser enviado para uma porta reservada (7877). Este tráfego é redirecionado para o servidor de verificação do estado de funcionamento transparente localmente no nó. O servidor responde com um estado de integridade correspondente ao estado de disponibilidade do pod do Kubernetes. O fluxo de tráfego para os pods do Kubernetes é controlado com base no estado Ready definido em cada pod. Opcionalmente, pode controlar o estado "Pronto" com os valores da sondagem de prontidão e dos portões de prontidão. A verificação de estado transparente comunica o estado com base num operador lógico AND de todas as condições do Kubernetes.

Pode configurar sondas do Kubernetes, readiness gates e outras verificações que influenciam o estado de disponibilidade do pod do Kubernetes.

Configure sondas de prontidão para um serviço HTTP (opcional)

Opcionalmente, pode adicionar esta secção à implementação da configuração do serviço HTTP do serviço whereami.

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

Configure sondagens de disponibilidade para um serviço gRPC (opcional)

Opcionalmente, pode adicionar esta secção à implementação para a configuração do serviço gRPC 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