GKE용 멀티 클러스터 부하 분산 API 선택


이 페이지는 Google Kubernetes Engine(GKE) 클러스터 Fleet 전체에 트래픽을 분산하도록 부하 분산기를 배포하는 데 가장 적합한 API를 선택하는 데 도움이 됩니다.

다음 방법으로 부하 분산기를 GKE 클러스터 Fleet에 연결할 수 있습니다.

  1. 멀티 클러스터 인그레스MultiClusterService 리소스와 같은 멀티 클러스터 인그레스 API를 사용합니다.

  2. Gateway API를 사용합니다(GatewayClass, 게이트웨이, HTTPRoute, 정책, ServiceExportServiceImport 리소스).

  3. Google Cloud 콘솔, gcloud CLI, API, Terraform, 구성 커넥터를 사용하여 애플리케이션 부하 분산기를 설정하고 독립형 NEG를 사용자 관리 백엔드 서비스에 연결합니다.

다음 표에서는 부하 분산기를 GKE 클러스터 Fleet에 연결할 수 있는 여러 가지 방법을 보여줍니다. 다음 표에 나열되지 않은 부하 분산기 기능 비교 페이지의 모든 기능은 부하 분산용 Kubernetes 기반 API를 사용하는 대신 독립형 NEG가 있는 사용자 관리 부하 분산기와 함께 작동해야 합니다.

해결책 멀티 클러스터 인그레스 멀티 클러스터 게이트웨이 독립형 NEG를 사용하는 사용자 관리 부하 분산기
GKE 플랫폼 지원
제품 출시 단계 GA GA GA
GKE 버전 Enterprise/Standard Enterprise/Standard Enterprise/Standard
클러스터 모드 Standard/Autopilot Standard/Autopilot Standard/Autopilot
GKE 버전 1.18 이상 Standard의 경우 GKE 1.24 이상, Autopilot의 경우 1.26 이상 1.18 이상
아키텍처 및 구성요소
Google 관리 Kubernetes 컨트롤러
컨트롤러 GKE 멀티 클러스터 인그레스 컨트롤러 GKE 게이트웨이 컨트롤러 -
컨트롤러 위치 클러스터 외부

(Google Cloud 인프라)

클러스터 외부

(Google Cloud 인프라)

-
API Kubernetes 기반 API Kubernetes 기반 API Google Cloud API(gcloud CLI)
API 리소스 MultiClusterIngress, MultiClusterService GatewayClass, 게이트웨이, HTTPRoute, *정책 -
API 출시 단계 GA(v1) v1beta1 -
GKE에서 API 사용 설정 Autopilot/Standard의 클러스터 설정 Autopilot의 기본값

Standard의 클러스터 설정

-
멀티 클러스터 서비스 지원
멀티 클러스터 서비스(MCS) 필요
MCS API 버전 networking.gke.io/v1 net.gke.io/v1 -
리소스 유형 MultiClusterService ServiceExport -
라이선스 독점적 오픈소스 -
Cloud 네트워킹 리소스 수명 주기 관리(공유 VPC 제외)
자동화된 프런트엔드 IP 주소 관리
자동화된 Cloud 부하 분산기 관리
  • 전달 규칙
  • 대상 프록시
  • URL 맵
  • 백엔드 서비스
  • 상태 점검
자동화된 네트워크 엔드포인트 그룹(NEG) 관리

(영역 NEG만 해당)

(영역 NEG만 해당)

(영역 NEG만 해당, Kubernetes 서비스에 주석이 필요함)

Cloud NGFW 관리

(VPC 방화벽 규칙만 해당, 관리형 규칙)

(VPC 방화벽 규칙만 해당, 관리형 규칙)

공유 VPC 지원
호스트 프로젝트의 클러스터 및 Fleet(허브)
동일한 서비스 프로젝트의 클러스터 및 Fleet(허브)

(호스트 프로젝트의 방화벽 규칙 권한 포함)

(호스트 프로젝트의 방화벽 규칙 권한 포함)

다른 프로젝트의 클러스터 및 Fleet(허브)

(프로젝트 간 서비스 참조 사용)

부하 분산기 지원
애플리케이션 부하 분산기
기본
전역 외부
리전 외부
리전 내부
리전 간 내부
프록시 네트워크 부하 분산기
기본
전역 외부
리전 외부
내부(항상 리전)
패스 스루 네트워크 부하 분산기
외부(항상 리전)
내부(항상 리전)
클라이언트-부하 분산기 프로토콜 지원
HTTP, HTTPS, HTTP/2
WebSocket
HTTP/3(IETF QUIC 기반)
SSL(TLS) 또는 TCP
부하 분산기 백엔드 지원
포드(영역 NEG)
가상 머신(GKE 노드 포함)

(권장하지 않음)

기타 백엔드:
  • Cloud Storage
  • 공개 외부 엔드포인트(인터넷 NEG)
  • 비공개 외부 엔드포인트(하이브리드 NEG)
  • Private Service Connect(PSC NEG)
  • Cloud Run(서버리스 NEG)
부하 분산기-백엔드 프로토콜 지원
HTTP, HTTPS, HTTP/2(중 하나)
WebSocket
SSL(TLS) 또는 TCP (중 하나)
IP 주소 지정 및 프로토콜
동적 IP 주소 할당
고정 IP 주소 할당
여러 포트에 동일한 IP 주소(HTTP, HTTPS)
IPv6

(부하 분산기와 백엔드 간 트래픽은 IPv4로 유지됨)

(부하 분산기와 백엔드 간 트래픽은 IPv4로 유지됨)

(부하 분산기와 백엔드 간 트래픽은 IPv4로 유지됨)

라우팅 및 트래픽 관리
전역 액세스
프로젝트 간 부하 분산
호스트/경로 라우팅

(접두사, 일치검색)

(접두사, 일치검색)

헤더 기반 라우팅

(완전 일치검색)

경로 리디렉션
URL 재작성
트래픽 분할
트래픽 미러링
트래픽 컷오버
트래픽 기반 자동 확장
커스텀 요청 헤더
커스텀 응답 헤더
네임스페이스 간 라우팅
프런트엔드 보안
SSL 정책
HTTP-HTTPS 간 리디렉션
여러 TLS 인증서 지원
Kubernetes 보안 비밀 기반 인증서
자체 관리형 SSL 인증서
Google 관리 SSL 인증서
Certificate Manager 지원
백엔드 서비스 속성
연결 드레이닝 제한 시간
세션 어피니티
HTTP 액세스 로깅 구성
백엔드 서비스 제한 시간
커스텀 부하 분산기 상태 확인 구성

(BackendConfig)

(HealthCheckPolicy)

(gcloud CLI/Google Cloud 콘솔/Terraform)

백엔드 서비스에 대한 TLS
커스텀 기본 백엔드
Cloud CDN

(일부 기능은 지원되지 않음)

(모든 기능)

IAP(Identity-Aware Proxy)
Google Cloud Armor 보안 정책

다음 단계