Antrea 컨테이너 클러스터를 NSX-T Data Center에 등록하기 전에 몇 가지 사전 필수 작업을 완료해야 합니다.

여러 Antrea 컨테이너 클러스터를 단일 NSX-T Data Center 배포에 등록할 수 있습니다.

컨테이너 클러스터의 VMware Container Networking™ with Antrea™ 버전이 1.8.0 이상인 경우 작업 1~6 및 작업 9를 수행합니다. 이 설명서에서 작업 7 및 8을 건너뛸 수 있습니다.

컨테이너 클러스터의 VMware Container Networking™ with Antrea™ 버전이 1.7.0 이하인 경우 작업 1~5, 작업 7~9를 수행합니다. 작업 6은 해당되지 않습니다.

작업 1: Antrea-NSX 상호 작업 어댑터에 대해 필수 포트가 열려 있는지 확인합니다.

Antrea-NSX 상호 작용 어댑터는 Antrea 컨테이너 클러스터에서 포드로 실행되며 이 포드는 호스트 네트워킹 모드를 사용합니다. 포드는 모든 컨테이너 클러스터 노드에서 실행되도록 스케줄링할 수 있습니다. 따라서 클러스터 노드가 VMware 포트 및 프로토콜 포털(https://ports.esp.vmware.com/home/NSX)에 언급된 포트의 NSX-T Data Center IP 주소에 연결할 수 있는지 확인해야 합니다.

이 링크의 검색 텍스트 상자에 Antrea Interworking Pod를 입력합니다.

작업 2: Antrea 컨테이너 클러스터 배포

개인 설정: Kubernetes 플랫폼 관리자

Antrea 네트워크 플러그인이 있는 Kubernetes 클러스터는 실행 중이고 준비 상태여야 합니다.

예를 들어 Tanzu Kubernetes Grid 인스턴스의 클러스터를 NSX-T Data Center에 통합하려면 다음 작업이 완료되었는지 확인합니다.
  • Tanzu 관리 클러스터가 배포되고 클러스터가 실행 중 상태입니다.
  • Tanzu Kubernetes 클러스터가 배포되고 클러스터가 실행 중 상태입니다.
  • Tanzu CLI(명령줄 인터페이스)가 설치되어 있습니다.

이러한 작업에 대한 자세한 내용은 https://docs.vmware.com/kr/VMware-Tanzu-Kubernetes-Grid/index.html에서 "Tanzu Kubernetes Grid" 설명서를 참조하십시오.

관리 클러스터를 배포하면 Antrea와의 네트워킹이 관리 클러스터에서 자동으로 사용하도록 설정됩니다.

참고: networkPolicyOnly 모드의 Antrea CNI도 지원됩니다. 자세한 내용은 " Antrea가 있는 VMware Container Networking 설치 가이드" 의 networkPolicyOnly 모드에서 Antrea가 있는 VMware Container Networking 설치에 대한 설명서를 참조하십시오.

작업 3: NSX-T Data Center에서 적절한 라이센스 추가

개인 설정: NSX 관리자

NSX-T Data Center 환경에 다음 라이센스 중 하나가 있는지 확인합니다.
  • NSX Data Center Advanced
  • NSX Data Center Enterprise Plus
  • Antrea Enterprise Standalone
라이센스를 추가하려면 다음을 수행합니다.
  1. NSX Manager에서 시스템 > 라이센스 > 라이센스 추가로 이동합니다.
  2. 라이센스 키를 입력합니다.

작업 4: Kubernetes 클러스터에서 Antrea 버전 확인

개인 설정: Kubernetes 플랫폼 관리자

이 항목의 다음 사전 요구 사항인 Antrea-NSX Interworking 파일(antrea-interworking-version.zip)을 다운로드하기 전에 Kubernetes 클러스터에서 Antrea 오픈 소스 버전을 결정해야 합니다.

중요:VMware Container Networking™ with Antrea™ 릴리스는 하나의 Antrea 오픈 소스 버전을 기준으로 합니다. Antrea- NSX Interworking 버전은 동일한 VMware Container Networking 릴리스의 Antrea 오픈 소스 소프트웨어 버전과 유사합니다.

예제를 보려면 다음 표를 참조하십시오.

이 표에 모든 VMware Container Networking 버전 및 Antrea NSX 상호 작업 버전이 모두 포함되지는 않습니다. 전체 목록은 https://docs.vmware.com/kr/VMware-Container-Networking-with-Antrea/index.html에서 VMware Container Networking™ with Antrea™ 릴리스 정보를 참조하십시오.

VMware Container Networking 버전 Antrea OSS 버전 기반 Antrea-NSX Interworking 버전과 호환

v1.5.0

v1.5.0 릴리스 정보를 참조하십시오.

v1.7.1

v0.7.*

v1.4.0

v1.4.0 릴리스 정보를 참조하십시오.

v1.5.2

v0.5.*

v1.3.1

v1.3.1-1.2.3 릴리스 정보를 참조하십시오.

v1.2.3

v0.2.*

Kubernetes 클러스터에서 Antrea 오픈 소스 버전을 확인하려면 다음 단계를 수행합니다.
  1. Antrea 컨트롤러 포드 이름을 확인합니다. Kubernetes는 임의의 문자열로 이 이름을 생성하므로 K8s 클러스터에서 이름을 가져올 수 있습니다.

    예:

    $ kubectl get pod -n kube-system -l component=antrea-controller
    NAME                                 READY   STATUS    RESTARTS   AGE
    antrea-controller-6b8cb7cd59-wcjvd   1/1     Running   0          13d

    이 명령 출력에서 Antrea 컨트롤러 포드 이름은 antrea-controller-6b8cb7cd59-wcjvd입니다.

  2. 다음 명령을 실행하여 Antrea 오픈 소스 버전을 검색합니다.
    $ kubectl exec -it antrea-controller-6b8cb7cd59-wcjvd -n kube-system -- antctl version
    antctlVersion: v1.7.1-cacafc0
    controllerVersion: v1.7.1-cacafc0

    이 명령 출력에서 v1.7.1은 확인하려는 Antrea 오픈 소스 버전입니다.

작업 5: Antrea-NSX Interworking Zip 파일 다운로드

개인 설정: Kubernetes 플랫폼 관리자

다음 단계를 완료하여 antrea-interworking-version.zip 파일을 다운로드합니다.
  1. 웹 브라우저에서 VMware Customer Connect 포털의 모든 다운로드 페이지를 열고 VMware ID로 로그인합니다.
  2. 모든 제품 드롭다운 메뉴에서 네트워킹 및 보안을 선택합니다.
  3. VMware Antrea 옆에 있는 제품 다운로드를 클릭합니다. VMware Antrea 다운로드 페이지가 열립니다.
  4. 사용자에게 적절한 Antrea가 있는 VMware Container Networking 버전 옆에 있는 다운로드로 이동을 클릭합니다.
  5. 페이지에서 Antrea-NSX Interworking 어댑터 이미지 및 매니페스트 번들을 찾습니다. 추가 정보를 클릭하고 antrea-interworking-version.zip 파일에 언급된 버전이 이전에 확인한 Antrea 오픈 소스 소프트웨어 버전과 호환되는지 확인합니다.
  6. 지금 다운로드를 클릭합니다.
ZIP 파일을 추출합니다. 다음 파일이 포함되어 있습니다.
파일 이름 설명
interworking.yaml Antrea 컨테이너 클러스터를 NSX-T에 등록하기 위한 YAML 배포 매니페스트 파일
bootstrap-config.yaml 등록에 대해 Antrea 컨테이너 클러스터 이름, NSX Manager IP 주소, 컨테이너 클러스터의 TLS 인증서 및 컨테이너 클러스터의 개인 키를 비롯한 세부 정보를 지정할 수 있는 YAML 파일
bin/antreansxctl Antrea-NSX 명령줄 유틸리티. 이 유틸리티는 VMware Container Networking 버전 1.7.0 이상의 antrea-interworking.zip 파일에서 사용할 수 있습니다.
deregisterjob.yaml Antrea 컨테이너 클러스터를 NSX-T에서 등록 취소하기 위한 YAML 매니페스트 파일
ns-label-webhook.yaml 새로 생성된 Kubernetes 네임스페이스에 레이블을 자동으로 추가하기 위한 Webhook 정의입니다. 이 YAML 파일은 Kubernetes 버전이 1.20 이하일 때만 사용됩니다.
interworking-version.tar 관리부 어댑터중앙 제어부 어댑터의 컨테이너 이미지에 대한 아카이브 파일

작업 6: antreansxctl 부트스트랩 명령 실행

개인 설정: NSX 관리자

컨테이너 클러스터의 VMware Container Networking™ with Antrea™ 버전이 1.8.0 이상인 경우 antreansxctl bootstrap 명령을 실행하여 등록 프로세스에서 다음과 같은 사전 요구 작업을 자동화할 수 있습니다.
  • 자체 서명된 인증서 생성
  • PI(주체 ID) 사용자 생성
  • 부트스트랩 구성(bootstrap-config.yaml) 생성
    참고: antreansxctl 명령줄 유틸리티에 내장된 bootstrap-config.yaml 템플릿은 현재 상호 작업 릴리스와 호환됩니다. 명령줄 유틸리티는 실행할 antrea-interworking.zip 파일의 bootstrap-config.yaml 파일에 의존하지 않습니다.

antreansxctl bootstrap 명령을 실행하려면 antreansxctl 명령줄 유틸리티를 사용합니다. 이 유틸리티는 이전에 다운로드한 antrea-interworking.zip 파일에서 찾을 수 있습니다.

antreansxctl 유틸리티는 Linux 전용 실행 파일입니다. 따라서 이 유틸리티를 실행하려면 Linux 시스템이 필요합니다.

antreansxctl bootstrap 명령의 사용법 및 다양한 구성 옵션에 대한 자세한 내용은 "VMware Container Networking with Antrea 설치 가이드" 에서 antreansxctl 명령줄 설명서를 참조하십시오.

작업 7: 자체 서명된 보안 인증서 생성

개인 설정: NSX 관리자

NSX-T에서 주체 ID 사용자 계정을 생성하려면 자체 서명된 보안 인증서가 필요합니다. 이 내용은 이 항목의 뒤쪽에 설명되어 있습니다.

OpenSSL 명령을 사용하여 NSX-T에 등록하려는 각 Antrea 컨테이너 클러스터에 대해 자체 서명된 보안 인증서를 생성합니다.

예를 들어 cluster-sales라는 Antrea 컨테이너 클러스터에 대해 길이가 2048비트인 자체 서명된 OpenSSL 인증서를 생성한다고 가정합니다. 다음 OpenSSL 명령은 이 클러스터에 대한 개인 키 파일, 인증서 서명 요청 파일 및 자체 서명된 인증서 파일을 생성합니다.

openssl genrsa -out cluster-sales-private.key 2048
openssl req -new -key cluster-sales-private.key -out cluster-sales.csr -subj "/C=US/ST=CA/L=Palo Alto/O=VMware/OU=Antrea Cluster/CN=cluster-sales"
openssl x509 -req -days 3650 -sha256 -in cluster-sales.csr -signkey cluster-sales-private.key -out cluster-sales.crt
참고: .csr 파일을 생성하는 데 사용하는 openssl req 명령에서 CN(일반 이름)이 각 Antrea 컨테이너 클러스터에 대해 서로 다른지 확인합니다.

작업 8: 주체 ID 사용자 생성

개인 설정: NSX 관리자

관리부 어댑터중앙 제어부 어댑터에서 PI(주체 ID) 사용자 계정을 사용하여 NSX Manager에서 인증을 받고 자신을 주체 ID로 식별합니다. PI 사용자는 어댑터가 보고하는 인벤토리 리소스를 소유합니다. NSX-T는 다른 사용자가 인벤토리 리소스를 실수로 덮어쓰는 것을 방지합니다.

Antrea 컨테이너 클러스터에는 다른 PI 사용자가 필요합니다. 클러스터 이름은 NSX-T에서 고유해야 합니다. 인증서 일반 이름 및 PI 사용자 이름은 클러스터 이름과 동일해야 합니다. NSX-T는 클러스터 간에 인증서 및 PI 사용자 공유를 지원하지 않습니다.

이전 단계에서 생성한 자체 서명된 인증서로 NSX-T에서 주체 ID 사용자를 생성합니다. 이 주체 ID 사용자에게 엔터프라이즈 관리자 역할을 할당합니다. 주체 ID 사용자는 Antrea 컨테이너 클러스터에 대해 고유합니다.

주체 ID 사용자를 생성하려면 다음을 수행합니다.
  1. NSX Manager UI에서 시스템 탭을 클릭합니다.
  2. 설정 아래에서 사용자 관리 > 사용자 역할 할당으로 이동합니다.
  3. 추가 > 역할을 가진 주체 ID를 클릭합니다.
  4. 주체 ID 사용자의 이름을 입력합니다. 예를 들어 cluster-sales를 입력합니다.
    중요: bootstrap-config.yaml 파일에서 NSX 주체 ID 사용자, 인증서 CN, clusterName 인수에 대해 동일한 이름을 지정해야 합니다.

    부트스트랩 구성 파일에 대한 자세한 내용은 부트스트랩 구성 파일 편집 항목을 참조하십시오.

  5. 역할을 엔터프라이즈 관리자로 선택합니다.
  6. 노드 ID 텍스트 상자에 Antrea 컨테이너 클러스터의 이름을 입력합니다. 이 이름은 NSX-T에 등록하려는 모든 컨테이너 클러스터에서 고유해야 합니다. 예를 들어 cluster-sales를 입력합니다.
  7. 인증서 PEM 텍스트 영역에서 이전에 생성한 자체 서명된 전체 인증서를 붙여넣습니다. -----BEGIN CERTIFICATE---- 및 ------END CERTIFICATE----- 줄도 이 텍스트 상자에 붙여넣습니다.
  8. 저장을 클릭합니다.
  9. 왼쪽 탐색 창의 설정 아래에서 인증서를 클릭합니다. Antrea 컨테이너 클러스터의 자체 서명된 인증서가 표시되는지 확인합니다.

작업 9: Container Registry로 컨테이너 이미지 가져오기

개인 설정: Kubernetes 플랫폼 관리자

이 필수 작업을 수행하는 방법은 두 가지입니다.

방법 1(권장): VMware Harbor Registry에서 이미지를 끌어오기

VMware는 VMware Harbor Registry에서 컨테이너 이미지를 호스팅했습니다.

이미지 위치는 다음과 같습니다.
  • projects.registry.vmware.com/antreainterworking/interworking-debian:version
  • projects.registry.vmware.com/antreainterworking/interworking-ubuntu:version
  • projects.registry.vmware.com/antreainterworking/interworking-photon:version

version 정보는 https://docs.vmware.com/kr/VMware-Container-Networking-with-Antrea/index.html에서 "Antrea를 사용한 VMware Container Networking" 릴리스 정보를 참조하십시오.

선택한 텍스트 편집기에서 interworking.yamlderegisterjob.yaml 파일을 열고 모든 이미지 URL을 이러한 이미지 위치 중 하나로 바꿉니다.

이 방법의 장점은 컨테이너 클러스터를 등록하기 위해 .yaml 파일을 Kubernetes API 서버에 제출하면 Kubernetes가 컨테이너 이미지를 VMware Harbor Registry에서 자동으로 끌어올 수 있다는 것입니다.

방법 2: 이미지를 Kubernetes 작업자 노드 및 제어부 노드에 수동으로 복사

Kubernetes 인프라에 인터넷 연결이 없거나 연결 속도가 너무 느리면 이 수동 접근 방식을 사용합니다.

interworking-version.tar 파일에서 컨테이너 이미지를 추출한 후 NSX-T에 등록하려는 각 Antrea 컨테이너 클러스터의 Kubernetes 작업자 노드 및 제어부 노드에 복사합니다.

예를 들어 Tanzu CLI에서 각 Kubernetes 작업자 노드 IP 및 제어부 노드 IP에 대해 다음 명령을 실행하여 .tar.yaml 파일을 복사합니다.
scp -o StrictHostKeyChecking=no interworking* capv@{node-ip}:/home/capv

이미지를 컨테이너 런타임 엔진에 의해 관리되는 로컬 Kubernetes 레지스트리로 가져옵니다. 또는 조직에 개인 컨테이너 레지스트리가 있는 경우 컨테이너 이미지를 개인 컨테이너 레지스트리로 가져올 수 있습니다.

예를 들어 Tanzu CLI에서 각 Kubernetes 작업자 노드 IP 및 제어부 노드 IP에 대해 다음 명령을 실행하여 컨테이너 이미지를 로컬 Kubernetes 레지스트리로 가져옵니다.

ssh capv@{node-ip} sudo ctr -n=k8s.io i import interworking-{version-id}.tar

이 접근 방식이 NAT가 구성된 Tanzu 환경의 vSphere에서 작동하려면 점프 호스트 VM에서 SCP 및 SSH 명령을 실행하여 Tanzu Kubernetes 클러스터 노드에 연결해야 합니다. Linux 점프 호스트 VM을 생성하고 클러스터 노드에 대한 SSH 연결을 설정하는 방법에 대한 자세한 내용은 https://docs.vmware.com/kr/VMware-vSphere/index.html에서 "vSphere with Tanzu" 설명서를 참조하십시오.