GKE의 Cloud Service Mesh 확장 제한사항
이 문서에서는 배포와 관련된 정보에 입각한 결정을 내릴 수 있도록 GKE의 관리형 Cloud Service Mesh 아키텍처의 컨트롤 플레인 확장 한도를 설명합니다.
개요
GKE의 Cloud Service Mesh 확장성은 두 가지 기본 구성요소인 데이터 영역과 컨트롤 플레인의 효율적인 작동에 따라 달라집니다. 이 문서에서는 컨트롤 플레인 확장 한도에 중점을 둡니다. 데이터 영역 확장성 권장사항은 확장성 권장사항을 참조하세요.
문서화된 일부 확장 한도는 할당량 제한에 의해 적용됩니다. 이 한도를 초과하려면 할당량 상향 조정을 요청해야 합니다. 다른 제한사항은 엄격하게 적용되지 않지만 초과되면 정의되지 않은 동작과 성능으로 이어질 수 있습니다.
Istio 리소스가 Google Cloud 리소스로 변환되는 방식을 이해하려면 먼저 API 리소스 이해 가이드를 참조하세요.
서비스 확장 한도
서비스 확장은 두 가지 측정기준으로 제한됩니다.
프로젝트당: Cloud Service Mesh 서비스는Google Cloud 프로젝트당 최대 1,000개까지 지원됩니다(Kubernetes 헤드리스 서비스 제외).
프로젝트당 영역별: Cloud Service Mesh는 클러스터의 GKE 서비스에 영역별 네트워크 엔드포인트 그룹을 만들므로 영역별 NEG 할당량 제한은 해당 영역에 엔드포인트가 있을 수 있는 프로젝트당 서비스 수에 적용됩니다.
특정 멤버십(예: GKE 클러스터)에 Cloud Service Mesh가 사용 설정되면 클러스터의 모든 Kubernetes 서비스가 Cloud Service Mesh 사이드카 없이 워크로드를 타겟팅하는 서비스를 포함하여 Cloud Service Mesh 서비스로 변환됩니다. Cloud Service Mesh는 GKE 클러스터의 모든 서비스에 영역별 네트워크 엔드포인트 그룹을 만듭니다. 클러스터가 리전별 클러스터인 경우 리전의 모든 노드 풀 영역에 네트워크 엔드포인트 그룹이 생성됩니다.
Cloud Service Mesh 서비스와 Kubernetes 서비스 비교
Cloud Service Mesh 서비스는 포트당 서비스 하나라는 점에서 Kubernetes 서비스와 다릅니다.
예를 들어 이 Kubernetes 서비스는 내부적으로 각 포트당 하나씩 Cloud Service Mesh 서비스 2개로 변환됩니다.
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: my-app
ports:
- port: 80
targetPort: 80
protocol: TCP
name: http
- port: 443
targetPort: 443
protocol: TCP
name: https
대상 규칙 하위 집합
하위 집합으로 Istio Destination Rule API를 구성하면 각 하위 집합으로 인해 새 Cloud Service Mesh 서비스가 여러 개 생성될 수 있습니다.
예를 들어 앞에서 정의된 Kubernetes 서비스를 타겟팅하는 다음 DestinationRule
을 고려해 보세요.
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: my-service-destinationrule
spec:
host: my-service
subsets:
- name: testversion
labels:
version: v3
- name: prodversion
labels:
version: v2
정의된 하위 집합마다 새로운 합성 서비스가 생성됩니다. 원래 Kubernetes 서비스에서 Cloud Service Mesh 서비스를 2개 만들었으면 DestinationRule
은 하위 집합마다 2개씩 Cloud Service Mesh 서비스 4개를 추가로 만들어 Cloud Service Mesh 서비스가 총 6개 생성됩니다.
멀티 프로젝트 배포
단일 메시가 여러 Google Cloud프로젝트의 워크로드에 배포되면 모든 Cloud Service Mesh 서비스 리소스가 Fleet 호스트 프로젝트에 생성됩니다. 즉, Fleet 호스트 프로젝트의 Cloud Service Mesh 확장성 제한사항이 모두에 적용됩니다.
Kubernetes 헤드리스 서비스
Kubernetes 헤드리스 서비스는 일반 서비스에 비해 한도가 낮습니다. Cloud Service Mesh는 헤드리스 Cloud Service Mesh 서비스를 클러스터당 50개만 지원합니다. 예시는 Kubernetes 네트워킹 문서를 참조하세요.
엔드포인트 확장 한도
엔드포인트 확장 한도는 일반적으로 다음과 같습니다.
Cloud Service Mesh 서비스
GKE 클러스터
일반 Kubernetes 서비스
NEG 할당량당 엔드포인트 수는 단일 Kubernetes 서비스에 속할 수 있는 최대 엔드포인트 수에 영향을 미칩니다.
Kubernetes 헤드리스 서비스
Kubernetes 헤드리스 서비스의 경우 Cloud Service Mesh는 엔드포인트를 헤드리스 서비스당 36개 이하로 지원합니다. 예시는 Kubernetes 네트워킹 문서를 참조하세요.
GKE 클러스터 한도
Cloud Service Mesh는 엔드포인트(포드 IP)를 클러스터당 최대 5,000개까지 지원합니다.
게이트웨이 확장 한도
특히 Istio 게이트웨이를 사용하여 Kubernetes 보안 비밀에서 TLS 사용자 인증 정보를 사용하여 HTTPS 연결을 종료하는 경우 Cloud Service Mesh는 다음과 같은 최대 포드 수를 지원합니다.
리전별 GKE 클러스터를 사용하는 경우 게이트웨이 포드 1,500개
영역별 또는 Autopilot GKE 클러스터를 사용하는 경우 게이트웨이 포드 500개