Ingress Controllers 소개
애플리케이션 CLB
애플리케이션 CLB는 Tencent Cloud Load Balancer(CLB) 기반의 TKE Ingress Controller로, URL이 다른 클러스터에서 다양한 Service에 대한 액세스를 구현할 수 있습니다. CLB는 NodePort를 통해 트래픽을 Pod로 직접 포워딩합니다(CLB-to-Pod 다이렉트 액세스 모드에서 트래픽은 Pod로 포워딩됨). 하나의 Ingress 구성은 하나의 CLB 인스턴스(IP)에 바인딩되며, 간단한 라우팅 관리만 필요하고 IP 주소 컨버전스에 둔감한 시나리오에 적합합니다. 자세한 내용은 CLB 유형 Ingress를 참고하십시오. Istio Ingress Gateway
Istio Ingress Gateway는 Tencent Cloud CLB 및 Istio Ingress Gateway(Tencent Cloud TCM에서 제공)를 기반으로 하는 Ingress Controller입니다. 컨트롤 플레인 및 관련 지원 컴포넌트는 Tencent Cloud에서 유지 관리합니다. 클러스터에서 트래픽 포워딩을 수행하는 컨테이너화된 데이터 플레인만 배포하면 됩니다. 보다 정교한 트래픽 관리 기능을 제공하는 기본 Kubernetes Ingress 또는 Istio API를 사용할 수 있습니다. 프록시(envoy) 레이어는 CLB 이후에 추가되며, 액세스 레이어 라우팅 관리에 요구 사항이 더 많은 시나리오와 IP 주소 컨버전스, 교차 클러스터 및 이기종 배포 서비스의 게이트 트래픽 관리에 대한 요구 사항이 있는 시나리오에 적합합니다. 전용 API Gateway
전용 API Gateway는 전용 Tencent Cloud API Gateway 인스턴스를 기반으로 하는 TKE Ingress Controller입니다. 여러 TKE 클러스터에 통합 액세스 레이어가 필요하거나 액세스 레이어에 인증 및 트래픽 조절이 필요한 시나리오에 적합합니다. 자세한 내용은 API Gateway 유형 Ingress를 참고하십시오. API Gateway Ingress는 다음과 같은 강점이 있습니다. API Gateway는 중간 노드 없이 TKE 클러스터의 Pod에 직접 연결됩니다.
API Gateway TKE 터널은 여러 TKE 서비스를 동시에 연결할 수 있으며, 가중 라운드 로빈 알고리즘에 따라 트래픽이 분산됩니다.
API Gateway에서 제공하는 고급 확장 기능(예: 인증, 트래픽 제어, 그레이스케일 트래픽 분산, 캐시, 회로 차단 시 다운그레이드 등)을 사용할 수 있습니다.
전용 API Gateway 인스턴스에서 지원하는 기본 물리적 리소스는 사용자 전용으로, 성능이 안정적이며 SLA가 높습니다.
Nginx Ingress Controller
Nginx Ingress Controller는 Tencent Cloud CLB 및 Nginx 리버스 프록시(클러스터에 컨테이너화 배포)를 기반으로 하는 Ingress Controller입니다. Annotations를 통해 네이티브 Kubernetes Ingress의 기능을 확장하고 CLB 다음에 프록시(nginx) 레이어를 추가합니다. 이는 액세스 레이어 라우팅 관리 및 IP 주소 컨버전스에 대한 요구 사항이 더 많은 시나리오에 적합합니다. 자세한 내용은 Nginx 유형 Ingress를 참고하십시오. Ingress Controllers 기능 비교
|
트래픽 관리 | 프로토콜 지원 | http, https | http, https, http2, grpc, tcp, tcp + tls | http, https, http2, grpc | http, https, http2, grpc, tcp, udp |
| IP 관리 | 하나의 Ingress 규칙은 하나의 IP(CLB)에 해당 | 여러 Ingress 규칙은 하나의 IP(CLB)에 해당, IP 주소 컨버전스 지원 | 여러 Ingress 규칙은 하나의 IP(전용 API 게이트웨이)에 해당, IP 주소 컨버전스 지원 | 여러 Ingress 규칙은 하나의 IP(CLB)에 해당, IP 주소 컨버전스 지원 |
| 속성 라우팅 | host, URL | 더 많은 속성 지원: header, method, query parameter 등 | 더 많은 속성 지원: header, method, query parameter 등 | 더 많은 속성 지원: header, cookie 등 |
| 트래픽 동작 | 미지원 | 리디렉션, 다시 쓰기 등 지원 | 리디렉션, 사용자 지정 요청, 사용자 지정 응답 등 지원 | 리디렉션, 다시 쓰기 등 지원 |
| 리전 인식 로드 밸런싱 | 미지원 | 지원 | 미지원 | 미지원 |
애플리케이션 액세스 주소 지정 | 서비스 검색 | 단일 Kubernetes 클러스터 | 여러 Kubernetes 클러스터 + 이기종 서비스 | 여러 Kubernetes 클러스터 | 단일 Kubernetes 클러스터 |
보안 | SSL 구성 | 지원 | 지원 | 지원 | 지원 |
| 인증 권한 | 미지원 | 지원 | 지원 | 지원 |
관찰 가능성 | 모니터링 지표 | 지원(CLB에서 확인) | 지원(클라우드 네이티브 모니터링 또는 Tencent Cloud 모니터링 플랫폼) | 지원(API Gateway에서 확인) | 지원(클라우드 네이티브 모니터링) |
| 호출 추적 | 미지원 | 지원 | 미지원 | 미지원 |
| 애드온 OPS | 연결된 CLB가 호스팅되었습니다. 클러스터에서 TKE Ingress Controller만 실행하면 됩니다. | 컨트롤 플레인이 호스팅되었습니다. 데이터 플레인 Ingress Gateway만 실행하면 됩니다. | Kubernetes 클러스터에서 컨트롤 플레인을 실행할 필요가 없습니다. 대신 클러스터에서 사설망 액세스 기능을 활성화하기만 하면 됩니다. | 클러스터(컨트롤 플레인 + 데이터 플레인)에서 Nginx Ingress Controller를 실행해야 합니다. |