Configurar sondagens de prontidão do Kubernetes (opcional)

Nesta página, descrevemos como usar o Cloud Service Mesh com a infraestrutura de verificação de integridade do Google Cloud para configurar sondagens e portões de prontidão do Kubernetes.

Pré-requisitos

Para começar, este guia pressupõe que você já:

Verificações de integridade transparentes com CSM

A API Cloud Service Mesh Gateway agora oferece verificações de integridade transparentes, ou seja, o Universal HealthChecks integrado aos dados de status de prontidão do Kubernetes permite o fluxo de tráfego para os pods marcados como prontos. Esse recurso está disponível para serviços HTTP e gRPC.

O Cloud Service Mesh expõe o status dos pods do Kubernetes diretamente à infraestrutura de verificação de integridade do Google. Assim, a mesma configuração usada em Pod readinessProbes será passada de forma transparente para a infraestrutura de verificação de integridade do balanceamento de carga do Google, e o estado da verificação será alinhado ao estado da sondagem de prontidão. Isso é feito usando um componente chamado Transparent Health Checker, que é executado em todos os nós que vão exibir o status de integridade do pod.

O Cloud Service Mesh configura o tráfego de verificação de integridade enviado pelos intervalos de origem da infraestrutura de verificação de integridade para ser enviado a uma porta reservada (7877). Esse tráfego é redirecionado para o servidor de verificação de integridade transparente localmente no nó. O servidor responde com um status de integridade correspondente ao estado atual de prontidão do pod do Kubernetes. O fluxo de tráfego para os pods do Kubernetes é controlado com base no status "Pronto" definido em cada pod. Também é possível controlar o status "Pronto" status com valores de sondagem e portões de prontidão. A verificação de integridade transparente vai informar o status com base em um operador lógico E de todas as condições do Kubernetes.

É possível configurar sondagens, portões de prontidão e outras verificações do Kubernetes que influenciam o status de prontidão do pod do Kubernetes.

Configurar sondagens de prontidão para um serviço HTTP (opcional)

Opcionalmente, você pode adicionar esta seção à implantação para a configuração de serviço HTTP do serviço 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

Configurar sondagens de prontidão para um serviço gRPC (opcional)

Também é possível adicionar esta seção à implantação da 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