Kubernetes 준비 프로브 구성(선택사항)

이 페이지에서는 Google Cloud 상태 점검 인프라와 함께 Cloud Service Mesh를 사용하여 Kubernetes 프로브 및 준비 상태 게이트를 구성하는 방법을 설명합니다.

기본 요건

이 가이드에서는 사용자가 다음 요건을 이미 충족한다고 가정합니다.

CSM을 통한 투명한 healthChecks

이제 Cloud Service Mesh Gateway API에서 투명 상태 점검을 제공합니다. 즉, Kubernetes 준비 상태 데이터와 통합된 Universal HealthChecks를 통해 준비로 표시된 포드로의 트래픽 흐름을 지원합니다. 이 기능은 HTTP 서비스와 gRPC 서비스 모두에서 사용할 수 있습니다.

Cloud Service Mesh는 Kubernetes 포드의 상태를 Google 상태 점검 인프라에 직접 노출하므로 포드 readinessProbes에 사용하는 것과 동일한 구성이 Google 부하 분산 상태 점검 인프라에 투명하게 전달되고 상태 점검 상태가 준비 프로브 상태와 일치합니다. 이는 포드의 상태를 제공하는 모든 노드에서 실행되는 투명한 상태 점검기라는 구성요소를 사용하여 수행됩니다.

Cloud Service Mesh는 상태 확인 인프라 소스 범위에서 전송된 상태 점검 트래픽이 예약된 포트(7877)로 전송되도록 구성합니다. 이 트래픽은 노드의 로컬에 있는 투명 상태 점검 서버로 리디렉션됩니다. 서버는 Kubernetes 포드 준비 상태의 현재 상태와 일치하는 상태로 응답합니다. Kubernetes 포드로의 트래픽 흐름은 각 포드에 설정된 준비 상태에 따라 제어됩니다. 원하는 경우 준비 프로브 및 준비 게이트 값으로 '준비됨' 상태를 제어할 수 있습니다. 투명한 상태 점검은 모든 Kubernetes 조건의 논리 연산자 AND를 기반으로 상태를 보고합니다.

Kubernetes 프로브, 준비 게이트, Kubernetes 포드 준비 상태에 영향을 미치는 기타 검사를 구성할 수 있습니다.

HTTP 서비스의 준비 프로브 구성(선택사항)

원하는 경우 whereami 서비스 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

gRPC 서비스의 준비 프로브 구성(선택사항)

원하는 경우 psm-grpc-server gRPC 서비스 설정의 배포에 이 섹션을 추가할 수 있습니다.

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