(Facoltativo) Configura i probe di idoneità Kubernetes

Questa pagina descrive come utilizzare Cloud Service Mesh con l'infrastruttura del controllo di integrità di Google Cloud per configurare probe e limiti di idoneità Kubernetes.

Prerequisiti

Come punto di partenza, questa guida presuppone che tu abbia già:

Controlli di integrità trasparenti con CSM

L'API Cloud Service Mesh Gateway ora offre controlli di integrità trasparenti, ovvero Universal HealthChecks integrati con dati sullo stato di idoneità di Kubernetes per consentire il flusso di traffico verso i pod contrassegnati come pronti. Questa funzionalità è disponibile sia per i servizi HTTP sia per quelli gRPC.

Cloud Service Mesh espone lo stato dei pod Kubernetes direttamente all'infrastruttura del controllo di integrità di Google, quindi la stessa configurazione che utilizzi per readinessProbe per i pod verrà passata in modo trasparente all'infrastruttura del controllo di integrità del bilanciamento del carico di Google e lo stato del controllo di integrità sarà allineato allo stato del probe di idoneità. Questo viene eseguito utilizzando un componente chiamato Transparent Health Checker, che viene eseguito su ogni nodo che gestirà lo stato di integrità del pod.

Cloud Service Mesh configura il traffico del controllo di integrità inviato dagli intervalli di origine dell'infrastruttura del controllo di integrità in modo che venga inviato a una porta riservata (7877). Questo traffico viene reindirizzato al server trasparente per il controllo di integrità localmente sul nodo. Il server risponde con uno stato di integrità corrispondente allo stato attuale dell'idoneità del pod Kubernetes. Il flusso di traffico verso i pod Kubernetes è controllato in base allo stato Pronto impostato su ciascun pod. Se vuoi, puoi controllare lo stato "Pronto" con i valori di sonda di idoneità e di soglie di idoneità. Il controllo di integrità trasparente segnalerà lo stato in base a un operatore logico E di tutte le condizioni Kubernetes.

Puoi configurare i probe Kubernetes, i cancelli di idoneità e altri controlli che influiscono sullo stato di idoneità del pod Kubernetes.

Configura probe di idoneità per un servizio HTTP (facoltativo)

Facoltativamente, puoi aggiungere questa sezione al deployment per il servizio doveami HTTP Service Configuration (Configurazione servizio 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

(Facoltativo) Configura i probe di idoneità per un servizio gRPC

Se vuoi, puoi aggiungere questa sezione al deployment per la configurazione del servizio 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