편집자 - 이 게시물은 10부작 시리즈의 일부입니다.
- 프로덕션 등급 Kubernetes로 복잡성 감소
- 고급 트래픽 관리를 사용하여 Kubernetes의 복원력을 개선하는 방법
- Kubernetes에서 가시성을 개선하는 방법
- 트래픽 관리 도구를 사용하여 Kubernetes를 보호하는 6가지 방법
- Ingress 컨트롤러 선택 가이드, 1부: 귀하의 요구 사항을 식별하세요
- Ingress 컨트롤러 선택 가이드, 2부: 위험과 미래 대비
- Ingress 컨트롤러 선택 가이드, 3부: 오픈소스 대 기본값 대비 광고
- Ingress 컨트롤러 선택 가이드, 4부: NGINX Ingress 컨트롤러 옵션(이 게시물)
- 서비스 메시를 선택하는 방법
- 동적 Kubernetes 클라우드 환경에서 NGINX Ingress 컨트롤러 성능 테스트
또한 전체 블로그 세트를 무료 전자책인 ' 테스트에서 프로덕션까지 Kubernetes 활용' 으로 다운로드할 수 있습니다.
CNCF(Cloud Native Computing Foundation)의 2020년 설문 조사 에 따르면 NGINX는 Kubernetes용 Ingress 컨트롤러 에서 가장 일반적으로 사용되는 데이터 플레인입니다. 하지만 "NGINX Ingress 컨트롤러"가 두 개 이상 있다는 사실을 알고 계셨나요?
이 블로그의 이전 버전은 2018년에 '잠깐만요, Kubernetes용 NGINX Ingress 컨트롤러는 뭐예요?'라는 제목으로 게시되었는데, 이는 커뮤니티 멤버와 NGINX를 사용하는 두 가지 인기 있는 Ingress 컨트롤러의 존재에 대한 대화를 나누면서 시작되었습니다.

왜 혼란이 있었는지(그리고 아직도 그런지) 알기는 쉽습니다. 두 Ingress 컨트롤러는 다음과 같습니다.
- "NGINX Ingress Controller"라고 불림
- 오픈소스
- 매우 유사한 repo 이름으로 GitHub에 호스팅됨
- 거의 같은 시기에 시작된 프로젝트의 결과
물론 가장 큰 공통점은 동일한 기능을 구현한다는 것입니다.
NGINX 대 쿠버네티스 커뮤니티 인그레스 컨트롤러
명확하게 하기 위해 두 버전을 다음과 같이 구분하겠습니다.
Kong 등 NGINX 기반의 Ingress 컨트롤러도 여러 개 있지만 다행히도 그 이름은 쉽게 구별할 수 있습니다. 어떤 NGINX Ingress Controller를 사용하고 있는지 확실하지 않으면 실행 중인 Ingress Controller의 컨테이너 이미지를 확인한 다음 Docker 이미지 이름을 위에 나열된 리포와 비교합니다.
NGINX Ingress Controller 목표 및 우선순위
NGINX Ingress Controller와 Community Ingress 컨트롤러(NGINX 오픈 소스에 기반한 다른 Ingress 컨트롤러 포함)의 주요 차이점은 개발 및 배포 모델입니다. 이는 서로 다른 목표와 우선 순위를 기반으로 합니다.
- 개발 철학 – 모든 NGINX 프로젝트와 제품에 대한 최우선 순위는 장기적 안정성과 일관성을 갖춘 빠르고 가벼운 도구를 제공하는 것입니다. 우리는 릴리스 간의 동작 변경을 피하기 위해 가능한 모든 노력을 기울이고 있으며, 특히 이전 버전과의 호환성을 해치는 변경은 피하고 있습니다. 업그레이드할 때 예상치 못한 놀라움은 없을 거라고 약속드립니다. 또한 우리는 선택의 중요성을 믿으므로 모든 솔루션은 베어 메탈, 컨테이너, VM, 퍼블릭, 프라이빗, 하이브리드 클라우드를 포함한 모든 플랫폼에 배포될 수 있습니다.
- 통합 코드베이스 - NGINX Ingress Controller는 로드 밸런싱을 위해 100% 순수 NGINX 오픈 소스 또는 NGINX Plus 인스턴스를 사용하며, 기본 NGINX 기능만을 사용하는 모범 사례 구성을 적용합니다. 이는 상호 운용성 테스트의 이점을 얻지 못한 타사 모듈이나 Lua 코드에 의존하지 않습니다. 저희는 수많은 타사 리포지토리를 활용해 Ingress 컨트롤러를 조립하지 않습니다. 저희는 로드 밸런서(NGINX 및 NGINX Plus)와 Ingress 컨트롤러 소프트웨어(Go 애플리케이션)를 직접 개발하고 유지 관리합니다. 우리는 Ingress 컨트롤러의 모든 구성 요소에 대한 단일 권한을 가지고 있습니다.
- 고급 트래픽 관리 – 표준 Kubernetes Ingress 리소스 의 제한 사항 중 하나는 주석, ConfigMaps 및 고객 템플릿과 같은 보조 기능을 사용하여 고급 기능으로 사용자 지정해야 한다는 것입니다. NGINX Ingress 리소스는 TCP/UDP, 회로 차단, A/B 테스트, 블루-그린 배포, 헤더 조작, 상호 TLS 인증(mTLS), 웹 애플리케이션 방화벽(WAF)을 포함한 Ingress 부하 분산 기능의 구현을 간소화하는 기본적이고 유형이 안전한 들여쓰기 구성 스타일을 제공합니다.
- 지속적인 생산 준비 – 모든 릴리스는 지원 가능한 생산 표준에 따라 구축되고 유지 관리됩니다. NGINX 오픈 소스 기반 버전이나 NGINX Plus 기반 버전을 사용하든 상관없이 이 "엔터프라이즈 등급" 초점의 이점을 동일하게 누릴 수 있습니다. NGINX 오픈 소스 사용자는 GitHub 에서 엔지니어링 팀으로부터 질문에 대한 답변을 받을 수 있으며, NGINX Plus 구독자는 동급 최고의 지원을 받을 수 있습니다. 어느 쪽이든 DevOps 팀에 NGINX 개발자가 있는 것과 같습니다!
NGINX 오픈소스 대 NGINX Plus – 상업용 버전으로 업그레이드해야 하는 이유는?
여기서 NGINX Plus 기반 NGINX Ingress Controller에서 얻을 수 있는 주요 이점 중 일부를 살펴보겠습니다. Kubernetes Ingress 컨트롤러 선택 방법, 3부에서 논의했듯이: 오픈소스 대 기본값 대비 상업용 , 오픈소스 Ingress 컨트롤러와 상업용 Ingress 컨트롤러 사이에는 상당한 차이가 있습니다. 대규모 Kubernetes 배포와 프로덕션에서 복잡한 앱을 계획하고 있다면 당사의 상용 Ingress 컨트롤러가 몇몇 주요 영역에서 시간과 비용을 절약해 준다는 것을 알게 될 것입니다.
보안 및 규정 준수
많은 조직이 프로덕션에서 Kubernetes 앱을 제공하지 못하는 주된 이유 중 하나는 보안과 규정 준수를 유지하는 것이 어렵기 때문입니다. NGINX Plus 기반 NGINX Ingress Controller는 앱과 고객을 안전하게 보호하는 데 중요한 5가지 사용 사례를 제공합니다.

독일 자동차 대기업 Audi가 NGINX를 사용하여 Audi Future‑Proofs Tech Vision and App Innovation 에서 Red Hat OpenShift 앱을 보호한 방법에 대해 알아보세요.
애플리케이션 성능 및 복원력
가동 시간과 앱 속도는 종종 개발자와 플랫폼 운영 팀의 핵심 성과 지표(KPI)입니다. NGINX Plus 기반 NGINX Ingress Controller는 Kubernetes의 약속을 실현하는 데 도움이 되는 5가지 사용 사례를 제공합니다.

- 실시간 모니터링 받기 – NGINX Plus 대시보드는 수백 개의 주요 로드 및 성능 지표를 표시하여 앱이 느리거나 중단되는 원인을 빠르게 해결할 수 있습니다.
- 장애를 더 빠르게 감지하고 해결합니다 . TCP 및 UDP 업스트림 서버의 상태를 적극적으로 모니터링하는 활성 상태 검사를 갖춘 회로 차단기를 구현합니다.
- 재시작 없이 재구성 – 더 빠르고 중단 없는 재구성을 통해 오픈 소스 대안보다 일관된 성능과 리소스 사용, 더 낮은 지연 시간을 제공하는 애플리케이션을 제공할 수 있습니다.
- 새로운 기능과 배포를 철저히 테스트하세요 . 키-값 저장소를 활용하여 다시 로드하지 않고도 백분율을 변경하여 A/B 테스트와 블루-그린 배포를 더 쉽게 실행할 수 있습니다.
- 지원 요구 사항을 신속하게 해결하세요 . 커뮤니티에서 질문에 답변할 때까지 기다릴 수 없거나 중요한 데이터가 노출될 위험을 감수할 수 없는 조직이라면 기밀이 보장되는 상업적 지원이 필수적입니다. NGINX 지원은 사용자의 요구 사항에 맞춰 여러 단계로 제공되며, 설치, 배포, 디버깅 및 오류 수정에 대한 지원을 포함합니다. 무언가가 "옳지 않은" 것 같을 때도 도움을 받을 수 있습니다.
비즈니스 문자 메시지 회사 Zipwhip이 NGINX를 사용하여 Amazon EKS에서 보안 및 트래픽 가시성 강화를 통해 SaaS 앱 가동 시간 99.99%를 달성한 방법에 대해 알아보세요.
다음 단계: NGINX Ingress Controller를 사용해 보세요
오픈소스 Ingress 컨트롤러가 앱에 적합한 선택이라고 결정했다면 GitHub 리포지토리 에서 빠르게 시작할 수 있습니다.
대규모 프로덕션 배포의 경우 NGINX Plus 기반의 상용 Ingress 컨트롤러를 사용해 보시기 바랍니다. NGINX App Protect가 포함된 30일 무료 체험판을 이용할 수 있습니다.