CNI(컨테이너 네트워크 인터페이스) 플러그인, OVS(Open vSwitch) 및 NCP Docker 이미지는 OpenShift 노드에 설치해야 합니다. 설치는 Ansible 플레이북을 실행하여 수행됩니다.

참고:

단일 플레이북을 사용하여 NCP와 OpenShift를 설치하는 경우에는 이 단계가 필요하지 않습니다. 단일 플레이북을 사용하여 NCP와 OpenShift 설치의 내용을 참조하십시오.

이 플레이북에는 노드에 대해 NSX-T 리소스를 구성하기 위한 지침이 포함되어 있습니다. NSX-T 리소스 설정에 설명된 대로 NSX-T Data Center 리소스를 수동으로 구성할 수도 있습니다. perform_nsx_config 매개 변수는 플레이북이 실행될 때 리소스를 구성할지 여부를 나타냅니다.

프로시저

  1. roles/ncp_prep/default/main.yamlroles/nsx_config/default/main.yaml에서 매개 변수 값을 업데이트합니다. 여기에는 CNI 플러그인 RPM, OVS 및 해당 커널 모듈 RPM을 다운로드할 수 있는 URL이 포함됩니다. 또한 uplink_port는 노드 VM에 있는 업링크 포트 VNIC의 이름입니다. 나머지 변수는 NSX-T Data Center 관리부 구성과 관련됩니다.

    지정해야 하는 매개 변수:

    • perform_nsx_config: 리소스 구성을 수행할지 여부입니다. 구성을 수동으로 수행하고 nsx_config 스크립트를 실행하지 않으려면 false로 설정합니다.

    • nsx_manager_ip: NSX Manager의 IP입니다.

    • nsx_edge_cluster_name: Tier-0 라우터에서 사용할 Edge 클러스터의 이름입니다.

    • nsx_transport_zone_name: 오버레이 전송 영역의 이름입니다.

    • os_node_name_list: 노드 이름의 쉼표로 구분된 목록입니다.

      예를 들어 node1,node2,node3입니다.

    • subnet_cidr: IP 관리자의 CIDR 주소가 노드의 br-int에 할당됩니다.

    • vc_host: vCenter Server의 IP 주소입니다.

    • vc_user: vCenter Server 관리자의 사용자 이름입니다.

    • vc_password: vCenter Server 관리자의 암호입니다.

    • vms: VM 이름의 쉼표로 구분된 목록입니다. 순서는 os_node_name_list와 일치해야 합니다.

    다음 매개 변수에는 기본값이 있습니다. 필요에 따라 수정할 수 있습니다.

    • nsx_t0_router_name: 클러스터의 Tier-0 논리적 라우터의 이름입니다. 기본값: t0

    • pod_ipblock_name: 포드의 IP 블록 이름입니다. 기본값: podIPBlock

    • pod_ipblock_cidr: 이 IP 블록의 CIDR 주소입니다. 기본값: 172.20.0.0/16

    • snat_ippool_name: SNAT에 대한 IP 블록의 이름입니다. 기본값은 externalIP입니다.

    • snat_ippool_cidr: 이 IP 블록의 CIDR 주소입니다. 기본값: 172.30.0.0/16

    • start_range: 이 IP 풀에 대해 지정된 CIDR의 시작 IP 주소입니다. 기본값: 172.30.0.1

    • end_range: 이 IP 풀에 대해 지정된 CIDR의 끝 IP 주소입니다. 기본값: 172.30.255.254

    • os_cluster_name: OpenShift 클러스터의 이름입니다. 기본값: occl-one

    • nsx_node_ls_name: 노드에 연결된 논리적 스위치의 이름입니다. 기본값: node_ls

    • nsx_node_lr_name: 스위치 node_ls에 대한 논리적 라우터의 이름입니다. 기본값: node_lr

    nsx-config 플레이북은 하나의 IP 풀과 하나의 IP 블록만 생성하도록 지원합니다. 더 필요한 경우 수동으로 생성해야 합니다.

  2. openshift-ansible-nsx 디렉토리로 변경하고 ncp_prep 역할을 실행합니다.
        ansible-playbook -i /PATH/TO/HOSTS/hosts ncp_prep.yaml

결과

플레이북에는 다음 작업을 수행하기 위한 지침이 포함되어 있습니다.

  • CNI 플러그인 설치 파일을 다운로드합니다.

    파일 이름은 nsx-cni-1.0.0.0.0.xxxxxxx-1.x86_64.rpm입니다. 여기서 xxxxxxx는 빌드 번호입니다.

  • CNI 플러그인 설치 파일을 설치합니다.

    플러그인이 /opt/cni/bin에 설치됩니다. CNI 구성 파일 10.net.conf가 /etc/cni/net.d에 복사됩니다. rpm은 루프백 플러그인에 대한 구성 파일 /etc/cni/net.d/99-loopback.conf도 설치합니다.

  • OVS 설치 파일을 다운로드하고 설치합니다.

    파일은 openvswitch-2.9.1.xxxxxxx-1.x86_64.rpmopenvswitch-kmod-2.9.1.xxxxxxx-1.el7.x86_64.rpm입니다. 여기서 xxxxxxx는 빌드 번호입니다.

  • br-int 인스턴스가 아직 생성되지 않은 경우 생성합니다.

        # ovs-vsctl add-br br-int

  • 노드 논리적 스위치에 연결된 네트워크 인터페이스(node-if)를 br-int에 추가합니다.

  • br-intnode-if link 상태가 [실행]인지 확인합니다.

        # ip link set br-int up
        # ip link set <node-if> up

  • 네트워크 구성 파일을 업데이트하여 재부팅 후 네트워크 인터페이스가 작동되도록 합니다.

  • NCP tar 파일을 다운로드하고 tar 파일의 Docker 이미지를 로드합니다.

  • ncp-rbac yaml 파일을 다운로드하고 apiVersionv1으로 변경합니다.

  • NSX-T Data Center에서 논리적 토폴로지와 관련 리소스를 생성하고 NCP에서 인식할 수 있도록 태그를 지정합니다.

  • ncp.iniNSX-T Data Center 리소스 정보로 업데이트합니다.

다음에 수행할 작업

OpenShift Container Platform을 설치합니다. OpenShift Container Platform 설치의 내용을 참조하십시오.