Ingress Controller 선택 가이드, Part 3: OSS vs Default vs Commercial

Ingress Controller 는 Open Source, Default 및 Commercial의 세 가지 범주로 나뉩니다. 각각의 사용 사례가 있으며 선택하기 전에 장기적인 요구 사항을 명확히 하는 것이 중요합니다. 이번 포스트에는 각 범주의 장단점을 다룹니다.

목차

1. Open Source Ingress Controller
2. Default Ingress Controller
3. Commercial Ingress Controller
4. 다음 단계: 옵션 평가

1. Open Source Ingress Controller

많은 Open Source Ingress Controller는 사용자 및 자원 개발자 커뮤니티에 의해 유지 관리되고 있습니다. 가장 인기 있는 두 가지 Open Source Ingress Controller는 NGINX를 기반으로 합니다. 하나는 Kubernetes 커뮤니티에서 유지 관리하고 다른 하나는 NGINX 전담 엔지니어팀이 주도하고 있습니다. NGINX 기반 Ingress Controller 대한 추가 비교는 Part 4를 참조하세요.

장점(Pros)

  • 무료 및 커뮤니티 기반(Free and Community‑Driven) – 많은 사람들과 조직이 매우 저렴한 가격(무료)뿐만 아니라 커뮤니티에서 개발한 기술을 선호하기 때문에 오픈 소스 프로젝트를 선택합니다.
  • Feature Velocity – 이러한 Ingress controller는 기능 혁신의 최첨단에 있을 가능성이 더 큽니다.

단점(Cons)

  • 시간 비용(Cost) – 간편한 설정과 확장을 위한 “Out of the box” 도구가 없기 때문에 특정 요구 사항에 대한 사용자 지정 및 해결 방법에 시간을 소비하게 됩니다.
  • 위험(Risky) – 안정성, 보안 및 신뢰성에 문제가 있을 수 있습니다(Feature Velocity와 기여자의 자발적인 지원 특성에 중점을 두기 때문에). CVE(Common Vulnerabilities and Exposures)에 대한 패치는 제공되지 않거나 CVE가 공개된 지 몇 달 후에 도착하여 해커가 Ingress controller를 공격할 수 있는 충분한 시간을 제공합니다.
  • 최소 지원 또는 없음(Minimal or No Support) – 대부분은 “자체 해결”입니다. 귀하와 문서만 있으면 됩니다. 스스로 해결할 수 없는 문제에 부딪히면 도움을 받는 것이 어렵거나 불가능할 수 있습니다. 유일한 선택은 커뮤니티 포럼에 문제를 게시하고 커뮤니티의 다른 구성원이 해결책을 알고 답변하기를 바라는 것입니다.

요약: 조직에서 처음으로 Kubernetes를 실험하기 시작할 때, 편의와 무료로 빠르게 시작하고 문서를 참고하며 실행할 수 있기 때문에 오픈 소스 Ingress Controller를 선택하는 경우가 많습니다. Low-Volume Production을 시작하거나 테스트하거나 실행할 때 좋은 선택이될 수 있습니다.

2. Default Ingress Controller

많은 Default Ingress Controller가 오픈 소스 기술을 기반으로 하지만 전체 Kubernetes 플랫폼을 제공하고 관리를 지원하는 회사에서 개발 및 유지 관리하기 때문에 별도로 분류합니다. 이 범주의 예로는 퍼블릭 클라우드 Ingress Controller, Rancher 및 Red Hat OpenShift 라우터가 있습니다.

장점(Pros)

  • 무료 또는 낮은 비용(Free or Low Cost) – 낮은 비용은 제품을 사용하는 강력한 이유 중 하나 입니다. 이미 플랫폼에 통합되어 있어 처음 시작할 때 확실히 시간을 절약해 줍니다.
  • 안정적이며 지원이 가능(Reliable and Supported) – 전담 엔지니어팀이 유지 관리하므로 커뮤니티에서 관리하는 Ingress Controller보다 더 안정적일 수 있습니다. 상업적 지원은 일반적으로 포함되거나 추가 비용으로 제공됩니다.

단점(Cons)

  • 인프라 종속(Infrastructure Lock‑In) – Default Ingress Controller는 인프라에 구애받지 않으므로 이러한 Controller나 구성을 클라우드에서 클라우드로 가져올 수 없습니다. 즉, 각 배포 환경마다 서로 다른 Ingress Controller가 필요하므로 도구 Sprawl이 발생하고 팀의 학습량이 증가하며 Ingress Controller의 보안이 더 어려워집니다.
  • 기본 기능(Basic Features) – 일반적으로 대규모 배포에 필요한 고급 트래픽 관리 및 보안 기능이 부족합니다.
  • 예측할 수 없는 비용(Time and Money) – 초기 비용은 없거나 낮지만, 애플리케이션이 성장함에 따라 극적으로 예측할 수 없게 증가할 수 있습니다. 이것은 Ingress Controller의 최소 기능 세트에서 누락된 기능을 애플리케이션에 Build하는 데 시간이 더 필요할 수 있으며, 애플리케이션을 업데이트할 때마다 해당 기능을 회귀 테스트해(Regression‑Test)야 합니다. 일부 기본 도구의 또 다른 단점은 처음에는 요금이 부담이 되지 않아 보이지만 애플리케이션이 대중화됨에 따라 클라우드 요금이 크게 증가한다는 것입니다.

요약: Default Ingress Controller는 Kubernetes를 처음 사용하고 Amazon Elastic Kubernetes Service(EKS), Google Kubernetes Engine(GKE), Microsoft Azure Kubernetes Service(AKS), RancherRed Hat OpenShift Container 플랫폼과 같은 관리형 플랫폼을 사용하는 팀에 널리 사용되는 Controller입니다. 애플리케이션이 성숙해지고 팀이 성장함에 따라 조직에서는 기본 도구를 교체하는 대신 엔터프라이즈급 Ingress Controller를 스택에 추가하는 선택을 하는 경우가 많습니다.

3. Commercial Ingress Controller

이러한 Ingress Controller는 대규모 Production 배포를 지원하도록 설계된 라이선스가 부여 제품입니다. 한 가지 예는 NGINX Ingress Controller의 NGINX Plus 기반 버전을 들 수 있습니다. 이에 대해서는 4부에서 자세히 설명하겠습니다.

장점(Pros)

  • 다양한 기능(Large Feature Set) – Commercial Ingress Controller에는 대규모 배포를 위한 고급 트래픽 관리 및 확장성을 지원하는 강력한 기능이 포함되어 있습니다. WAF 또는 Service Mesh 같은 다른 Product 등급 제품과의 통합이 있을 수 있습니다.
  • 확장 가능(Scalable) – 이러한 옵션은 사용자 지정이나 해결 방법이 필요 없는 “Out of the box” 기능이 더 많은 경향이 있기 때문에 시간을 절약할 수 있다고 생각하는 경우가 많습니다. 자동화 Pipeline에 쉽게 추가하여 필요에 따라 인프라를 확장할 수 있습니다.
  • 안정적이며 지원이 가능(Reliable and Supported) – 상용 제품의 주요 이점 중 하나는 안정적이라는 것입니다. 즉, 필요에 따라 정기적인 소프트웨어 업데이트 및 보안 패치를 통해 각 릴리스에서 광범위하게 테스트됩니다. 완전한 상업적 지원은 일반적으로 다양한 계층에서 제공되므로 중요한 문제가 발생한 후 몇 분 또는 몇 시간 내에 신뢰받는 지원을 받을 수 있습니다.

단점(Cons)

  • 느린 개발(Slower development) – Commercial Ingress Controller의 경우 안정성이 중요하기 때문에 Feature Velocity가 오픈 소스 Controller보다 약간 뒤쳐질 수 있습니다.
  • 비용(Money) – 상용 제품의 현실은 비용이 든다는 것입니다. 비용보다 개발자 주기가 더 많은 조직의 경우 상황이 바뀔 때까지 비용이 문제가 될 수 있습니다.

요약: 조직이 확장됨에 따라 팀과 애플리케이션의 복잡성에 따라 Ingress Controller 선택이 더욱 중요해집니다. 조직이 높은 수준의 복잡성에 도달하면 관리 복잡성을 줄이고 새로운 Product 기능의 시장 출시 시간을 단축할 수 있으므로 Commercial Ingress Controller가 적합합니다.

4. 다음 단계: 옵션 평가

이 단계에서는 일부 Ingress Controller를 사용하여 고객의 요구를 충족할 수 없는 옵션을 제거할 수 있습니다. 높은 수준의 기능 비교를 시작하기에 좋은 한 가지 방법은 learnk8s입니다. 여기에서는 평가한 Ingress Controller의 무료 비교 표를 제공합니다.

Ingress Controller를 조사할 때 많은 옵션이 NGINX를 기반으로 한다는 것을 알게 될 것입니다. NGINX 기반 선택에 대한 개요는 이 시리즈의 마지막 포스트인인 “Ingress Controller 선택 가이드, Part 4: NGINX 입력 컨트롤러 옵션”을 확인하십시오.

솔루션 개요를 확인하고 NGINX Plus Ingress Controller 성능을 직접 테스트 및 사용해 보려면 지금 30일 무료 평가판을 신청하거나 사용 사례에 대해 최신 소식을 빠르게 전달받고 싶으시면 아래 뉴스레터를 구독하세요.