[기술 분석] Kubernetes Ingress API 중단과 Gateway API 분석
Kubernetes Ingress NGINX 지원 중단에 따라 차세대 표준인 Gateway API 도입이 권장된다.
지난 11월, Kubernetes는 Ingress NGINX의 기술 지원 중단을 발표하며 대안으로 Gateway API 사용을 권장했다. 기존 Ingress는 대규모 서비스의 복잡한 라우팅을 구현할 때 Annotation에 과도하게 의존해야 하는 'Annotation 지옥'이라는 한계가 있었다.
Gateway API는 이를 해결하기 위한 차세대 표준으로 다음과 같은 핵심 장점을 제공한다.
- 역할 기반 관리(Role-oriented): 인프라 관리자는 Gateway를, 개발자는 HTTPRoute를 각각 독립적으로 관리할 수 있다.
- 표준화된 기능: Header 조작, 트래픽 미러링, 가중치 기반 분산(Canary) 등을 API 표준 기능으로 지원한다.
- 유연한 프로토콜: HTTP뿐만 아니라 gRPC, TCP, UDP 라우팅을 직관적으로 지원한다.
- 공유 및 재사용: 하나의 Gateway를 여러 네임스페이스의 HTTPRoute가 공유할 수 있다.
Gateway API를 운영하려면 Gateway Controller가 필요하다. 본문에서는 F5의 오픈소스인 Nginx Gateway Fabric을 활용한 설치 과정을 다룬다. 먼저 Gateway API CRD를 설치한 후, Helm을 통해 컨트롤러를 배포하여 환경을 구축할 수 있다.
실제 트래픽 흐름은 Client $\rightarrow$ Gateway (Service & Pod) $\rightarrow$ HTTPRoute $\rightarrow$ Service & Pod 순으로 진행된다. 여기서 Gateway Controller는 실 서비스 트래픽에 직접 관여하는 것이 아니라, Gateway 리소스에 따라 관련 Service와 Pod를 자동으로 배포하고 관리하는 역할을 수행한다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.