OPS

nginx-ingress-controller와 nginx-ingress-controller-admission 어떤 사이야?

찻잔속청개구리 2025. 4. 2. 21:40
반응형

inx-ingress-controller와 nginx-ingress-controller-admission은 Kubernetes에서 NGINX Ingress Controller를 배포할 때 생성되는 두 가지 주요 리소스이다. 각각의 역할을 정리하면 다음과 같다.

1. nginx-ingress-controller

  • 실제 Ingress 리소스를 처리하는 컨트롤러 Pod.이다.
  • Ingress 트래픽을 받아서 적절한 백엔드 서비스로 라우팅하는 역할을 한다.
  • Kubernetes의 Ingress 리소스를 감시(watch)하면서 설정을 반영하고, NGINX를 재구성한다.
  • 일반적으로 Deployment 혹은 DaemonSet으로 배포됩니다.

2. nginx-ingress-controller-admission

  • Ingress 리소스를 검증하고 변형(Mutate)할 수 있는 Admission Webhook을 제공한다.
  • Kubernetes의 ValidatingWebhookConfiguration과 MutatingWebhookConfiguration을 활용하여 Ingress 리소스가 적절한지 검증한다.
  • 보안 및 정책 준수를 강화하는 역할을 한다.
  • nginx-ingress-controller와 함께 배포되며, 인증서(Certificate)를 활용한 HTTPS 기반의 Webhook 서버로 동작한다.

3. 이들 간의 관계

  • nginx-ingress-controller는 Ingress 트래픽을 처리하는 핵심 컨트롤러이고, nginx-ingress-controller-admission은 Ingress 리소스의 유효성을 검증하는 보조 역할을 한다.
  • nginx-ingress-controller-admission은 nginx-ingress-controller의 일부 기능을 보완하는 Webhook 서버로, Ingress 리소스가 적용되기 전에 정책 검증을 수행한다.
  • 순서는 이렇다.
    Ingress 리소스가 생성되면, nginx-ingress-controller-admission이 먼저 요청을 검사한 후, 문제가 없으면 nginx-ingress-controller가 이를 적용하여 실제 트래픽을 처리한다.
반응형