Ingress 컨트롤러
Ingress 컨트롤러 (Ingress Controllers)
Ingress가 클러스터에서 작동하려면 ingress 컨트롤러가 실행 중이어야 해요. 인그레스 컨트롤러를 하나 이상 선택하고 클러스터에 설정해 두어야 해요. 이 페이지에서는 배포할 수 있는 일반적인 인그레스 컨트롤러를 소개할게요.
참고:
쿠버네티스 프로젝트는 Ingress 대신 Gateway 사용을 권장해요. Ingress API는 동결(frozen)됐어요. 이는 다음을 의미해요.
- Ingress API는 일반적으로 사용 가능하며, 일반적으로 사용 가능한 API에 대한 안정성 보장의 대상이에요. 쿠버네티스 프로젝트는 Ingress를 쿠버네티스에서 제거할 계획이 없어요.
- Ingress API는 더 이상 개발되지 않으며, 앞으로 변경이나 업데이트가 없을 거예요.
Ingress 컨트롤러
쿠버네티스는 프로젝트로서 AWS와 GCE 인그레스 컨트롤러를 지원하고 유지보수해요.
서드파티 인그레스 컨트롤러
참고: 이 섹션은 쿠버네티스가 요구하는 기능을 제공하는 서드파티 프로젝트를 링크해요. 쿠버네티스 프로젝트 작성자는 이 프로젝트들에 대해 책임지지 않으며, 이 목록은 알파벳순으로 나열돼요. 이 목록에 프로젝트를 추가하려면 변경을 제출하기 전에 내용 가이드를 읽어보세요. 더 많은 정보.
- AKS Application Gateway Ingress Controller는 Azure Application Gateway를 구성하는 인그레스 컨트롤러예요.
- Alibaba Cloud API Gateway Ingress는 Alibaba Cloud Native API Gateway를 구성하는 인그레스 컨트롤러로, Higress의 상용 버전이기도 해요.
- Apache APISIX ingress controller는 Apache APISIX 기반 인그레스 컨트롤러예요.
- Avi Kubernetes Operator는 VMware NSX Advanced Load Balancer를 사용해 L4-L7 로드 밸런싱을 제공해요.
- BFE Ingress Controller는 BFE 기반 인그레스 컨트롤러예요.
- BunkerWeb Ingress Controller는 nginx 기반 WAF(Web Application Firewall)인 BunkerWeb용 인그레스 컨트롤러예요.
- Cilium Ingress Controller는 Cilium이 구동하는 인그레스 컨트롤러예요.
- Citrix ingress controller는 Citrix Application Delivery Controller와 함께 작동해요.
- Contour는 Envoy 기반 인그레스 컨트롤러예요.
- Emissary-Ingress API Gateway는 Envoy 기반 인그레스 컨트롤러예요.
- EnRoute는 Envoy 기반 API 게이트웨이로 인그레스 컨트롤러로 실행될 수 있어요.
- F5 BIG-IP Container Ingress Services for Kubernetes는 Ingress를 사용해 F5 BIG-IP 가상 서버를 구성할 수 있게 해줘요.
- FortiADC Ingress Controller는 쿠버네티스 Ingress 리소스를 지원하고 쿠버네티스에서 FortiADC 객체를 관리할 수 있게 해줘요.
- Gloo는 Envoy 기반 오픈소스 인그레스 컨트롤러로, API 게이트웨이 기능을 제공해요.
- HAProxy Ingress는 HAProxy용 인그레스 컨트롤러예요.
- Higress는 Envoy 기반 API 게이트웨이로 인그레스 컨트롤러로 실행될 수 있어요.
- HAProxy Ingress Controller for Kubernetes도 HAProxy용 인그레스 컨트롤러예요.
- Istio Ingress는 Istio 기반 인그레스 컨트롤러예요.
- Kong Ingress Controller for Kubernetes는 Kong Gateway를 구동하는 인그레스 컨트롤러예요.
- Kusk Gateway는 Envoy 기반 OpenAPI 구동 인그레스 컨트롤러예요.
- NGINX Ingress Controller for Kubernetes는 NGINX 웹서버와(프록시로) 함께 작동해요.
- ngrok-operator는 ngrok용 컨트롤러로, K8s Service에 보안 공용 접근을 추가하기 위해 Ingress와 Gateway API를 모두 지원해요.
- OpenNJet Ingress Controller는 OpenNJet 기반 인그레스 컨트롤러예요.
- Pomerium Ingress Controller는 Pomerium에 기반하며, 컨텍스트 인지 접근 정책을 제공해요.
- Skipper HTTP 라우터와 역방향 프록시로, 쿠버네티스 Ingress 같은 사용 사례를 포함해 커스텀 프록시를 만들 수 있는 라이브러리로 설계됐어요.
- Traefik Kubernetes Ingress provider는 Traefik 프록시용 인그레스 컨트롤러예요.
- Tyk Operator는 커스텀 리소스로 Ingress를 확장해서 Ingress에 API 관리 기능을 가져와요. Tyk Operator는 오픈소스 Tyk Gateway와 Tyk Cloud 컨트롤 플레인과 함께 작동해요.
- Voyager는 HAProxy용 인그레스 컨트롤러예요.
- Wallarm Ingress Controller는 WAAP(WAF)와 API 보안 기능을 제공하는 Ingress Controller예요.
여러 Ingress 컨트롤러 사용하기
클러스터 안에서 ingress class를 사용해 원하는 수만큼 인그레스 컨트롤러를 배포할 수 있어요. ingress class 리소스의 .metadata.name을 기억해 두세요. 인그레스를 만들 때 그 이름이 필요해요. Ingress 객체의 ingressClassName 필드에 그 이름을 지정하면 돼요(IngressSpec v1 참조 참고).
ingressClassName은 더 오래된 애노테이션 방식의 대체품이에요.
Ingress에 IngressClass를 지정하지 않고, 클러스터에 기본으로 표시된 IngressClass가 정확히 하나 있다면, 쿠버네티스는 그 클러스터의 기본 IngressClass를 Ingress에 적용해요.
IngressClass에 ingressclass.kubernetes.io/is-default-class 애노테이션을 문자열 값 "true"로 설정하면 그 IngressClass를 기본으로 표시해요.
이상적으로 모든 인그레스 컨트롤러는 이 사양을 충족해야 하지만, 각각의 인그레스 컨트롤러는 조금씩 다르게 작동해요.
이 페이지의 항목은 쿠버네티스가 요구하는 기능을 제공하는 서드파티 제품이나 프로젝트를 가리켜요. 쿠버네티스 프로젝트 작성자는 그런 서드파티 제품이나 프로젝트에 대해 책임지지 않아요.