이 페이지는 Google Kubernetes Engine(GKE) 클러스터 Fleet 전체에 트래픽을 분산하도록 부하 분산기를 배포하는 데 가장 적합한 API를 선택하는 데 도움이 됩니다.
다음 방법으로 GKE 클러스터 Fleet에 부하 분산기를 연결할 수 있습니다.
멀티 클러스터 인그레스 및 MultiClusterService 리소스와 같은 멀티 클러스터 인그레스 API를 사용합니다.
Gateway API를 사용합니다(GatewayClass, Gateway, HTTPRoute, Policy, ServiceExport, ServiceImport 리소스).
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, Gateway, HTTPRoute, *정책 | - |
API 출시 단계 | GA(v1) | GA(v1) | - |
GKE에서 API 사용 설정 | Autopilot/Standard의 클러스터 설정 | Autopilot의 기본값
Standard의 클러스터 설정 |
- |
멀티 클러스터 서비스 지원 | |||
멀티 클러스터 서비스(MCS) 필요 | |||
MCS API 버전 | networking.gke.io/v1 | net.gke.io/v1 | - |
리소스 유형 | MultiClusterService | ServiceExport | - |
라이선스 | 독점적 | 오픈소스 | - |
Cloud 네트워킹 리소스 수명 주기 관리(공유 VPC 제외) | |||
자동화된 프런트엔드 IP 주소 관리 | |||
자동화된 Cloud 부하 분산기 관리
|
|||
자동화된 네트워크 엔드포인트 그룹(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 노드 포함) |
(권장하지 않음) |
||
기타 백엔드:
|
|||
부하 분산기-백엔드 간 프로토콜 지원 | |||
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 액세스 로깅 구성 | |||
백엔드 서비스 제한 시간 | |||
커스텀 부하 분산기 상태 확인 구성 | |||
백엔드 서비스에 대한 TLS | |||
커스텀 기본 백엔드 | |||
Cloud CDN |
(일부 기능) |
(모든 기능) |
|
IAP(Identity-Aware Proxy) | |||
Google Cloud Armor 보안 정책 |
다음 단계
- 멀티 클러스터 인그레스 설정.
- 클러스터 간 인그레스 배포.
- 멀티 클러스터 게이트웨이 사용 설정.
- 멀티 클러스터 게이트웨이 배포
- 독립형 영역별 NEG를 통한 컨테이너 기반 부하 분산.