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

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