워크로드 클러스터

이 항목에서는 TKG(Tanzu Kubernetes Grid)에서 생성된 다양한 유형의 워크로드 클러스터와 구성 및 생성 방법에 대해 설명합니다.

워크로드 클러스터 유형: 클래스 기반, TKC, 계획 기반

Tanzu Kubernetes Grid는 세 가지 유형의 워크로드 클러스터를 호스팅합니다.

  • 클래스 기반 클러스터
    • Cluster 유형의 Kubernetes 개체
    • vSphere with Tanzu 8 및 TKG 2.x에 도입된 새로운 유형의 클러스터입니까?
    • spec.topology 블록에 기본 토폴로지를 정의
      • 예: Worker 및 제어부 노드의 수와 유형
    • spec.topology.class 값에서 구성 상속
      • ClusterClass 개체를 참조
      • Supervisor에서 기본 classtanzukubernetescluster
      • 독립형 관리 클러스터에서 기본 classtkg-INFRASTRUCTURE-default-VERSION입니다(예: tkg-vsphere-default-v1.0.0).
    • vSphere with Tanzu 8에서 Supervisor를 사용하거나, Supervisor가 없는 vSphere 6.7, 7, 8, AWS 또는 Azure에서 독립형 TKG v2.x 관리 클러스터를 사용하여 생성할 수 있습니다.
  • TKC 기반 클러스터(레거시)
    • TanzuKubernetesCluster 유형의 Kubernetes 개체
    • vSphere 7에서 Supervisor 클러스터 또는 레거시 목적으로 vSphere 8의 Supervisor를 사용하여 생성할 수 있습니다.
  • 계획 기반 클러스터(레거시)
    • Cluster 유형의 Kubernetes 개체
    • Supervisor가 없는 vSphere 6.7, 7, 8, AWS 또는 Azure에서 독립형 TKG v2.x 또는 v1.x 관리 클러스터를 사용하여 생성할 수 있습니다.

class: tanzukubernetescluster 및 모든 소문자가 있는 클래스 기반 클러스터는 TanzuKubernetesCluster 개체 유형인 TKC 기반 클러스터와 다릅니다.

클래스 기반 클러스터는 두 가지 유형의 관리 클러스터에 동일한 API를 제공하여 다른 두 클러스터 유형을 교체하도록 설계되었습니다. Supervisor 및 독립형 관리 클러스터.

중요

Tanzu Kubernetes Grid v2.4.x는 AWS 및 Azure에서 TKG 워크로드 클러스터 생성을 지원하는 마지막 TKG 버전입니다. AWS 및 Azure에서 TKG 워크로드 클러스터를 생성하는 기능은 Tanzu Kubernetes Grid v2.5 릴리스에서 제거됩니다. 자세한 내용은 VMware Tanzu Kubernetes Grid v2.4 Release Notes에서 AWS 및 Azure에서 TKG 관리 및 워크로드 클러스터의 사용 중단을 참조하십시오.

클러스터 유형 및 클러스터 API

워크로드 클러스터를 생성하고 관리하기 위해 관리 클러스터는 클러스터 API 소프트웨어를 실행합니다.

  • 클러스터 API - Kubernetes 클러스터 생성 및 관리를 위한 오픈 소스 Kubernetes 소프트웨어입니다.
  • 클러스터 API 제공자 클러스터 API를 지원하기 위한 인터페이스로 특정 클라우드 또는 물리적 인프라에서 실행되는 소프트웨어입니다.
    • 대부분의 클러스터 API 제공자 소프트웨어 프로젝트는 오픈 소스이지만 일부는 독점적입니다.

다음 표에서는 관리 및 워크로드 클러스터 유형을 사용하는 클러스터 API 제공자에 매핑합니다.

다음이 있는 TKG... 클러스터 API 제공자 사용... 대상 다음 유형의 워크로드 클러스터를 생성하고 관리하기 위해... 제품 버전에서...
Supervisor CAPW(독점) vSphere 클래스 기반 Cluster 개체 TKG 2.x 및 vSphere with Tanzu 8
TanzuKubernetesCluster 개체 vSphere with Tanzu 7 및 8
독립형 관리 클러스터 CAPA(OSS) AWS 클래스 기반 Cluster 개체 TKG v2.x
계획 기반 AWSCluster 개체 TKG v2.x 및 v1.x
CAPZ(OSS) Azure 클래스 기반 Cluster 개체 TKG v2.x
계획 기반 AzureCluster 개체 TKG v2.x 및 v1.x
CAPV(OSS) vSphere 클래스 기반 Cluster 개체 TKG v2.x
계획 기반 VSphereCluster 개체 TKG v2.x 및 v1.x

클러스터 유형 및 Tanzu CLI 호환성

서로 다른 버전의 Tanzu Kubernetes Grid와 함께 제공된 다양한 버전의 Tanzu CLI를 사용하면 vSphere 8에서 Supervisor, vSphere 7에서 Supervisor 클러스터, Supervisor 없는 vSphere 6.7, 7, 8, AWS 또는 Azure에서 독립형 관리 클러스터를 사용하는지 여부에 따라 다른 유형의 클러스터를 생성할 수 있습니다.

CLI 버전 TKG 버전 다음을 사용하여 클래스 기반 클러스터 생성... 다음을 사용하여 계획 기반 클러스터 생성... 다음을 사용하여 TanzuKubernetesClusters 생성...
독립형 관리 클러스터 vSphere 8의 Supervisor vSphere 7의 Supervisor 클러스터 독립형 관리 클러스터 vSphere 8의 Supervisor vSphere 7의 Supervisor 클러스터 독립형 관리 클러스터 vSphere 8의 Supervisor vSphere 7의 Supervisor 클러스터
v0.90.1* 2.3.0 x x x x
v0.29.0 2.2.0 x x x x
v0.28.1 2.1.1 x x x x
v0.25.4 1.6.1 x x x x
v0.25.0 1.6.0 x x x x
v0.11.x 1.5.x x x x x x x x

* Tanzu Kubernetes Grid v2.4와 호환되는 CLI 버전 전체 목록은 제품 상호 운용성 매트릭스를 참조하십시오.

워크로드 클러스터 개체 하위 구성 요소

클래스 기반 클러스터에는 다음과 같은 개체 유형의 개략적인 계층이 있습니다. 기본 KubeAdmControlPlaneMachineDeployment 개체의 유형은 동일하지만 일반적으로 개체는 다릅니다.

  • Cluster - 규격에서 topology 블록에 의해 설정된 제어부 및 Worker 노드의 수와 유형
    • KubeAdmControlPlane - 제어부 노드를 정의합니다.
      • IaaS 관련 시스템 개체 - 예: vSphereMachine, AWSMachine, DockerMachine
      • Machine - 노드 VM의 일반 개체
      • KubeAdmConfig - Kubernetes 버전, 이미지 저장소, 사전 및 사후 배포 후크 등을 포함한 Kubernetes 구성.
    • MachineDeployment - Worker 노드를 정의합니다.
      • IaaS 관련 시스템 개체
      • Machine
      • KubeAdmConfig

자세한 내용은 클러스터 API 책에서 CustomResourceDefinitions 관계를 참조하십시오.

워크로드 클러스터를 생성하는 방법

설치된 환경에 따라, Tanzu CLI, Tanzu Mission Control, kubectl을 사용하여 여러 가지 방법으로 Tanzu Kubernetes Grid 워크로드 클러스터를 생성할 수 있습니다.

다음 차트는 사용자가 다양한 인프라에서 다양한 유형의 워크로드 클러스터를 생성할 수 있는 방법을 간략하게 설명합니다.

다음 사용... 다음 생성... 다음에서 구성 값 가져오기... 다음에서 템플릿 구성... 지침
Tanzu CLI:
tanzu cluster create
클래스 기반 워크로드 클러스터(vSphere) Cluster 및 기본 개체 규격 사용자(예: classycluster.yaml) 클래스 기반 클러스터 생성
TanzuKubernetesCluster 워크로드 클러스터(vSphere) 클러스터 구성 파일,
local 환경,
(고급) ytt 오버레이
infrastructure-tkg-service-vsphere* (레거시) 계획 기반 또는 TKC 클러스터 생성
계획 기반 워크로드 클러스터(vSphere, AWS, Azure) infrastructure-vsphere,
infrastructure-aws,
infrastructure-azure*
Tanzu Mission Control(TMC) TanzuKubernetesCluster 또는 계획 기반 워크로드 클러스터 TMC UI 등록된 관리 클러스터 워크로드 클러스터 프로비저닝
kubectl apply 클래스 기반 또는 TanzuKubernetesCluster 워크로드 클러스터(vSphere) Cluster 및 기본 개체 규격 사용자(예: classycluster.yaml, tkc.yaml) 선언적으로 워크로드 클러스터 생성

*.config/tanzu/tkg/providers/ 아래의 로컬 디렉토리

레거시 TKC 및 계획 기반 클러스터 구성 정보

Tanzu CLI는 TKC 기반 워크로드 클러스터를 생성할 때 다음의 구성 값을 결합합니다.

  • 호출 시 라이브 입력
    • CLI 입력
  • 환경 변수
  • ~/.config/tanzu/tkg/cluster-config.yaml 또는 기타 파일이 CLI --file 옵션으로 전달됩니다.
  • 아래의 계획 구성 파일에 설명된 대로 ~/.config/tanzu/tkg/providers/infrastructure-tkg-service-vsphere의 클러스터 계획 YAML 구성 파일.
  • 기타, ~/.config/tanzu/tkg/providers 아래에 있는 비-계획 YAML 구성 파일

라이브 입력은 각 호출에 고유한 구성 값을 적용하고, 환경 변수는 터미널 세션을 통해 유지하며, 구성 파일 및 오버레이는 무기한으로 유지됩니다. 아래에 설명된 권장 사항 및 주의 사항과 함께 이러한 소스를 통해 클러스터를 사용자 지정할 수 있습니다.

tanzu CLI가 충돌할 수 있는 여러 소스에서 특정 클러스터 구성 값을 파생하는 방법은 구성 값 우선 순위를 참조하십시오.

계획 구성 파일

~/.config/tanzu/tkg/providers/infrastructure-tkg-service-vsphere 디렉토리에는 이름이 cluster-template-definition-PLAN.yaml인 TKC 워크로드 클러스터 계획 구성 파일이 포함되어 있습니다. 각 계획의 구성 값은 다음 파일과 spec.paths 아래에 나열된 파일에서 가져옵니다.

  • tanzu CLI와 함께 제공되는 구성 파일
  • 사용자가 생성하여 spec.paths 목록에 추가하는 사용자 지정 파일
  • 사용자가 다른 구성 파일의 값을 덮어쓰도록 생성하거나 편집하는 ytt 오버레이

편집할 파일, 그대로 둘 파일

YAML을 통해 클러스터 계획을 사용자 지정하려면 ~/.config/tanzu/tkg/providers/infrastructure-tkg-service-vsphere 파일을 편집하지만 다른 파일은 변경하지 않아야 합니다.

편집할 파일

워크로드 클러스터 계획 구성 파일 경로는 ~/.config/tanzu/tkg/providers/infrastructure-infrastructure-tkg-service-vsphere/VERSION/cluster-template-definition-PLAN.yaml 형식을 따릅니다. 여기서:

  • VERSION은 구성에서 사용하는 클러스터 API 제공자 모듈의 버전입니다.
  • PLANdev, prod 또는 사용자 지정 계획입니다.

각 계획 구성 파일에는 클러스터 계획을 구성하는 소스 파일 및 ytt 디렉토리를 나열하는 spec.paths 섹션이 있습니다. 예:

apiVersion: providers.tanzu.vmware.com/v1alpha1
kind: TemplateDefinition
spec:
  paths:
    - path: providers/infrastructure-tkg-service-vsphere/v1.1.0/ytt
    - path: providers/ytt
    - path: bom
      filemark: text-plain
    - path: providers/config_default.yaml

이러한 파일은 나열된 순서대로 처리됩니다. 동일한 구성 필드가 여러 파일에 설정된 경우 마지막으로 처리된 설정은 tanzu CLI에서 사용하는 설정입니다.

클러스터 구성을 사용자 지정하려면 다음을 수행합니다.

  • 새 구성 파일을 생성하고 spec.paths 목록에 추가합니다.
    • 이 방법은 더 쉬운 방법입니다.
  • 기존 ytt 오버레이 파일을 수정합니다.
    • 이 방법은 ytt에 익숙한 사용자에게 더 강력한 방법입니다.

그대로 둘 파일

VMware은 명시된 경우를 제외하고 ~/.config/tanzu/tkg/providers에서 다음 파일을 변경하지 않는 것이 좋습니다.

  • base-template.yaml 파일(ytt 디렉토리)

    • 이러한 구성 파일은 Kubernetes SIG 및 기타 업스트림, 오픈 소스 프로젝트의 클러스터 API 제공자 저장소의 값을 사용하며 그대로 유지하는 것이 가장 좋습니다.
    • 대신 새 구성 파일을 생성하거나 ytt를 사용한 고급 TKC 구성에서 클러스터 및 클러스터 계획을 참조하여 동일한 ytt 디렉토리의 overlay.yaml 파일에 값을 설정합니다.
  • ~/.config/tanzu/tkg/providers/config_default.yaml - 추가만 해당

    • 이 파일에는 Tanzu Kubernetes Grid에 대한 시스템 전체 기본값이 포함되어 있습니다.
    • 이 파일의 기존 값을 수정하지 마십시오. 하지만 끝에 User Customizations 섹션을 추가할 수 있습니다.
    • 이 파일의 값을 변경하는 대신, tanzu cluster create --file 옵션에 전달하는 파일의 클러스터 구성을 사용자 지정합니다.
  • ~/.config/tanzu/tkg/providers/config.yaml

    • tanzu CLI는 이 파일을 /providers 디렉토리에 있는 모든 제공자 및 해당 기본 버전에 대한 참조로 사용합니다.

구성 값 우선 순위

Tanzu CLI는 TKC 기반 워크로드 클러스터를 생성할 때 여러 소스의 구성 값을 결합합니다. 이러한 소스가 충돌하는 경우 다음과 같은 내림차순으로 충돌을 해결합니다.

내림차순으로 정렬된 처리 계층 소스
1. 로컬 환경에 설정된 클러스터 구성 변수 셸에서 설정합니다. export WORKER_VM_CLASS=best-effort-large
2. tanzu config set env.를 사용하여 Tanzu CLI에서 설정된 클러스터 구성 변수 셸에서 설정. 글로벌 Tanzu CLI 구성 파일 ~/.config/tanzu/config.yaml에 저장되었습니다. tanzu config set env.WORKER_VM_CLASS best-effort-large
3. 클러스터 구성 파일에 설정된 클러스터 구성 변수 tanzu cluster create--file 옵션에 전달된 파일에 설정되었습니다. 파일은 기본적으로 ~/.config/tanzu/tkg/cluster-config.yaml로 설정됩니다. WORKER_VM_CLASS: best-effort-large
4. 초기 기본 구성 값 providers/config_default.yaml에 설정되지만 일부 필드는 기본값 없이 나열됩니다. 이 값을 수정하지 마십시오. WORKER_VM_CLASS:
check-circle-line exclamation-circle-line close-line
Scroll to top icon