NCP(NSX Container Plugin)는 NSX와 컨테이너 조정기(예: Kubernetes) 사이의 통합과, NSX와 컨테이너 기반 PaaS(Platform As a Service) 제품(예: OpenShift 및 TAS(Tanzu Application Service)) 사이의 통합도 제공합니다. 이 가이드에서는 Kubernetes 및 TAS로 NCP를 설정하는 방법을 설명합니다.

NCP의 주요 구성 요소는 컨테이너에서 실행되며 NSX Manager 및 Kubernetes 제어부와 통신합니다. NCP는 컨테이너 및 기타 리소스에 대한 변경 사항을 모니터링하고, NSX API를 호출하여 컨테이너의 논리적 포트, 스위치, 라우터 및 보안 그룹과 같은 네트워킹 리소스를 관리합니다.

NSX CNI 플러그인은 각 Kubernetes 노드에서 실행됩니다. 컨테이너 수명 주기 이벤트를 모니터링하고, 컨테이너 인터페이스를 게스트 vSwitch에 연결하고, 컨테이너 인터페이스와 VNIC 간에 태그를 지정하고 컨테이너 트래픽을 전달하도록 게스트 vSwitch를 프로그래밍합니다.

NCP는 다음과 같은 기능을 제공합니다.
  • Kubernetes 클러스터에 대한 NSX 논리적 토폴로지를 자동으로 생성하고 각 Kubernetes 네임스페이스에 대해 별도의 논리적 네트워크를 생생합니다.
  • Kubernetes 포드를 논리적 네트워크에 연결하고 IP 및 MAC 주소를 할당합니다.
  • NAT(네트워크 주소 변환)를 지원하고 각 Kubernetes 네임스페이스에 대해 별도의 SNAT IP를 할당합니다.
    참고: NAT를 구성할 때 변환된 IP의 총 수는 1,000개를 초과할 수 없습니다.
  • NSX 분산 방화벽으로 Kubernetes 네트워크 정책을 구현합니다.
    • 수신 및 송신 네트워크 정책에 대한 지원.
    • 네트워크 정책에서 IPBlock 선택기 지원.
    • 네트워크 정책에 레이블 선택기를 지정할 때 matchLabelsmatchExpression 지원.
    • 다른 네임스페이스에 있는 포드의 선택 지원.
  • ClusterIP 유형의 Kubernetes 서비스와 LoadBalancer 유형의 서비스를 구현합니다.
  • NSX 계층 7 로드 밸런서를 사용하여 Kubernetes 수신을 구현합니다.
    • TLS Edge 종료로 HTTP 수신 및 HTTPS 수신 지원.
    • 수신 기본 백엔드 구성 지원.
    • HTTPS로의 리디렉션, 경로 재작성 및 경로 패턴 일치 지원.
  • 네임스페이스, 포드 이름 및 포드의 레이블에 대한 NSX 논리적 스위치 포트에 태그를 생성하고 관리자가 태그를 기반으로 NSX 보안 그룹 및 정책을 정의하도록 허용합니다.
  • 멀티캐스트는 동일한 네임스페이스의 포드 간에 지원되지만 다른 네임스페이스의 포드 간에는 지원되지 않습니다.

NCP는 단일 Kubernetes 클러스터를 지원합니다. 각각 고유의 NCP 인스턴스가 있는 여러 개의 Kubernetes 클러스터를 동일한 NSX 배포를 통해 사용할 수 있습니다.