이 항목에서는 TKG(Tanzu Kubernetes Grid)에서 생성된 다양한 유형의 워크로드 클러스터와 구성 및 생성 방법에 대해 설명합니다.
Tanzu Kubernetes Grid는 세 가지 유형의 워크로드 클러스터를 호스팅합니다.
Cluster
유형의 Kubernetes 개체spec.topology
블록에 기본 토폴로지를 정의
spec.topology.class
값에서 구성 상속
ClusterClass
개체를 참조class
는 tanzukubernetescluster
class
는 tkg-INFRASTRUCTURE-default-VERSION
입니다(예: tkg-vsphere-default-v1.0.0
).TanzuKubernetesCluster
유형의 Kubernetes 개체Cluster
유형의 Kubernetes 개체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 제공자에 매핑합니다.
다음이 있는 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 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 버전 전체 목록은 제품 상호 운용성 매트릭스를 참조하십시오.
클래스 기반 클러스터에는 다음과 같은 개체 유형의 개략적인 계층이 있습니다. 기본 KubeAdmControlPlane
및 MachineDeployment
개체의 유형은 동일하지만 일반적으로 개체는 다릅니다.
Cluster
- 규격에서 topology
블록에 의해 설정된 제어부 및 Worker 노드의 수와 유형
KubeAdmControlPlane
- 제어부 노드를 정의합니다.
vSphereMachine
, AWSMachine
, DockerMachine
Machine
- 노드 VM의 일반 개체KubeAdmConfig
- Kubernetes 버전, 이미지 저장소, 사전 및 사후 배포 후크 등을 포함한 Kubernetes 구성.MachineDeployment
- Worker 노드를 정의합니다.
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/
아래의 로컬 디렉토리
Tanzu CLI는 TKC 기반 워크로드 클러스터를 생성할 때 다음의 구성 값을 결합합니다.
~/.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
목록에 추가하는 사용자 지정 파일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 제공자 모듈의 버전입니다.PLAN
은 dev
, 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
디렉토리)
ytt
를 사용한 고급 TKC 구성에서 클러스터 및 클러스터 계획을 참조하여 동일한 ytt
디렉토리의 overlay.yaml
파일에 값을 설정합니다.~/.config/tanzu/tkg/providers/config_default.yaml
- 추가만 해당
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: |