Cloud Service Mesh API 리소스 이해

Gateway API 및 Istio API를 사용하여 GKE에서 서비스 메시를 구성하면 GKE에서 관리한 KRM 기반 API 리소스가 Google Cloud API 리소스 집합으로 자동 변환됩니다.

  • 추가 결제 비용은 발생하지 않습니다.
  • 관리형 Cloud Service Mesh 인프라에서만 관리하며(GKE 클러스터에서 만든 API 리소스를 기반으로 함) 이러한 Google Cloud API 리소스는 수정하거나 삭제할 수 없습니다. KRM API가 변경되면 해당 Google Cloud API 리소스의 업데이트 또는 삭제가 트리거됩니다. Cloud Service Mesh 서비스 메시를 프로비저닝 해제하면Google Cloud API 리소스가 자동으로 삭제됩니다.
  • 기능적으로는 GKE에서 관리한 API 리소스와 동일합니다. Cloud Service Mesh 인프라는 이러한 Google Cloud API 리소스를 기반으로 GKE 클러스터의 데이터 영역을 프로그래밍합니다.
  • 여기에는 표준 Google Cloud API 할당량 제어가 적용됩니다. Google Cloud 프로젝트에서 현재 할당량 사용량을 확인할 수 있습니다. 리소스 할당량이 초과되면 데이터 영역으로의 구성 전파가 중단됩니다. Google Cloud Google Cloud 는 프로젝트 수준에서 리소스 할당량을 적용하며 이러한 Google Cloud API 리소스는 개발자가 직접 관리하는 동일한 유형의 Google Cloud API 리소스와 할당량을 공유합니다.

다음은 GKE의 API 리소스가 Google Cloud API 리소스에 매핑되는 방식을 간략하게 보여주는 개요입니다. 대부분의 경우 GKE에서 서비스 메시를 사용하기 위해 API 매핑을 이해할 필요는 없습니다. GKE에서 Gateway API 또는 Istio API를 사용하여 서비스 메시를 관리할 것이기 때문입니다. 반면에 API 매핑을 대략적으로 이해하면 서비스 메시가 확장될 때Google Cloud API 할당량을 더 효율적으로 계획하고 관리할 수 있습니다.

관리형 Cloud Service Mesh를 사용하는 Istio API

GKE에서 관리하는 API 리소스는 데이터 영역의 트래픽 동작의 다양한 측면을 제어하는 Google Cloud API 리소스 집합에 매핑됩니다. 이러한 리소스에 할당량 알림을 설정하는 것이 좋습니다.

항목 Istio API 리소스 Google Cloud API 리소스 범위 할당량 및 한도 상한값
트래픽 라우팅 VirtualService HTTPRoute
TCPRoute
TLSRoute
전역 HTTPRoute 할당량
TCPRoute 할당량
TLSRoute 할당량
서비스 포트당 1개, Istio VirtualService HTTPRoute, TCPRoute, TLSRoute 각각에 대해 1개
서비스 표현(경로 / 정책 연결용) 서비스
ServiceEntry
BackendService 전역 BackendService 할당량 서비스 포트당 1개 (Istio ServiceEntry 포함)
워크로드 속성(예: IP:포트, 지역) 서비스
ServiceEntry
NetworkEndpointGroup 영역 NetworkEndpointGroup 할당량 (서비스 포트, 영역)당 1개 리전별 GKE 클러스터에서는 클러스터에 노드가 하나 이상 있는 모든 영역에 지정된 서비스 포트에 대해 NetworkEndpointGroup이 생성됩니다.
워크로드 상태 모니터링 서비스 HealthCheck 영역 HealthCheck 할당량 GKE 클러스터당 1개
워크로드 정책 연결 지점 PeerAuthentication
AuthorizationPolicy
RequestAuthentication EnvoyFilter
EndpointPolicy 전역 EndpointPolicy 할당량 서비스 포트 및 각 워크로드 정책당 1개
인증 PeerAuthentication ClientTlsPolicy
ServerTlsPolicy
전역 ClientTlsPolicy 할당량
ServerTlsPolicy 할당량
서비스 포트당 ClientTlsPolicy 1개 TLS 게이트웨이마다 ServerTlsPolicy 1개
승인 AuthorizationPolicy HttpFilter 전역 HttpFilter 할당량 Istio AuthorizationPolicy당 1개
게이트웨이 게이트웨이 게이트웨이 전역 게이트웨이 할당량 Istio 게이트웨이 서버 포트당 1개
트래픽 분산 정책 GCPTrafficDistributionPolicy 1 ServiceLbPolicy 전역 ServiceLbPolicy 할당량 GCPTrafficDistributionPolicy당 1개

서비스 메시가 여러 프로젝트의 여러 클러스터에 걸쳐 있는 경우 모든Google Cloud 리소스가 Fleet 프로젝트에 생성됩니다.

1GCPTrafficDistributionPolicy는 Istio API가 아닙니다. Istio API를 개선하여 고급 트래픽 관리를 제공합니다.