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 관리 클러스터가 배포되고 클러스터가 실행 중 상태입니다.
- Tanzu Kubernetes 클러스터가 배포되고 클러스터가 실행 중 상태입니다.
- Tanzu CLI(명령줄 인터페이스)가 설치되어 있습니다.
이러한 작업에 대한 자세한 내용은 https://docs.vmware.com/kr/VMware-Tanzu-Kubernetes-Grid/index.html에서 "Tanzu Kubernetes Grid" 설명서를 참조하십시오.
관리 클러스터를 배포하면 Antrea와의 네트워킹이 관리 클러스터에서 자동으로 사용하도록 설정됩니다.
작업 3: NSX-T Data Center에서 적절한 라이센스 추가
개인 설정: NSX 관리자
- NSX Data Center Advanced
- NSX Data Center Enterprise Plus
- Antrea Enterprise Standalone
- NSX Manager에서 로 이동합니다.
- 라이센스 키를 입력합니다.
작업 4: Kubernetes 클러스터에서 Antrea 버전 확인
개인 설정: Kubernetes 플랫폼 관리자
이 항목의 다음 사전 요구 사항인 Antrea-NSX Interworking 파일(antrea-interworking-version.zip)을 다운로드하기 전에 Kubernetes 클러스터에서 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.* |
- 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입니다.
- 다음 명령을 실행하여 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 플랫폼 관리자
- 웹 브라우저에서 VMware Customer Connect 포털의 모든 다운로드 페이지를 열고 VMware ID로 로그인합니다.
- 모든 제품 드롭다운 메뉴에서 네트워킹 및 보안을 선택합니다.
- VMware Antrea 옆에 있는 제품 다운로드를 클릭합니다. VMware Antrea 다운로드 페이지가 열립니다.
- 사용자에게 적절한 Antrea가 있는 VMware Container Networking 버전 옆에 있는 다운로드로 이동을 클릭합니다.
- 페이지에서 Antrea-NSX Interworking 어댑터 이미지 및 매니페스트 번들을 찾습니다. 추가 정보를 클릭하고 antrea-interworking-version.zip 파일에 언급된 버전이 이전에 확인한 Antrea 오픈 소스 소프트웨어 버전과 호환되는지 확인합니다.
- 지금 다운로드를 클릭합니다.
파일 이름 | 설명 |
---|---|
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 관리자
- 자체 서명된 인증서 생성
- 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
작업 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 컨테이너 클러스터에 대해 고유합니다.
- NSX Manager UI에서 시스템 탭을 클릭합니다.
- 설정 아래에서 으로 이동합니다.
- 를 클릭합니다.
- 주체 ID 사용자의 이름을 입력합니다. 예를 들어 cluster-sales를 입력합니다.
중요: bootstrap-config.yaml 파일에서 NSX 주체 ID 사용자, 인증서 CN, clusterName 인수에 대해 동일한 이름을 지정해야 합니다.
부트스트랩 구성 파일에 대한 자세한 내용은 부트스트랩 구성 파일 편집 항목을 참조하십시오.
- 역할을 엔터프라이즈 관리자로 선택합니다.
- 노드 ID 텍스트 상자에 Antrea 컨테이너 클러스터의 이름을 입력합니다. 이 이름은 NSX-T에 등록하려는 모든 컨테이너 클러스터에서 고유해야 합니다. 예를 들어 cluster-sales를 입력합니다.
- 인증서 PEM 텍스트 영역에서 이전에 생성한 자체 서명된 전체 인증서를 붙여넣습니다. -----BEGIN CERTIFICATE---- 및 ------END CERTIFICATE----- 줄도 이 텍스트 상자에 붙여넣습니다.
- 저장을 클릭합니다.
- 왼쪽 탐색 창의 설정 아래에서 인증서를 클릭합니다. 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.yaml 및 deregisterjob.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" 설명서를 참조하십시오.