ClusterClass 기반 클러스터에 대한 노드 풀 구성

다른 tanzu 명령을 사용하는 것과는 달리 ClusterClass 정의를 사용하는 클러스터에 tanzu cluster node-pool 명령을 사용할 때의 동작에는 차이가 있습니다. ClusterClass 기반 클러스터에 작동할 때 이러한 모든 API가 공통적으로 갖는 한 가지는 클러스터, 특히 클러스터 토폴로지 업데이트의 필요성입니다.

tanzu cluster node-pool delete

tanzu cluster node-pool delete 명령은 가장 간단한 변경 사항입니다. 클러스터 리소스가 업데이트되어 삭제 API에 전달된 노드 풀의 이름으로 시스템 배포의 정의를 제거합니다. API는 클러스터의 최종 노드 풀 삭제를 계속 금지합니다.

tanzu cluster node-pool delete tkg-wc-vsphere -n md–0

tanzu cluster node-pool list

tanzu cluster node-pool list 명령은 계획 기반 클러스터 사례와 동일한 방식으로 MachineDeployment 리소스를 검색하고 이러한 리소스를 클러스터 토폴로지의 시스템 배포와 일치합니다. 이를 통해 tanzu cluster node-pool list 명령은 업데이트된 이름의 동일한 MachineDeployment 리소스를 클러스터 토폴로지에서 정의된 시스템 배포와 일치시킬 수 있습니다.

tanzu cluster node-pool list tkg-wc-vsphere
  NAME  NAMESPACE  PHASE      REPLICAS  READY  UPDATED  UNAVAILABLE
  md-0  default    Ready      1         1      1        0

ClusterClass 기반 클러스터의 노드 풀 속성

ClusterClass 기반 클러스터의 노드 풀에서 업데이트할 수 있는 속성은 다음 두 가지 유형으로 구분할 수 있습니다.

  • 시스템 배포의 토폴로지를 직접 수정하는 시스템 배포 토폴로지 리소스(예: 복제본 수)의 직접 속성입니다.
  • ClusterClass 수준의 변수 정의에 의존하는 변수 재정의입니다. ClusterClass에 기반하여 클러스터를 배포하는 경우 클러스터 정의는 기본적으로 모든 시스템 배포에 적용되는 이러한 변수의 수를 지정해야 합니다. 시스템 배포 토폴로지에서는 이러한 변수를 시스템 배포 기준으로 재정의할 수 있습니다.

수정할 수 있는 속성의 최종 소스는 ClusterClass 개체 자체입니다. TKG ClusterClass 개체는 모두 Worker 노드 VM 속성을 포함하는 변수인 worker를 정의합니다. 여기에는 AWS 및 Azure용 instanceTypevmSize가 각각 포함됩니다. vSphere 버전에는 diskGiB, memoryMiB, numCPU 속성이 포함됩니다. Supervisor가 있는 TKG는 vmClassstorageClass에 대한 최상위 변수와 Worker 노드를 사용자 지정하기 위한 nodePoolVolumes용 어레이를 정의합니다. vSphere TKG는 vCenter Server 인스턴스와 관련된 속성을 업데이트하기 위한 vcenter 변수도 정의합니다.

모든 TKG ClusterClass 개체는 작업자 노드에 적용할 노드 레이블을 지정하는 nodePoolLabels 변수를 정의합니다.

중요

Tanzu CLI에서 제공하는 node-pool 명령을 사용하려면 노드 풀 생성 및 업데이트를 지원하기 위해 ClusterClass에 위의 변수를 정의해야 합니다. 사용자 지정 ClusterClass를 사용하는 경우 이러한 변수는 ClusterClass에서 최상위 변수 정의로 필요합니다. Tanzu CLI를 사용하여 사용자 지정 ClusterClass 기반 클러스터에서 노드 풀을 가져오고 삭제할 수 있습니다. tanzu cluster node-pool createtanzu cluster node-pool update가 사용자 지정 ClusterClass 개체에 대해 작동하는 특별한 경우가 있습니다. 특히 노드 풀 정의가 Tanzu CLI에 전달된 경우 replicas, az, name, workerClass, tkrResolver 변수를 지정합니다. 이 경우 workerClass는 사용자 지정 ClusterClass workerClass 정의와 일치해야 합니다.

기존 노드 풀을 tanzu cluster node-pool set으로 업데이트

기존 노드 풀의 이름을 사용하여 tanzu cluster node-pool set 명령을 호출하면 업데이트는 제공된 경우 명명된 노드 풀의 복제본 수와 레이블만 수정합니다. 제공된 다른 옵션은 무시됩니다. 특히 클러스터의 토폴로지는 새 복제본 수와 nodePoolLabels 변수 재정의(이러한 값이 제공된 경우)로 업데이트됩니다.

tanzu cluster node-pool set를 사용하여 새 노드 풀을 생성합니다

노드 풀을 생성하면 두 경로 중 하나를 따를 수 있습니다. tanzu cluster node-pool set 명령을 새 노드 풀의 시작점으로 사용되는 기본 시스템 배포를 제공할 수 있습니다. 명명된 기본 시스템 배포의 심층 복사본은 사용자가 제공한 속성이 계층화되는 기준이 됩니다. 일반적으로 이는 복사된 시스템 배포의 모든 변수 재정의가 제공하는 새 값으로 업데이트됨을 의미합니다. 이는 기본 시스템 배포가 제공되지 않은 경우와 다릅니다. 이 경우 변수 재정의는 클러스터 토폴로지에 정의된 글로벌 변수 정의에서 복사된 다음 사용자가 제공한 값이 해당 값에 계층화됩니다. 또한 기본 시스템 배포를 제공하지 않는 경우 workerClasstkrResolver 정의를 제공해야 합니다. TKG ClusterClass 개체에는 기본적으로 정의된 tkg-worker 클래스가 있으며 고유한 작업자 클래스 정의를 추가하지 않은 경우 사용해야 합니다. tkrResolvertkr-resolver 주석의 값입니다.

기본 시스템 배포를 사용하여 새 노드 풀 생성

기본 시스템 배포를 사용하여 새 노드 풀을 생성하려면 다음 명령을 실행합니다.

tanzu cluster node-pool set tkg-wc-vsphere -f /path/to/node-pool.yml –-base-machine-deployment md-0

node-pool.yml 파일에 다음 내용이 있습니다.

name: np-1
replicas: 1
nodeMachineType: t3.large

기본 시스템 배포를 사용하지 않고 새 노드 풀 생성

기본 시스템 배포를 사용하지 않고 새 노드 풀을 생성하고 다음 명령을 실행합니다.

tanzu cluster node-pool set tkg-wc-vsphere -f /path/to/node-pool.yml

node-pool.yml 파일에 다음 내용이 있습니다.

name: np-1
replicas: 1
nodeMachineType: t3.large
workerClass: tkg-worker
tkrResolver: os-name=ubuntu,os-arch=amd64
check-circle-line exclamation-circle-line close-line
Scroll to top icon