Tanzu CLI 또는 설치 관리자 인터페이스를 사용하여 관리 클러스터를 배포하려면 먼저 vSphere 환경을 준비해야 합니다. vSphere가 일반 요구 사항을 충족하는지 확인하고 Tanzu Kubernetes Grid가 클러스터 노드 VM을 생성하는 기본 이미지 템플릿을 가져와야 합니다. 각 기본 이미지 템플릿에는 시스템 OS 버전과 Kubernetes 버전이 포함되어 있습니다.
kubectl
이 설치되어 있는 시스템. 독립형 관리 클러스터에서 사용할 Tanzu CLI 및 Kubernetes CLI 설치를 참조하십시오.
tanzu
, kubectl
및 기타 명령을 실행하는 부트스트랩 시스템입니다.FailureDomain
및 DeploymentZone
개체를 정의하는 vsphere-zones.yaml
을 생성합니다.
FailureDomain
및 DeploymentZone
개체 생성에 설명된 대로 이 파일을 생성합니다.다음이 있는 vSphere 네트워크*:
VSPHERE_CONTROL_PLANE_ENDPOINT
로 구성하거나 제어부 끝점에 NSX Advanced Load Balancer를 사용하는 경우 주소 풀에서 주소를 자동으로 설정하도록 합니다.CLUSTER_API_SERVER_PORT
를 설정하거나 NSX Advanced Load Balancer가 있는 환경의 경우 VSPHERE_CONTROL_PLANE_ENDPOINT_PORT
변수를 설정합니다.~/.config/tanzu/tkg/bom/
아래에 있으며 이름에는 Tanzu Kubernetes Grid 버전(예: v2.3.1용 tkg-bom-v2.3.1+vmware.1.yaml
)이 포함되어 있습니다.date
명령을 실행하여 표준 시간대 설정을 확인합니다.esxcli system time set
을 실행합니다.NSX ALB를 제어부 HA의 로드 밸런서 및 끝점 제공자로 사용하려는 경우, vSphere 인스턴스에 설치된 ALB(NSX Advanced Load Balancer). NSX Advanced Load Balancer 설치를 참조하십시오.
vSphere 환경이 VMware NSX를 실행하는 경우 관리 클러스터를 배포할 때 NSX 인터페이스를 사용할 수 있습니다. NSX 설정에 DHCP가 사용되도록 설정된 세그먼트가 포함되어 있는지 확인합니다. NTP가 모든 ESXi 호스트, vCenter Server, 부트스트랩 시스템에 구성되어 있는지 확인합니다.
*또는 외부 네트워크 액세스 없이 설치하려면 인터넷 제한 환경 준비를 참조하십시오.
아래 표는 vSphere의 관리 클러스터의 크기 조정 예를 설명합니다. 이 데이터를 참고하여 배포하려는 워크로드 클러스터 수를 처리하도록 관리 클러스터를 확장합니다. 워크로드 클러스터 VM 크기 열에는 관리 가능… 열의 예에 사용된 VM 크기가 나타납니다.
관리 클러스터 계획 | 관리 클러스터 VM 크기 | 관리 가능… | 워크로드 클러스터 VM 크기 |
---|---|---|---|
제어부 노드 3개 및 Worker 노드 3개 | 제어부 노드:
Worker 노드:
|
예:
|
제어부 노드:
Worker 노드:
|
제어부 노드 3개 및 Worker 노드 3개 | 제어부 노드:
Worker 노드:
|
예: 워크로드 클러스터 1개(제어부 3개와 Worker 노드 500개로 배포) | 제어부 노드:
Worker 노드:
|
제어부 노드 3개 및 Worker 노드 3개 | 제어부 노드:
Worker 노드:
|
예: 워크로드 클러스터 200개(각각 제어부 3개와 Worker 노드 5개로 배포) | 제어부 노드:
Worker 노드:
|
자세한 내용은 아래의 클러스터 노드의 최소 VM 크기를 참조하십시오.
vSphere 8에서 vSphere with Tanzu 기능에 Tanzu Kubernetes Grid용 관리 클러스터로 사용할 수 있는 Supervisor가 포함되어 있습니다. 즉, vSphere 8에서는 vSphere with Tanzu 및 Supervisor를 사용하도록 설정된 경우 tanzu management-cluster create
또는 tanzu mc create
를 사용하여 관리 클러스터를 배포할 필요가 없습니다. vSphere with Tanzu를 사용하도록 설정되지 않은 경우 Tanzu Kubernetes Grid 관리 클러스터를 vSphere 8로 배포하는 것은 지원되지만, 가능하면 기본 옵션은 vSphere with Tanzu를 사용하도록 설정하고 기본 제공 Supervisor 클러스터를 사용하는 것입니다. vSphere with Tanzu Supervisor는 vSphere와 긴밀하게 통합되므로 독립형 관리 클러스터를 사용하는 것보다 더 간소화된 사용자 환경을 제공합니다. 그러나 vSphere 독립형 관리 클러스터를 사용하면 Supervisor보다 더 많은 구성 및 사용자 지정 옵션이 제공됩니다.
중요TKG 2.x 및 vSphere 8의 vSphere with Tanzu Supervisor와 호환되는 Tanzu CLI 버전은 vSphere 7의 Supervisor 클러스터와 호환되지 않습니다. vSphere 7의 vSphere with Tanzu Supervisor 클러스터에서 Tanzu CLI를 사용하려면 TKG v1.6의 Tanzu CLI 버전을 사용합니다. Supervisor와 TKG 2.x와 호환되는 Tanzu CLI 버전을 사용하려면 vSphere 8로 업그레이드합니다. vSphere with Tanzu Supervisor 클러스터가 없는 경우 독립형 TKG 2.x 관리 클러스터를 vSphere 7에 배포할 수 있습니다. Tanzu CLI와 VMware 제품 간의 호환성에 대한 자세한 내용은 Tanzu CLI 설명서를 참조하십시오.
Tanzu vSphere CLI는 vSphere with Tanzu에서 제공한 관리 클러스터, 그리고 vSphere with Tanzu가 활성화되지 않은 경우 Azure, AWS(Amazon Web Services), vSphere의 Tanzu Kubernetes Grid에서 배포한 독립 실행형 관리 클러스터 모두에서 작동하므로 하나의 도구를 사용하여 여러 인프라에서 워크로드 클러스터를 배포하고 관리할 수 있습니다. Supervisor에서 Tanzu CLI를 사용하는 방법에 대한 자세한 내용은 Tanzu CLI를 사용하여 TKG 2.3 워크로드 클러스터 생성 및 관리의 Supervisor에 Tanzu CLI 연결을 참조하십시오.
vSphere 8의 vSphere with Tanzu 기능에 대한 자세한 내용은 vSphere with Tanzu 8.0 설명서를 참조하십시오.
참고Azure VMware Solution에서는 Supervisor 클러스터를 생성할 수 없으며 관리 클러스터를 배포하여
tanzu
명령을 실행해야 합니다.
vSphere에 배포하는 각 관리 클러스터 및 클러스터 워크로드에는 클러스터의 API 서버에 대한 외부 요청에 하나의 고정 가상 IP 주소가 필요합니다. 이 IP 주소를 할당할 수 있어야 하므로 DHCP 범위 내에 있을 수 없지만 DHCP 범위와 동일한 서브넷에 있어야 합니다.
클러스터 제어부의 Kube-Vip 포드는 이 고정 가상 IP 주소를 사용하여 API 요청을 처리하고 API 서버 인증서에는 보안 TLS 통신을 사용하도록 설정하는 주소가 포함되어 있습니다. 워크로드 클러스터에서 Kube-Vip는 기본 계층 2 페일오버 모드로 실행되어 한 번에 하나의 제어부 노드에 가상 IP 주소를 할당합니다. 이 모드에서는 Kube-Vip가 제어부 트래픽에 대한 진정한 로드 밸런서로 작동하지 않습니다.
Tanzu Kubernetes Grid는 워크로드 클러스터의 워크로드의 로드 밸런서로 Kube-Vip를 사용할 수 있습니다(기술 미리보기). Kube-VIP는 Windows 기반 클러스터에서 LoadBalancer
서비스로 사용할 수 없습니다. 자세한 내용은 Kube-VIP 로드 밸런서를 참조하십시오.
vSphere 워크로드를 로드 밸런싱하려면 Avi Load Balancer, Essentials Edition이라고도 하는 NSX Advanced Load Balancer를 사용합니다.
중요TKG 독립형 관리 클러스터 및 해당 워크로드 클러스터에서 NSX Advanced Load Balancer를 사용하려면 NSX ALB v22.1.2 이상이 필요합니다.
클러스터를 vSphere에 배포하려면 먼저 클러스터 노드가 실행되는 OS와 Kubernetes 버전이 포함된 기본 이미지 템플릿을 vSphere로 가져와야 합니다. 지원되는 각 OS와 Kubernetes 버전 쌍에 대해 VMware는 클러스터를 vSphere에 배포하기 위해 OVA 형식의 기본 이미지 템플릿을 게시합니다. OVA를 vSphere로 가져온 후에는 최종 VM을 VM 템플릿으로 변환해야 합니다.
클러스터 노드에 지원되는 기본 이미지는 다음과 같이 클러스터 유형에 따라 다릅니다.
관리 클러스터: OVA에는 Tanzu Kubernetes Grid v2.3.1의 기본 버전인 Kubernetes v1.26.8이 있어야 합니다. 따라서, 다음 중 하나여야 합니다.
Ubuntu v20.04 Kubernetes v1.26.8 OVA
참고Tanzu Kubernetes Grid v2.3.1에서 Ubuntu OVA 이미지는 UEFI(Unified Extensible Firmware Interface) 부팅 모드를 사용합니다.
Photon v3 Kubernetes v1.26.8 OVA
빌드 시스템 이미지에 설명된 대로 사용자 지정 TKr(Tanzu Kubernetes 릴리스)이 있는 사용자 지정 OVA.
기본 이미지 템플릿을 vSphere로 가져오려면 다음을 수행합니다.
클러스터 노드용 Tanzu Kubernetes Grid OVA를 다운로드합니다. 관리 클러스터의 경우 Kubernetes v1.26.8 OVA 다운로드 중 하나여야 합니다.
중요보안 패치 릴리스가 있는 경우 가장 최근의 OVA 기본 이미지 템플릿을 다운로드해야 합니다.
Tanzu Kubernetes Grid 제품 다운로드 페이지에서 보안 패치가 포함된 업데이트된 기본 이미지 템플릿을 찾을 수 있습니다.
vSphere Client vCenter Server 인벤토리에서 개체를 마우스 오른쪽 버튼으로 클릭하고 OVF 템플릿 배포를 선택합니다.
설치 관리자 프롬프트에 따라 OVA에서 VM을 배포합니다.
참고씩 프로비저닝을 디스크 형식으로 선택하면 Tanzu Kubernetes Grid가 템플릿에서 클러스터 노드 VM을 생성할 때 각 노드 디스크의 전체 크기가 예약됩니다. 이렇게 하면 많은 클러스터 또는 노드가 많은 클러스터를 배포하는 경우 스토리지가 빠르게 소비됩니다. 그러나 씬 프로비저닝을 선택하면 클러스터를 배포할 때 사용 가능한 스토리지 양에 잘못된 인상을 줄 수 있습니다. 씬 프로비저닝을 선택하면 클러스터를 배포할 때 사용 가능한 스토리지가 충분할 수 있지만, 클러스터가 실행되고 데이터가 누적될 때 스토리지가 부족해질 수 있습니다.
OVA 배포가 완료되면 VM을 마우스 오른쪽 버튼으로 클릭하고 템플릿(Template) > 템플릿으로 변환(Convert to Template)을 선택합니다.
중요템플릿으로 변환하기 전에 VM의 전원을 켜지 마십시오.
VM 및 템플릿(VMs and Templates) 보기에서 새 템플릿을 마우스 오른쪽 버튼으로 클릭하고 사용 권한 추가(Add Permission)를 선택한 다음 TKG
역할이 있는 템플릿에 tkg-user
를 할당합니다.
Tanzu Kubernetes Grid의 사용자와 역할을 생성하는 방법에 대한 자세한 내용은 아래의 vSphere 계정의 필수 사용 권한을 참조하십시오.
OVA 파일을 다운로드한 각 Kubernetes 버전에 이 절차를 반복합니다.
관리 클러스터를 배포할 때 Tanzu Kubernetes Grid에 제공하는 vCenter Single Sign On 계정에는 vSphere에서 필요한 작업을 수행하려면 올바른 사용 권한이 있어야 합니다.
Tanzu Kubernetes Grid에 필요한 것보다 훨씬 더 많은 사용 권한을 제공하기 때문에 Tanzu Kubernetes Grid vSphere 관리자 계정을 제공하는 것은 권장되지 않습니다. Tanzu Kubernetes Grid에 사용 권한을 할당하는 가장 좋은 방법은 역할과 사용자 계정을 생성한 다음 해당 사용자 계정에 vSphere 개체의 역할을 부여하는 것입니다.
참고워크로드 클러스터를 vSphere 7 또는 8에 배포하고 vSphere with Tanzu를 사용하도록 설정한 경우, 아래에 나열된 사용 권한 외에 전역(Global) > 클라우드 관리자(Cloud Admin) 사용 권한을 설정해야 합니다. Velero를 사용하여 워크로드 클러스터를 백업 및 복원하려는 경우 Virtual Disk Development Kit 프로그래밍 가이드의 VMDK 액세스용 자격 증명 및 권한에 있는 사용 권한도 설정해야 합니다.
vSphere Client에서 관리 > 액세스 제어 > 역할로 이동한 후 다음 사용 권한으로 새 역할(예: TKG
)을 생성합니다.
vSphere 개체 | 필수 사용 권한 |
---|---|
CNS | 검색 가능 |
데이터스토어 | 공간 할당 데이터스토어 찾아보기 하위 수준 파일 작업 |
전역(백업 및 복원에 Velero를 사용하는 경우) | 메서드 사용 안 함 메서드 사용 라이센스 |
네트워크 | 네트워크 할당 |
Profile-driven storage | Profile-driven storage 보기 |
리소스 | 리소스 풀에 가상 시스템 할당 |
세션 | 메시지 세션 검증 |
가상 시스템 | 구성 변경 > 기존 디스크 추가 구성 변경 > 새 디스크 추가 구성 변경 > 디바이스 추가 또는 제거 구성 변경 > 고급 구성 구성 변경 > CPU 수 변경 구성 변경 > 메모리 변경 구성 변경 > 설정 변경 구성 변경 > 원시 디바이스 구성 구성 변경 > 외부 가상 디스크 구성 변경 > 디바이스 설정 수정 구성 변경 > 디스크 제거 구성 변경 > 디스크 변경 추적 전환* 인벤토리 편집 > 기존 항목에서 생성 인벤토리 편집 > 제거 상호 작용 > 전원 켜기 상호 작용 > 전원 끄기 프로비저닝 > 읽기 전용 허용 디스크 액세스* 프로비저닝 > 가상 시스템 다운로드 허용* 프로비저닝 > 템플릿 배포 스냅샷 관리 > 스냅샷 생성* 스냅샷 관리 > 스냅샷 제거* *Velero 플러그인을 사용하도록 설정하려면 필요, 관리 및 워크로드 클러스터 인프라 백업 및 복원에 설명. 나중에 필요할 때 이러한 사용 권한을 추가할 수 있습니다. |
vApp | 가져오기 |
관리 > Single Sign On > 사용자 및 그룹에서 적절한 도메인에 새 사용자 계정을 생성합니다(예: tkg-user
).
호스트 및 클러스터에서 VM 및 템플릿, 스토리지, 네트워킹 보기에서 Tanzu Kubernetes Grid 배포에서 사용할 개체를 마우스 오른쪽 버튼으로 클릭하고 사용 권한 추가를 선택한 후 각 개체에 tkg-user
역할을 가진 TKG
를 할당합니다.
관리 및 워크로드 클러스터 복잡성과 예상 요구량에 따라 워크로드 클러스터 노드의 크기를 구성합니다. 미리 정의된 노드 크기에 정의된 대로 small
, medium
, large
또는 extra-large
로 설정할 수 있습니다.
vSphere 모든 클러스터의 경우 SIZE
, CONTROLPLANE_SIZE
, WORKER_SIZE
클러스터 구성 변수를 사용하여 이러한 클러스터를 구성합니다. 또는 더욱 세분화하기 위해 VSPHERE_*
_DISK_GIB
, _NUM_CPUS
, _MEM_MIB
구성 변수를 사용할 수 있습니다.
관리 클러스터의 경우 설치 관리자 인터페이스 인스턴스 유형 필드도 노드 VM 크기를 구성합니다.
샘플 애플리케이션을 실행하는 단일 Worker 관리 및 워크로드 클러스터의 경우 다음과 같은 최소 VM 크기를 사용합니다.
small
medium
Tanzu CLI를 실행하는 시스템의 vSphere에 연결하려면 관리 클러스터를 배포할 때 Tanzu Kubernetes Grid SSH 키 쌍의 공용 키 부분을 제공해야 합니다. CLI를 실행하는 시스템에 아직 CLI가 없는 경우 ssh-keygen
과 같은 도구를 사용하여 키 쌍을 생성할 수 있습니다.
Tanzu CLI를 실행할 시스템에서 다음 ssh-keygen
명령을 실행합니다.
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Enter file in which to save the key (/root/.ssh/id_rsa):
프롬프트에서 Enter 키를 눌러 기본값을 수락합니다.
시스템에서 실행 중인 SSH 에이전트에 개인 키를 추가하고 이전 단계에서 생성한 암호를 입력합니다.
ssh-add ~/.ssh/id_rsa
관리 클러스터를 배포할 때 쉽게 복사하여 붙여 넣을 수 있도록 텍스트 편집기에서 .ssh/id_rsa.pub
파일을 엽니다.
vSphere 환경에서 신뢰할 수 없는 자체 서명된 인증서를 사용하여 연결을 인증하는 경우 관리 클러스터를 배포할 때 vCenter Server 지문을 확인해야 합니다. vSphere 환경에서 알려진 CA(인증 기관)에서 서명한 신뢰할 수 있는 인증서를 사용하는 경우 지문을 확인할 필요가 없습니다.
Web 브라우저의 인증서 뷰어를 사용하여 vSphere 인증서 지문을 가져올 수 있습니다.
URL 필드에서 웹 주소 왼쪽에 있는 보안(Secure)(자물쇠) 아이콘을 클릭하여 인증서 뷰어에 액세스합니다.
다음 단계는 사용하는 브라우저에 따라 다릅니다. 예를 들어 Google Chrome에서는 연결이 안전합니다(Connection is secure) > Certificate가 유효합니다(Certificate is valid)를 선택하여 지문을 포함한 인증서 세부 정보를 확인합니다.
브라우저에서 SHA-1 지문 값을 기록합니다. 각 16진수 쌍 사이에 공백이 포함된 경우 각 공백에 :
문자를 대체합니다(예: 6D:4A:DC:6C:C4:43:73:BB:DF:9A:32:68:67:56:F9:96:02:08:64:F4
.
이 지문 문자열을 사용하여 설치 관리자 인터페이스에서 관리 클러스터를 배포할 때 확인하거나 구성 파일에서 클러스터를 배포할 때 VSPHERE_TLS_THUMBPRINT
옵션에 제공할 수 있습니다.
IPv6 네트워킹 환경에서 IPv6을 지원하는 관리 클러스터를 배포하려면 다음을 수행합니다.
Docker 서비스가 시작될 때 라우팅 테이블에서 기본 IPv6 경로가 제거되지 않도록 라우터 알림을 수락하도록 Linux를 구성합니다. 자세한 내용은 Docker CE가 IPv6 Default 경로를 삭제를 참조하십시오. sudo sysctl net.ipv6.conf.eth0.accept_ra=2
부트스트랩 클러스터에서 송신 트래픽을 전송하는 부트스트랩 클러스터의 가상 규칙을 생성합니다. sudo ip6tables -t nat -A POSTROUTING -s fc00:f853:ccd:e793::/64 ! -o docker0 -j MASQUERADE
가상 규칙에 대한 자세한 내용은 가상을 참조하십시오.
구성 파일에서 관리 클러스터 배포에 설명된 대로 tanzu mc create
를 실행하여 관리 클러스터를 배포합니다.
TKG_IP_FAMILY
및 기타 변수를 설정합니다.독립형 관리 및 워크로드 클러스터를 배포하여 vSphere 여러 AZ(가용성 영역)에서 실행하려면 다음을 수행해야 합니다.
vSphere에서 다음 개체 집합 중 하나를 생성하거나 식별합니다.
vSphere에서 지역 및 AZ 준비에 설명된 대로 객체에 태그를 지정하여 Kubernetes의 지역 및 해당 AZ와 연결합니다.
프로덕션 배포의 경우 클러스터에 ID 관리를 사용하도록 설정하는 것이 좋습니다.
외부 인터넷 연결이 있는 환경에서 Tanzu Kubernetes Grid를 사용하는 경우, ID 관리를 설정하면 관리 클러스터를 vSphere에 배포할 준비가 된 것입니다.