인그레스 컨트롤러란 무엇인가요?
Ingress 컨트롤러는 Kubernetes(및 기타 컨테이너화된) 환경을 위한 특수 로드 밸런서입니다. Kubernetes는 컨테이너화된 애플리케이션을 관리하기 위한 사실상의 표준입니다. 많은 기업에서 프로덕션 워크로드를 Kubernetes로 이전하면 애플리케이션 트래픽 관리와 관련된 추가적인 과제와 복잡성이 발생합니다. Ingress 컨트롤러는 Kubernetes 애플리케이션 트래픽 라우팅의 복잡성을 추상화하고 Kubernetes 서비스와 외부 서비스 간의 연결을 제공합니다.
Kubernetes Ingress 컨트롤러:
- Kubernetes 플랫폼 외부에서 들어오는 트래픽을 수신하고, 플랫폼 내부에서 실행 중인 파드(컨테이너)로 부하를 분산합니다.
- 클러스터 외부의 다른 서비스와 통신해야 하는 서비스를 위해 클러스터 내의 송신 트래픽을 관리할 수 있습니다
- Kubernetes API를 사용하여 'Ingress 리소스'라는 객체를 배포하도록 구성됩니다
- Kubernetes에서 실행 중인 Pod를 모니터링하고, 서비스에 Pod가 추가되거나 제거될 때 부하 분산 규칙을 자동으로 업데이트합니다
NGINX Sprint의 이 세션을 시청하여 Kubernetes 네트워킹 개념과 Ingress 컨트롤러의 역할을 자세히 알아보고, 세 가지 기본 유형의 Ingress 컨트롤러(오픈 소스, 클라우드 공급업체 기본 제공, 상용) 중 어떤 것이 가장 적합한지 결정하는 데 도움이 되는 실용적인 조언을 얻어보세요.
NGINX Plus는 어떻게 도움이 될까요?
Ingress 컨트롤러의 구성을 자주 변경하고 계신가요? Kubernetes 서비스를 공격으로부터 보호하는 것이 최우선 과제인가요? 그렇다면 다음과 같은 기능을 갖춘 프로덕션급 Ingress 컨트롤러가 필요합니다.
- 동적 재구성
- 가볍고 현대적인 웹 애플리케이션 방화벽 (WAF)
- 검증된 표준 방식의 권한 부여 및 인증: 싱글 사인온(SSO) 솔루션(예: OpenID Connect(OIDC))
- 연중무휴 지원을 통해 프로덕션 워크로드를 Kubernetes로 신속하게 이전할 수 있습니다
The NGINX Ingress Controller는 Kubernetes 환경에서 NGINX Open Source 또는 NGINX Plus 인스턴스와 함께 실행되는 프로덕션급 Ingress 컨트롤러(데몬)입니다. 이 데몬은 NGINX Ingress 리소스와 Kubernetes Ingress 리소스를 모니터링하여 인그레스 부하 분산이 필요한 서비스 요청을 감지합니다. 또한 Ingress 컨트롤러, 서비스별 프록시 및 Pod별 프록시에 배포할 수 있는 경량의 최신 WAF인 NGINX App Protect와 호환됩니다.
NGINX Ingress Controller를 사용하면 계층 4~7에서 Kubernetes 네트워킹을 활용하여 Kubernetes 서비스 간의 보안과 트래픽 제어를 강화할 수 있습니다.
NGINX를 데이터 플레인으로 사용하는 Ingress 컨트롤러는 다양하기 때문에 어떤 것이 적합한지 궁금하실 수 있습니다. 저희 블로그에서는 NGINX를 기반으로 구축된 가장 일반적인 세 가지 Ingress 컨트롤러를 간략히 소개합니다:
- Kubernetes 커뮤니티(kubernetes/ingress-nginx GitHub 저장소)
- NGINX Open Source (nginxinc/kubernetes-ingress GitHub에서)
- NGINX Plus (상용 제품 NGINX Plus 기반)
적합한 Ingress 컨트롤러는 사용 사례에 따라 달라집니다. 프로덕션급 애플리케이션 제공이 필요하다면 위에 나열된 기능이 핵심이며, 이러한 기능은 NGINX Ingress Controller의 NGINX Plus 기반 버전에서만 제공됩니다.

