NCP(NSX-T Container Plug-in)는 Docker 이미지로 제공됩니다. NCP는 인프라 서비스용 노드에서 실행되어야 합니다. 마스터 노드에서 NCP를 실행하는 것은 권장되지 않습니다.

프로시저

  1. NCP Docker 이미지를 다운로드합니다.

    파일 이름은 nsx-ncp-xxxxxxx.tar입니다. 여기서 xxxxxxx는 빌드 번호입니다.

  2. NCP ReplicationController yaml 템플릿을 다운로드합니다.

    파일 이름은 ncp-rc.yml입니다. 이 파일을 편집하거나 템플릿 파일의 예제로 사용할 수 있습니다.

  3. NCP Docker 이미지를 이미지 레지스트리에 로드합니다.
        docker load -i <tar file>
  4. ncp-rc.yml을 편집합니다.

    노드 유형을 베어메탈로 설정합니다.

    [coe]
    node_type = ‘BAREMETAL’

    이미지 이름을 로드된 이미지로 변경합니다.

    nsx_api_managers 매개 변수를 지정합니다. 이 릴리스는 단일 Kubernetes 노드 클러스터 및 단일 NSX Manager 인스턴스를 지원합니다. 예:

        nsx_api_managers = 192.168.1.180

    (선택 사항) [nsx_v3] 섹션에 매개 변수 ca_file을 지정합니다. 이 값은 NSX Manager 서버 인증서를 확인하는 데 사용할 CA 번들 파일이어야 합니다. 설정하지 않으면 시스템 루트 CA가 사용됩니다.

    NSX-T Data Center에 대한 인증을 위해 매개 변수 nsx_api_cert_filensx_api_private_key_file을 지정합니다.

    nsx_api_cert_file은 PEM 형식의 클라이언트 인증서 파일에 대한 전체 경로입니다. 이 파일의 내용은 다음과 같아야 합니다.

        -----BEGIN CERTIFICATE-----
        <certificate_data_base64_encoded>
        -----END CERTIFICATE-----

    nsx_api_private_key_file은 PEM 형식의 클라이언트 개인 키 파일에 대한 전체 경로입니다. 이 파일의 내용은 다음과 같아야 합니다.

        -----BEGIN PRIVATE KEY-----
        <private_key_data_base64_encoded>
        -----END PRIVATE KEY-----

    수신 컨트롤러가 NAT 모드에서 실행되도록 구성되어 있는 경우 매개 변수 ingress_mode = nat를 지정합니다.

    기본적으로 서브넷 접두사 24는 포드 논리적 스위치의 IP 블록에서 할당된 모든 서브넷에 사용됩니다. 다른 서브넷 크기를 사용하려면 [nsx_v3] 섹션에서 subnet_prefix 옵션을 업데이트합니다.

    참고:

    yaml 파일에서 ncp.ini에 대해 생성된 ConfigMap이 ReadOnly 볼륨으로 마운트되도록 지정해야 합니다. 다운로드한 yaml 파일은 이미 이 사양을 가지며 변경해서는 안 됩니다.

  5. NCP ReplicationController를 생성합니다.
        kubectl create -f ncp-rc.yml

결과

참고:

NCP가 Kubernetes API 서버에 대한 영구 HTTP 연결을 열어 Kubernetes 리소스의 수명주기 이벤트를 모니터링합니다. API 서버 장애 또는 네트워크 장애로 인해 NCP의 TCP 연결 문제가 발생하는 경우 NCP를 다시 시작하여 API 서버에 대한 연결을 다시 설정해야 합니다. 그러지 않으면 NCP가 새 이벤트를 확인하지 못합니다.

NCP ReplicationController의 롤링 업데이트 중에는 컨테이너 호스트를 재부팅하지 마십시오. 호스트를 재부팅하면 재부팅 후에 NCP 포드 2개가 실행될 수 있습니다. 이 경우 다음을 수행합니다.

  • NCP 포드 중 하나를 삭제합니다. 어느 것을 삭제하든 관계없습니다. 예를 들면 다음과 같습니다.

    oc delete pods <NCP pod name> -n nsx-system
  • 네임스페이스 nsx-system을 삭제합니다. 예를 들면 다음과 같습니다.

    oc delete -f ncp-rc.yml -n nsx-system