인그레스 컨트롤러
참고:
쿠버네티스 프로젝트는 인그레스 대신 게이트웨이 사용을 권장한다. 인그레스 API는 동결(frozen)된 상태이다. 이는 다음을 의미한다.
- 인그레스 API는 일반적으로 사용 가능하며, 일반적으로 사용 가능한 API에 적용하는 안정성 보장을 따른다. 쿠버네티스 프로젝트는 인그레스를 쿠버네티스에서 제거할 계획이 없다.
- 인그레스 API는 더 이상 개발되지 않으며, 앞으로 변경이나 업데이트가 이루어지지 않는다.
인그레스 컨트롤러
프로젝트로서 쿠버네티스는 AWS 및 GCE 인그레스 컨트롤러를 지원하고 유지 관리한다.
서드파티 인그레스 컨트롤러
- AKS 애플리케이션 게이트웨이 인그레스 컨트롤러는 Azure 애플리케이션 게이트웨이를 구성하는 인그레스 컨트롤러다.
- Alibaba 클라우드 API 게이트웨이 인그레스는 Alibaba 클라우드 네이티브 API 게이트웨이를 구성하는 인그레스 컨트롤러이며, 이는 Higress의 상용 버전이기도 하다.
- Apache APISIX 인그레스 컨트롤러는 Apache APISIX 기반의 인그레스 컨트롤러이다.
- Avi 쿠버네티스 오퍼레이터는 VMware NSX 고급 로드 밸런서을 사용하는 L4-L7 로드 밸런싱을 제공한다.
- BFE 인그레스 컨트롤러는 BFE 기반 인그레스 컨트롤러다.
- Cilium 인그레스 컨트롤러는 Cilium으로 구현된 인그레스 컨트롤러이다.
- Citrix 인그레스 컨트롤러는 Citrix 애플리케이션 딜리버리 컨트롤러와 함께 작동한다.
- Contour는 Envoy 기반 인그레스 컨트롤러다.
- Emissary-Ingress API 게이트웨이는 Envoy 기반 인그레스 컨트롤러이다.
- EnRoute는 인그레스 컨트롤러로 실행할 수 있는 Envoy 기반 API 게이트웨이다.
- F5 BIG-IP 쿠버네티스 용 컨테이너 인그레스 서비스를 이용하면 인그레스를 사용하여 F5 BIG-IP 가상 서버를 구성할 수 있다.
- FortiADC 인그레스 컨트롤러는 쿠버네티스 인그레스 리소스를 지원하며, 쿠버네티스에서 FortiADC 오브젝트를 관리할 수 있게 한다.
- Gloo는 API 게이트웨이 기능을 제공하는 Envoy 기반의 오픈소스 인그레스 컨트롤러다.
- HAProxy 인그레스는 HAProxy의 인그레스 컨트롤러다.
- Higress는 인그레스 컨트롤러로 실행할 수 있는 Envoy 기반 API 게이트웨이이다.
- 쿠버네티스 용 HAProxy 인그레스 컨트롤러는 HAProxy 용 인그레스 컨트롤러이기도 하다.
- Istio 인그레스는 Istio 기반 인그레스 컨트롤러다.
- 쿠버네티스 용 Kong 인그레스 컨트롤러는 Kong 게이트웨이를 구동하는 인그레스 컨트롤러다.
- Kusk 게이트웨이는 OpenAPI 중심의 Envoy 기반 인그레스 컨트롤러다.
- 쿠버네티스 용 NGINX 인그레스 컨트롤러는 NGINX 웹서버(프록시로 사용)와 함께 작동한다.
- ngrok-operator는 ngrok용 컨트롤러로, K8s 서비스에 대한 보안 공인 접근을 위한 인그레스와 게이트웨이 API를 모두 지원한다.
- OCI Native 인그레스 컨트롤러는 Oracle Cloud Infrastructure용 인그레스 컨트롤러로, OCI 로드 밸런서를 관리할 수 있게 한다.
- OpenNJet 인그레스 컨트롤러은 OpenNJet 기반 인그레스 컨트롤러이다.
- Pomerium 인그레스 컨트롤러는 컨텍스트 기반 접근 제어 정책을 제공하는 Pomerium 기반 인그레스 컨트롤러이다.
- Skipper는 사용자의 커스텀 프록시를 구축하기 위한 라이브러리로 설계된 쿠버네티스 인그레스와 같은 유스케이스를 포함한 서비스 구성을 위한 HTTP 라우터 및 역방향 프록시다.
- Traefik 쿠버네티스 인그레스 제공자는 Traefik 프록시 용 인그레스 컨트롤러다.
- Tyk 오퍼레이터는 사용자 지정 리소스로 인그레스를 확장하여 API 관리 기능을 인그레스로 가져온다. Tyk 오퍼레이터는 오픈 소스 Tyk 게이트웨이 및 Tyk 클라우드 컨트롤 플레인과 함께 작동한다.
- Voyager는 HAProxy의 인그레스 컨트롤러다.
- Wallarm 인그레스 컨트롤러는 WAAP(WAF 및 API 보안) 기능을 제공하는 인그레스 컨트롤러이다.
여러 인그레스 컨트롤러 사용
하나의 클러스터 내에 인그레스 클래스를 이용하여 여러 개의 인그레스 컨트롤러를 배포할 수 있다.
.metadata.name 필드를 확인해둔다. 인그레스를 생성할 때 인그레스 오브젝트(IngressSpec v1 참고)의 ingressClassName 필드에 해당 이름을 명시해야 한다. ingressClassName은 이전 어노테이션 방식의 대체 수단이다.
인그레스에 대한 인그레스 클래스를 설정하지 않았고, 클러스터에 기본으로 설정된 인그레스 클래스가 정확히 하나만 존재하는 경우, 쿠버네티스는 클러스터의 기본 인그레스 클래스를 인그레스에 적용한다.
인그레스 클래스에 ingressclass.kubernetes.io/is-default-class 어노테이션을 문자열 값 "true"로 설정하여, 해당 인그레스 클래스를 기본으로 설정할 수 있다.
이상적으로는 모든 인그레스 컨트롤러가 이 사양을 충족해야 하지만, 다양한 인그레스 컨트롤러는 약간 다르게 작동한다.
참고:
인그레스 컨트롤러의 설명서를 검토하여 선택 시 주의 사항을 이해해야 한다.다음 내용
- 인그레스에 대해 자세히 알아보기.
이 페이지는 쿠버네티스가 필요로 하는 기능을 제공하는 써드파티 프로젝트 또는 제품에 대해 언급하고 있습니다. 쿠버네티스 프로젝트 저자들은 이러한 써드파티 프로젝트 또는 제품에 대해 책임지지 않습니다. CNCF 웹사이트 가이드라인에서 더 자세한 내용을 확인합니다.
다른 써드파티 링크를 추가하는 변경을 제안하기 전에, 컨텐츠 가이드를 확인해야 합니다.