Gateway API

지원 버전: Gateway API v1.2+ 마지막 업데이트: 2026년 2월 22일

개요

Gateway API는 Kubernetes의 차세대 인그레스 API로, 기존 Ingress API의 한계를 극복하고 더 표현력 있고 확장 가능한 네트워크 라우팅 기능을 제공합니다. SIG-Network에서 개발하며, 다양한 구현체(Istio, Cilium, Envoy Gateway 등)에서 지원됩니다.

Ingress API의 한계

문제
설명

표현력 부족

HTTP 라우팅 외 TCP/UDP/gRPC 지원 미흡

역할 분리 불가

인프라 관리자와 애플리케이션 개발자 권한 구분 어려움

Annotation 남용

구현체별 기능을 annotation으로 처리하여 이식성 저하

확장성 제한

새로운 프로토콜이나 기능 추가 어려움

크로스 네임스페이스

네임스페이스 간 라우팅 복잡

Gateway API의 장점

spinner

리소스 모델

Gateway API는 계층화된 리소스 모델을 사용합니다.

spinner

역할 분리

역할
담당 리소스
책임

인프라 제공자

GatewayClass

기본 인프라 구성 정의

클러스터 운영자

Gateway, ReferenceGrant

로드밸런서 프로비저닝, 권한 관리

애플리케이션 개발자

HTTPRoute, GRPCRoute 등

애플리케이션 라우팅 규칙 정의

GatewayClass

GatewayClass는 Gateway를 생성할 때 사용할 컨트롤러와 설정을 정의합니다.

주요 구현체별 GatewayClass

Gateway

Gateway는 실제 로드밸런서 인스턴스를 정의합니다.

기본 Gateway 설정

고급 Gateway 설정

TLS 모드

모드
설명
사용 사례

Terminate

Gateway에서 TLS 종료

일반적인 HTTPS

Passthrough

TLS를 백엔드로 전달

End-to-end 암호화

HTTPRoute

HTTPRoute는 HTTP/HTTPS 트래픽의 라우팅 규칙을 정의합니다.

기본 HTTPRoute

고급 매칭 규칙

필터 (Filters)

필터를 사용하여 요청/응답을 수정할 수 있습니다.

트래픽 분할 (가중치)

타임아웃 및 재시도

GRPCRoute

gRPC 트래픽을 위한 라우팅 규칙을 정의합니다.

TCPRoute

TCP 트래픽 라우팅을 정의합니다.

TLSRoute

TLS passthrough 트래픽 라우팅을 정의합니다.

UDPRoute

UDP 트래픽 라우팅을 정의합니다.

ReferenceGrant

ReferenceGrant를 사용하여 크로스 네임스페이스 참조를 허용합니다.

구현체 비교

주요 구현체

구현체
컨트롤러
특징

Istio

istio.io/gateway-controller

Service Mesh 통합, 고급 트래픽 관리

Cilium

io.cilium/gateway-controller

eBPF 기반, 고성능

Envoy Gateway

gateway.envoyproxy.io/gatewayclass-controller

Envoy 기반, 표준 준수

AWS Gateway API Controller

application-networking.k8s.aws/gateway-api-controller

VPC Lattice 통합

Contour

projectcontour.io/gateway-controller

Envoy 기반, 간단한 설정

NGINX Gateway Fabric

gateway.nginx.org/nginx-gateway-controller

NGINX 기반

Traefik

traefik.io/gateway-controller

동적 설정

기능 지원 현황

기능
Istio
Cilium
Envoy GW
AWS
Contour

HTTPRoute

GRPCRoute

⚠️

TCPRoute

TLSRoute

UDPRoute

⚠️

ReferenceGrant

트래픽 분할

헤더 수정

⚠️

URL 리라이트

⚠️

미러링

⚠️

Ingress에서 Gateway API로 마이그레이션

단계별 마이그레이션 가이드

1단계: 기존 Ingress 분석

2단계: Gateway 및 GatewayClass 생성

3단계: HTTPRoute 생성

4단계: 점진적 전환

마이그레이션 체크리스트

EKS 패턴

AWS Gateway API Controller (VPC Lattice)

ALB Controller와 함께 사용

API 채널 및 성숙도

Gateway API는 다양한 성숙도 수준의 기능을 제공합니다.

채널 구분

채널
성숙도
리소스

Standard

GA

GatewayClass, Gateway, HTTPRoute, ReferenceGrant

Experimental

Beta/Alpha

GRPCRoute, TCPRoute, TLSRoute, UDPRoute

버전 및 호환성

Ingress API 비교

기능
Ingress
Gateway API

역할 분리

✅ (3계층)

HTTP 라우팅

TCP/UDP

gRPC

⚠️ annotation

✅ 네이티브

TLS Passthrough

⚠️ 구현체 의존

트래픽 분할

⚠️ annotation

✅ 네이티브

헤더 기반 라우팅

⚠️ annotation

✅ 네이티브

크로스 네임스페이스

⚠️ 제한적

✅ ReferenceGrant

이식성

⚠️ annotation 의존

✅ 표준화

확장성

✅ CRD

모범 사례

1. 역할 분리 준수

2. ReferenceGrant 최소 권한

3. Gateway 분리

4. 모니터링 설정


참고 자료

마지막 업데이트