Antrea Kubernetes 클러스터를 NSX에 등록하기 전에 이 설명서에 설명된 것처럼 몇 가지 사전 필수 작업을 완료해야 합니다.
여러 Antrea Kubernetes 클러스터를 단일 NSX 배포에 등록할 수 있습니다.
Kubernetes 클러스터의 VMware Container Networking™ with Antrea™ 버전이 1.8.0 이상인 경우 작업 1~6 및 작업 9를 수행합니다. 이 설명서에서 작업 7 및 8을 건너뛸 수 있습니다.
Kubernetes 클러스터의 VMware Container Networking™ with Antrea™ 버전이 1.7.0 이하인 경우 작업 1~5, 작업 7~9를 수행합니다. 작업 6은 해당되지 않습니다.
작업 1: NSX에서 적절한 라이센스 추가
개인 설정: NSX 관리자
NSX 환경에는 시스템에 네트워킹 기능에 대한 사용 권한을 부여하는 기본 라이센스와 분산 방화벽 기능에 대한 전체 액세스 권한을 부여하는 보안 라이센스가 있어야 합니다.
사용 가능한 기본 및 보안 라이센스에 대한 자세한 내용은 라이센스 유형 항목을 참조하십시오.
작업 2: Antrea-NSX 상호 작업 어댑터에 대해 필수 포트가 열려 있는지 확인합니다.
Antrea-NSX 상호 작용 어댑터는 Antrea Kubernetes 클러스터에서 포드로 실행되며 이 포드는 호스트 네트워킹 모드를 사용합니다. 포드는 모든 Kubernetes 노드에서 실행되도록 스케줄링할 수 있습니다. 따라서 K8s 노드가 VMware 포트 및 프로토콜 포털(https://ports.esp.vmware.com/home/NSX)에 언급된 포트의 NSX IP 주소에 연결할 수 있는지 확인해야 합니다.
이 링크의 검색 텍스트 상자에 Antrea Interworking Pod를 입력합니다.
작업 3: Antrea Kubernetes 클러스터 배포
개인 설정: Kubernetes 플랫폼 관리자
Antrea 네트워크 플러그인이 있는 Kubernetes 클러스터는 실행 중이고 준비 상태여야 합니다.
- Tanzu 관리 클러스터가 배포되고 클러스터가 실행 중 상태입니다.
- Tanzu Kubernetes 클러스터가 배포되고 클러스터가 실행 중 상태입니다.
- Tanzu CLI(명령줄 인터페이스)가 설치되어 있습니다.
이러한 작업에 대한 자세한 내용은 https://docs.vmware.com/kr/VMware-Tanzu-Kubernetes-Grid/index.html에서 "Tanzu Kubernetes Grid" 설명서를 참조하십시오.
관리 클러스터를 배포하면 Antrea와의 네트워킹이 관리 클러스터에서 자동으로 사용하도록 설정됩니다.
작업 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 플랫폼 관리자
- Broadcom 지원 포털에서 내 다운로드 페이지를 엽니다.
- 오른쪽 상단 모서리에서
을 클릭하고 VMware Cloud Foundation을 선택합니다.
My Downloads 페이지에는 다운로드 권한이 있는 SKU만 표시됩니다.
- VMware Antrea를 클릭한 다음, VMware Antrea Enterprise를 클릭합니다.
- 사용자와 관련된 VMware Container Networking with Antrea 버전을 클릭합니다. Primary Downloads 탭이 열립니다.
- 이 탭 페이지에서 VMware Container Networking with Antrea, NSX Interworking Adapter Image and Deployment Manifests 파일 이름을 검색합니다.
- 이 파일 이름 아래에 언급된 antrea-interworking-version.zip 파일의 버전이 이전에 확인한 Antrea 오픈 소스 소프트웨어 버전과 호환되는지 확인합니다.
예:
- I agree to Broadcom Terms and Conditions 확인란을 선택합니다.
- 다운로드 아이콘을 클릭합니다.
파일 이름 | 설명 |
---|---|
interworking.yaml | Antrea Kubernetes 클러스터를 NSX에 등록하기 위한 YAML 배포 매니페스트 파일 |
bootstrap-config.yaml | 등록에 대해 Antrea Kubernetes 클러스터 이름, NSX Manager IP 주소, Kubernetes 클러스터의 TLS 인증서 및 Kubernetes 클러스터의 개인 키를 비롯한 세부 정보를 지정할 수 있는 YAML 파일 |
bin/antreansxctl | Antrea-NSX 명령줄 유틸리티. 이 유틸리티는 VMware Container Networking 버전 1.7.0 이상의 antrea-interworking.zip 파일에서 사용할 수 있습니다. |
deregisterjob.yaml | Antrea Kubernetes 클러스터를 NSX에서 등록 취소하기 위한 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에서 주체 ID 사용자 계정을 생성하려면 자체 서명된 보안 인증서가 필요합니다. 이 내용은 이 항목의 뒤쪽에 설명되어 있습니다.
OpenSSL 명령을 사용하여 NSX에 등록하려는 각 Antrea Kubernetes 클러스터에 대해 자체 서명된 보안 인증서를 생성합니다.
예를 들어 cluster-sales라는 Antrea Kubernetes 클러스터에 대해 길이가 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는 다른 사용자가 인벤토리 리소스를 실수로 덮어쓰는 것을 방지합니다.
각 Antrea Kubernetes 클러스터에는 다른 PI 사용자가 필요합니다. 클러스터 이름은 NSX에서 고유해야 합니다. 인증서 일반 이름 및 PI 사용자 이름은 클러스터 이름과 동일해야 합니다. NSX는 클러스터 간에 인증서 및 PI 사용자 공유를 지원하지 않습니다.
이전 단계에서 생성한 자체 서명된 인증서로 NSX에서 주체 ID 사용자를 생성합니다. 이 주체 ID 사용자에게 엔터프라이즈 관리자 역할을 할당합니다.
- NSX Manager UI에서 시스템 탭을 클릭합니다.
- 설정 아래에서 으로 이동합니다.
- 를 클릭합니다.
- 주체 ID 사용자의 이름을 입력합니다. 예를 들어 cluster-sales를 입력합니다.
중요: bootstrap-config.yaml 파일에서 NSX 주체 ID 사용자, 인증서 CN, clusterName 인수에 대해 동일한 이름을 지정해야 합니다.
부트스트랩 구성 파일에 대한 자세한 내용은 부트스트랩 구성 파일 편집 항목을 참조하십시오.
- 역할을 엔터프라이즈 관리자로 선택합니다.
- 노드 ID 텍스트 상자에 Antrea Kubernetes 클러스터의 이름을 입력합니다. 이 이름은 NSX에 등록하려는 모든 Kubernetes 클러스터에서 고유해야 합니다. 예를 들어 cluster-sales를 입력합니다.
- 인증서 PEM 텍스트 영역에서 이전에 생성한 자체 서명된 전체 인증서를 붙여넣습니다. -----BEGIN CERTIFICATE---- 및 ------END CERTIFICATE----- 줄도 이 텍스트 상자에 붙여넣습니다.
- 저장을 클릭합니다.
- 왼쪽 탐색 창의 설정 아래에서 인증서를 클릭합니다. Antrea Kubernetes 클러스터의 자체 서명된 인증서가 표시되는지 확인합니다.
작업 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에 등록하려는 각 Antrea Kubernetes 클러스터의 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" 설명서를 참조하십시오.