18.3. VMware NSX-T 설치
사전 요구 사항
ESXi 호스트 요구 사항:
OpenShift Container Platform 노드 VM을 호스팅하는 ESXi 서버는 NSX-T 전송 노드여야 합니다.
그림 18.1. 일반적인 고가용성 환경을 위해 전송 노드를 해제하는 NSX UI:
DNS 요구 사항:
-
와일드카드가 있는 DNS 서버에 새 항목을 인프라 노드에 추가해야 합니다. 그러면 NSX-T 또는 기타 타사 LoadBalancer에 의한 로드 밸런싱이 가능합니다. 아래
hosts
파일에서 항목은openshift_master_default_subdomain
변수로 정의합니다. -
openshift_master_cluster_
hostname 및
변수로 DNS 서버를 업데이트해야 합니다.openshift_master_cluster_public_hostname
-
와일드카드가 있는 DNS 서버에 새 항목을 인프라 노드에 추가해야 합니다. 그러면 NSX-T 또는 기타 타사 LoadBalancer에 의한 로드 밸런싱이 가능합니다. 아래
가상 머신 요구 사항:
- OpenShift Container Platform 노드 VM에는 두 개의 vNIC가 있어야 합니다.
- 관리 vNIC는 관리 T1 라우터에 업링크된 논리 스위치에 연결되어 있어야 합니다.
NSX Container Plug-in(NCP)에서 특정 OpenShift Container Platform 노드에서 실행 중인 모든 Pod의 상위 VIF로 사용해야 하는 포트를 알 수 있도록 모든 VM의 두 번째 vNIC에 NSX-T 태그가 지정되어야 합니다. 태그는 다음과 같아야 합니다.
{'ncp/node_name': 'node_name'} {'ncp/cluster': 'cluster_name'}
{'ncp/node_name': 'node_name'} {'ncp/cluster': 'cluster_name'}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 이미지는 모든 노드에 대한 NSX UI의 태그 방법을 보여줍니다. 대규모 클러스터의 경우 API 호출을 사용하거나 Ansible을 사용하여 태깅을 자동화할 수 있습니다.
그림 18.2. NSX UI dislaying 노드 태그
NSX UI의 태그 순서는 API와 반대입니다. 노드 이름은 kubelet과 정확히 동일해야 하며 클러스터 이름은 Ansible 호스트 파일의
nsx_openshift_cluster_name
과 같아야 합니다. 모든 노드의 두 번째 vNIC에 적절한 태그가 적용되었는지 확인합니다.
NSX-T 요구 사항:
NSX에서 다음 사전 요구 사항을 충족해야 합니다.
- Tier-0 라우터.
- 오버레이 전송 영역.
- POD 네트워킹을 위한 IP 블록.
- 선택적으로 라우팅(NoNAT) POD 네트워킹을 위한 IP 블록입니다.
- SNAT용 IP 풀. 기본적으로 Pod 네트워킹 IP 블록에서 프로젝트별로 지정된 서브넷은 NSX-T 내에서만 라우팅할 수 있습니다. NCP는 이 IP 풀을 사용하여 외부에 대한 연결을 제공합니다.
- dFW(Distributed Firewall)의 Top 및 Bottom firewall 섹션(옵션). NCP는 이 두 섹션 사이에 Kubernetes 네트워크 정책 규칙을 배치합니다.
-
Open vSwitch 및 CNI 플러그인 RPM은 OpenShift Container Platform 노드 VM에서 연결할 수 있는 HTTP 서버에서 호스팅해야 합니다(
이
예에서는 http://websrv.example.com). 해당 파일은 NCP Tar 파일에 포함되어 있으며, VMware에서 NSX Container Plug-in 2.4.0 다운로드 에서 다운로드할 수 있습니다.
OpenShift Container Platform 요구사항:
다음 명령을 실행하여 OpenShift Container Platform에 필요한 소프트웨어 패키지를 설치합니다.
ansible-playbook -i hosts openshift-ansible/playbooks/prerequisites.yml
$ ansible-playbook -i hosts openshift-ansible/playbooks/prerequisites.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - NCP 컨테이너 이미지가 모든 노드에서 로컬로 다운로드되었는지 확인합니다.
prerequisites
.yml
플레이북이 실행된 후 모든 노드에서 다음 명령을 실행하여xxx
를 NCP 빌드 버전으로 교체합니다.docker load -i nsx-ncp-rhel-xxx.tar
$ docker load -i nsx-ncp-rhel-xxx.tar
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
docker load -i nsx-ncp-rhel-2.4.0.12511604.tar
$ docker load -i nsx-ncp-rhel-2.4.0.12511604.tar
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이미지 이름을 가져와서 다시 태그를 지정합니다.
docker images docker image tag registry.local/xxxxx/nsx-ncp-rhel nsx-ncp
$ docker images $ docker image tag registry.local/xxxxx/nsx-ncp-rhel nsx-ncp
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
xxx
를 NCP 빌드 버전으로 바꿉니다. 예를 들면 다음과 같습니다.
docker image tag registry.local/2.4.0.12511604/nsx-ncp-rhel nsx-ncp
docker image tag registry.local/2.4.0.12511604/nsx-ncp-rhel nsx-ncp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Container Platform Ansible 호스트 파일에서 다음 매개변수를 지정하여 NSX-T를 네트워크 플러그인으로 설정합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Container Platform 설치 매개변수에 대한 자세한 내용은 인벤토리 파일 구성을 참조하십시오.
절차
모든 사전 요구 사항을 충족한 후 NSX 데이터 센터 및 OpenShift Container Platform을 배포할 수 있습니다.
OpenShift Container Platform 클러스터를 배포합니다.
ansible-playbook -i hosts openshift-ansible/playbooks/deploy_cluster.yml
$ ansible-playbook -i hosts openshift-ansible/playbooks/deploy_cluster.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Container Platform 설치에 대한 자세한 내용은 OpenShift Container Platform 설치를 참조하십시오.
설치가 완료되면 NCP 및 nsx-node-agent Pod가 실행 중인지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow