피드로 돌아가기
Dev.toDevOps
원문 읽기
Kubernetes 생태계가 ingress-nginx 폐기에 따른 자동 TLS 관리 공백을 Gateway API v1.5의 ListenerSets으로 해결하면서 중앙 집중식 제어에서 분산형 선언적 API 기반 관리로 전환
Implementing Self-Service TLS in Kubernetes Post-Ingress-Nginx: A Gateway API v1.5 Solution
AI 요약
Context
ingress-nginx 폐기로 Kubernetes 클러스터의 자동 TLS 관리 능력이 상실되었다. ingress-nginx는 어노테이션 기반의 단일 컨트롤러에 의존했기 때문에 중앙 집중식 병목이 발생했고, 인증서 오구성 위험과 운영 효율성 저하 문제가 야기되었다.
Technical Solution
- TLS 인증서 관리 방식 변경: Kubernetes Secrets 기반 선언적 API로 정의하고 Listener에서 참조하는 구조 도입
- 다중 Listener 통합: 포트/프로토콜별 Listener들이 공통 TLS 설정을 공유하도록 아키텍처 재설계
- Gateway API 검증 메커니즘 적용: Secret 참조 시점에 자동 검증으로 런타임 오류 및 보안 취약점 사전 차단
- 자동 인증서 로테이션: Kubernetes Secrets 관리를 통해 zero-downtime 업데이트 지원
- 분산형 책임 모델: 중앙 통제점 제거로 팀별 자율성 확보하되 Gateway API 검증으로 일관성 유지
Key Takeaway
ListenerSets는 팀 자율성과 중앙 검증을 결합한 하이브리드 모델로, ingress-nginx의 단일 컨트롤러 병목을 제거하면서도 cluster-wide 보안 일관성을 보장한다.
실천 포인트
Kubernetes 클러스터에서 ingress-nginx 대체를 검토 중인 팀은 Gateway API v1.5의 ListenerSets을 도입하여 TLS 인증서 오구성(ConflictingSecretReference 에러, 부분 로테이션 시 버전 불일치 등)을 선언적 검증으로 예방하고, gateway_tls_certificate_expiration_seconds Prometheus 메트릭 모니터링 및 Cert-Manager 통합으로 인증서 만료 시 자동 갱신을 보장할 수 있다.