생태계의 안전과 보안을 최우선으로, Kubernetes SIG Network와 보안 대응 위원회는 Ingress NGINX의 지원 종료를 발표합니다. 최선의 노력을 다하는 유지보수는 2026년 3월까지 계속됩니다. 그 이후에는 추가 릴리스, 버그 수정, 그리고 발견될 수 있는 보안 취약점 해결을 위한 업데이트가 제공되지 않습니다. 기존에 배포된 Ingress NGINX는 계속 작동하며, 설치 아티팩트(artifacts)는 계속 사용할 수 있습니다.
다양한 대안 중 하나로 마이그레이션하는 것을 권장합니다. Ingress의 현대적인 대체재인 Gateway API로 마이그레이션을 고려해 보세요. Ingress를 계속 사용해야 한다면, Kubernetes 문서에 여러 대체 Ingress 컨트롤러가 나열되어 있습니다. Ingress NGINX의 역사와 현재 상태, 그리고 다음 단계에 대한 자세한 내용은 계속 읽어주십시오.
Ingress NGINX에 대하여
Ingress는 Kubernetes에서 실행되는 워크로드로 네트워크 트래픽을 지시하는 원래의 사용자 친화적인 방법입니다. (Gateway API는 동일한 목표 중 많은 부분을 달성하기 위한 새로운 방법입니다.) 클러스터에서 Ingress가 작동하려면 Ingress 컨트롤러가 실행 중이어야 합니다. 다양한 사용자 및 사용 사례의 요구를 충족하는 많은 Ingress 컨트롤러 선택지가 있습니다. 일부는 클라우드 공급업체에 특화되어 있으며, 다른 일부는 더 일반적인 적용 가능성을 가집니다.
Ingress NGINX는 Kubernetes 프로젝트 초기 역사에서 API의 예시 구현으로 개발된 Ingress 컨트롤러였습니다. 이 컨트롤러는 뛰어난 유연성, 광범위한 기능, 그리고 특정 클라우드 또는 인프라 공급업체로부터의 독립성 덕분에 매우 인기를 얻었습니다. 그 이후로 많은 다른 Ingress 컨트롤러들이 커뮤니티 그룹과 클라우드 네이티브 벤더에 의해 Kubernetes 프로젝트 내에서 만들어졌습니다. Ingress NGINX는 여전히 가장 인기 있는 컨트롤러 중 하나로, 많은 호스팅 Kubernetes 플랫폼과 수많은 독립 사용자 클러스터의 일부로 배포되었습니다.
역사 및 당면 과제
Ingress NGINX의 광범위함과 유연성은 유지보수 문제를 야기했습니다. 클라우드 네이티브 소프트웨어에 대한 기대치의 변화 또한 복잡성을 더했습니다. 한때 유용한 옵션으로 간주되었던 것들이 때로는 심각한 보안 결함으로 여겨지게 되었는데, 예를 들어 "snippets" 어노테이션을 통해 임의의 NGINX 구성 지시어를 추가할 수 있는 기능이 그러했습니다. 어제의 유연성은 오늘의 극복할 수 없는 기술 부채가 되었습니다.
사용자들 사이에서 프로젝트의 인기가 높았음에도 불구하고, Ingress NGINX는 항상 불충분하거나 겨우 충분한 수준의 유지보수 인력으로 어려움을 겪었습니다. 수년 동안 프로젝트는 한두 명의 개발자가 근무 시간 외와 주말에 개인 시간을 할애하여 개발 작업을 수행했습니다. 작년에 Ingress NGINX 유지보수 담당자들은 Ingress NGINX를 점진적으로 중단하고 Gateway API 커뮤니티와 함께 대체 컨트롤러를 개발할 계획을 발표했습니다. 불행히도, 그 발표조차도 Ingress NGINX 유지보수를 돕거나 이를 대체할 InGate를 개발하는 데 대한 추가적인 관심을 불러일으키지 못했습니다. (InGate 개발은 성숙한 대체재를 만들 만큼 충분히 진전되지 못했으며, 이 또한 지원 종료될 예정입니다.)
현재 상태 및 다음 단계
현재 Ingress NGINX는 최선의 노력을 다하는 유지보수를 받고 있습니다. SIG Network와 보안 대응 위원회는 Ingress NGINX를 지속 가능하게 만들기 위한 추가 지원을 찾으려는 노력을 모두 소진했습니다. 사용자 안전을 최우선으로 하기 위해 프로젝트를 중단해야 합니다.
2026년 3월, Ingress NGINX 유지보수는 중단될 것이며, 프로젝트는 지원 종료됩니다. 그 이후에는 추가 릴리스, 버그 수정, 그리고 발견될 수 있는 보안 취약점 해결을 위한 업데이트가 제공되지 않습니다. GitHub 저장소는 읽기 전용으로 전환되며 참조용으로 계속 사용할 수 있습니다.
기존에 배포된 Ingress NGINX는 중단되지 않을 것입니다. Helm 차트 및 컨테이너 이미지와 같은 기존 프로젝트 아티팩트는 계속 사용할 수 있습니다.
대부분의 경우, 클러스터 관리자 권한으로 kubectl get pods \--all-namespaces \--selector app.kubernetes.io/name=ingress-nginx 명령을 실행하여 Ingress NGINX를 사용하는지 확인할 수 있습니다.
Ingress NGINX를 만들고 유지보수해 주신 모든 담당자들께 감사드립니다. 그들의 헌신은 여전히 인상적입니다. 이 Ingress 컨트롤러는 전 세계 데이터센터와 홈랩에서 수십억 건의 요청을 처리했습니다. 여러모로 Ingress NGINX가 없었다면 Kubernetes는 지금의 모습이 될 수 없었을 것이며, 수년간의 놀라운 노력에 감사드립니다.
SIG Network와 보안 대응 위원회는 모든 Ingress NGINX 사용자가 즉시 Gateway API 또는 다른 Ingress 컨트롤러로 마이그레이션을 시작할 것을 권장합니다. 많은 옵션이 Kubernetes 문서에 나열되어 있습니다: Gateway API, Ingress. 함께 작업하는 벤더로부터 추가 옵션을 얻을 수도 있습니다.