다른 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
개체 자체입니다. TKG ClusterClass
개체는 모두 Worker 노드 VM 속성을 포함하는 변수인 worker
를 정의합니다. 여기에는 AWS 및 Azure용 instanceType
및 vmSize
가 각각 포함됩니다. vSphere 버전에는 diskGiB
, memoryMiB
, numCPU
속성이 포함됩니다. Supervisor가 있는 TKG는 vmClass
및 storageClass
에 대한 최상위 변수와 Worker 노드를 사용자 지정하기 위한 nodePoolVolumes
용 어레이를 정의합니다. vSphere TKG는 vCenter Server 인스턴스와 관련된 속성을 업데이트하기 위한 vcenter
변수도 정의합니다.
모든 TKG ClusterClass
개체는 작업자 노드에 적용할 노드 레이블을 지정하는 nodePoolLabels
변수를 정의합니다.
중요Tanzu CLI에서 제공하는
node-pool
명령을 사용하려면 노드 풀 생성 및 업데이트를 지원하기 위해ClusterClass
에 위의 변수를 정의해야 합니다. 사용자 지정ClusterClass
를 사용하는 경우 이러한 변수는ClusterClass
에서 최상위 변수 정의로 필요합니다. Tanzu CLI를 사용하여 사용자 지정ClusterClass
기반 클러스터에서 노드 풀을 가져오고 삭제할 수 있습니다.tanzu cluster node-pool create
및tanzu 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
명령을 새 노드 풀의 시작점으로 사용되는 기본 시스템 배포를 제공할 수 있습니다. 명명된 기본 시스템 배포의 심층 복사본은 사용자가 제공한 속성이 계층화되는 기준이 됩니다. 일반적으로 이는 복사된 시스템 배포의 모든 변수 재정의가 제공하는 새 값으로 업데이트됨을 의미합니다. 이는 기본 시스템 배포가 제공되지 않은 경우와 다릅니다. 이 경우 변수 재정의는 클러스터 토폴로지에 정의된 글로벌 변수 정의에서 복사된 다음 사용자가 제공한 값이 해당 값에 계층화됩니다. 또한 기본 시스템 배포를 제공하지 않는 경우 workerClass
및 tkrResolver
정의를 제공해야 합니다. TKG ClusterClass
개체에는 기본적으로 정의된 tkg-worker
클래스가 있으며 고유한 작업자 클래스 정의를 추가하지 않은 경우 사용해야 합니다. tkrResolver
는 tkr-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