Supervisor 클러스터가 있는 vSphere 구성 파일

이 항목에서는 vSphere 8 with Tanzu에 배포하기 전에 플랫 구성 파일 또는 Kubernetes 스타일 개체 규격을 사용하여 TKG(Tanzu Kubernetes Grid) 워크로드 클러스터를 구성하는 방법을 설명합니다. 배포용 워크로드 클러스터를 vSphere with Tanzu에 구성하려면 독립형 관리 클러스터가 있는 vSphere 구성 파일을 참조하십시오.

구성 파일 및 개체 규격을 사용하여 워크로드 클러스터를 구성하는 방법에 대한 일반 정보는 구성 파일 및 개체 규격을 참조하십시오.

클러스터의 구성 파일 또는 개체 규격 외부에서 일부 구성이 필요한 vSphere 전용 워크로드 클러스터 기능을 사용하려면 vSphere에서 클러스터를 참조하십시오.

개요

워크로드 클러스터를 vSphere with Tanzu에 배포하기 전에 구성하려면 TKC 클러스터를 구성하는 경우 클래스 기반 클러스터 또는 클러스터 구성 파일을 구성하는 경우 Kubernetes 스타일 개체 규격 파일을 생성합니다. 이러한 파일 중 하나를 tanzu cluster create-f 옵션에 전달하면 Tanzu CLI는 파일에 정의된 구성 정보를 사용하여 vSphere 계정에 연결하고 클러스터에서 사용할 리소스를 생성합니다.

구성하려면 다음을 수행합니다.

위의 클러스터 유형에 대한 자세한 내용은 워크로드 클러스터 유형을 참조하십시오.

Supervisor 배포 클래스 기반 클러스터 구성

배포용 워크로드 클러스터를 vSphere 8 with Tanzu로 구성하려면 다음을 수행합니다.

  1. Cluster 개체 규격을 생성하거나 조정합니다. vSphere 8 설명서에는 작동할 Cluster 개체 규격 예제가 있습니다.

    규격 파일의 topology 블록에서 VM 유형, 규모 및 기타 기본 클러스터 구성을 설정합니다. topology 블록에 대한 자세한 내용은 아래의 클래스 기반 클러스터 개체 및 토폴로지 구조ClusterClass 토폴로지 변수를 참조하십시오.

  2. (선택 사항) 클러스터 인프라의 일회성 컨테이너 인터페이스 설정과 같이 Cluster 개체 자체에서 설정할 수 없는 특성을 사용자 지정하려면 일회성 인프라 설정 구성을 참조하십시오.

클래스 기반 클러스터 개체 및 토폴로지 구조

유형이 tanzukubernetesclusterCluster 개체에서 구성할 수 있는 최상위 설정은 다음과 같이 구성됩니다. 구성할 수 있는 variablesClusterClass 토폴로지 변수를 참조하십시오.

spec:
  clusterNetwork
    apiServerPort
    services
      cidrBlocks
    pods
      cidrBlocks
    serviceDomain
  controlPlaneEndpoint
    host
    port
  topology
    class
    version
    rolloutAfter
    controlPlane
      metadata
      replicas
      nodeDrainTimeout
      nodeDeletionTimeout
      machineHealthCheck
        maxUnhealthy
        nodeStartupTimeout
        unhealthyConditions
    workers
      machineDeployments
        metadata
        - class
        name
        failureDomain
        replicas
        nodeDrainTimeout
        nodeDeletionTimeout
        machineHealthCheck
          maxUnhealthy
          nodeStartupTimeout
          unhealthyConditions
        variables
          name
          value
  variables
    name
    value

이러한 필드는 Cluster 개체 유형 규격 cluster_types.go에 설정됩니다.

  • 선택적 필드: 각 필드의 json: 설정은 필드가 선택 사항인지 여부를 나타냅니다. 선택적 필드에는 omitempty 설정이 있습니다.
  • 유형 규격의 참조에 의해 중첩된 구조는 개체 규격 YAML에 들여쓰기됩니다. 예를 들어 Topology 구조체에는 유형 규격에 *Workers가 포함되므로 workers 개체 규격의 topology 아래에 들여쓰기됩니다.

- classvariables 옵션은 클러스터의 spec.topology.class 값으로 설정된 Cluster 개체의 클러스터 클래스에 정의됩니다. 예를 들어, vSphere with Tanzu에서는 워크로드 클러스터 유형에 설명된 TanzuKubernetesCluster와는 다른 tanzukubernetescluster라는 ClusterClass 개체입니다.

구성 가능한 variables에는 ClusterClass 토폴로지 변수에 나열된 것처럼 vmClass, storageClass, proxy, nodeLabels, extensionCert 및 기타 여러 가지 변수가 있습니다. 이러한 변수는 클러스터 개체의 기초가 되는 개체(예: KubeAdmConfigMachine 개체)의 설정을 구성하고 재정의합니다.

ClusterClass 토폴로지 변수

vSphere with Tanzu 워크로드 클러스터의 TKG용 기본 ClusterClasstanzukubernetescluster 클래스는 topology.variablestopology.workers.machineDeployments.variables에 설정된 다음 변수를 지원합니다. 노드 풀과 같은 시스템 배포와 관련된 변수 설정은 글로벌 설정을 재정의합니다.

이러한 변수는 vmClassstorageClass 개체에 설정된 proxy, KubeAdmConfig, Machine 설정과 같이 클러스터 개체의 기본이 되는 개체의 설정을 구성하고 재정의합니다. 이를 통해 사용자는 하위 수준 개체 규격을 편집하지 않고도 Cluster 개체 규격 내에서 클러스터를 완전히 구성할 수 있습니다.

  • clusterEncryptionConfigYaml
  • controlPlaneVolumes
  • defaultRegistrySecret
  • defaultStorageClass
  • extensionCert
  • nodePoolLabels
  • nodePoolTaints
  • nodePoolVolumes
  • ntp
  • proxy
  • storageClass
  • storageClasses
  • TKR_DATA
  • trust
  • user
  • vmClass

vSphere 8 설명서의 다음 항목에서는 storageClassvmClass 설정을 변경하여 실행 중인 클러스터를 재구성하는 방법을 설명합니다.

Supervisor 배포 TKC 클러스터 구성(레거시)

vSphere 8에서 TKC(레거시) 워크로드 클러스터용 클러스터 구성 파일을 생성하려면 이전 배포의 기존 구성 파일을 vSphere with Tanzu로 복사하여 업데이트할 수 있습니다. 또는 빈 템플릿을 사용하여 파일을 처음부터 생성할 수 있습니다.

vSphere with Tanzu Supervisor가 배포한 워크로드 클러스터를 구성하려면 변수를 설정하여 스토리지 클래스, VM 클래스, 서비스 도메인, 네임스페이스, 클러스터를 생성하는 데 필요한 기타 값을 정의합니다. 다음 표에는 TKC 기반 클러스터의 구성 파일에 포함할 수 있는 변수가 나열되어 있습니다. 또는 로컬 환경 변수로 설정할 수 있습니다.

필수 변수
변수 값 유형 또는 예 설명
INFRASTRUCTURE_PROVIDER tkg-service-vsphere 항상 vSphere with Tanzu에서 TanzuKubernetesCluster 개체에 대한 tkg-service-vsphere.
CLUSTER_PLAN dev prod 또는 사용자 지정 계획 노드 수를 설정합니다.
CLUSTER_CIDR CIDR 범위 포드에 사용할 CIDR 범위. 권장 범위는 100.96.0.0/11입니다. 권장 범위를 사용할 수 없는 경우에만 이 값을 변경합니다.
SERVICE_CIDR Kubernetes 서비스에 사용할 CIDR 범위. 권장 범위는 100.64.0.0/13입니다. 권장 범위를 사용할 수 없는 경우에만 이 값을 변경합니다.
SERVICE_DOMAIN 도메인 예: DNS가 없는 경우 my.example.com 또는 cluster.local. 노드에 FQDN을 할당하려는 경우 DNS 조회가 필요합니다.
CONTROL_PLANE_VM_CLASS vSphere with Tanzu 표준 VM 클래스(예: guaranteed-large).
vSphere with Tanzu 설명서에서 Supervisor에서 TKG 클러스터와 함께 가상 시스템 클래스 사용을 참조하십시오.
제어부 노드의 VM 클래스
WORKER_VM_CLASS Worker 노드의 VM 클래스
선택적 변수
변수 값 유형 또는 예 설명
CLUSTER_NAME 문자열 CLUSTER-NAME 인수에 의해 재정의되어 tanzu cluster create로 전달됩니다.
이 이름은 RFC 952에 설명된 DNS 호스트 이름 요구 사항을 준수하고 RFC 1123에 수정된 DNS 호스트 이름 요구 사항을 준수해야 하며 42자 이하여야 합니다. Note: 모든 네임스페이스의 모든 워크로드 클러스터에 고유한 이름을 제공해야 합니다. 다른 네임스페이스에서 사용 중인 클러스터 이름을 지정하면 클러스터 배포가 오류와 함께 실패합니다.
NAMESPACE 네임스페이스. 기본값은 default입니다. 클러스터를 배포할 네임스페이스입니다. Supervisor의 네임스페이스를 찾으려면 kubectl get namespaces를 실행합니다.
CNI antrea 또는 calico. 기본값: antrea 호스팅된 워크로드에 대한 컨테이너 네트워킹 인터페이스(Antrea 또는 Calico).
CONTROL_PLANE_MACHINE_COUNT 정수. CONTROL_PLANE_MACHINE_COUNT는 홀수여야 합니다.
기본값은 CLUSTER_PLAN에서 설정된 대로 dev의 경우 1, prod의 경우 3입니다.
dev 또는 prod 계획 기본값보다 더 많은 제어부 노드가 있는 워크로드 클러스터를 배포합니다.
WORKER_MACHINE_COUNT Worker 노드가 dev 또는 prod 계획 기본값보다 많은 워크로드 클러스터를 배포합니다.
STORAGE_CLASSES 빈 문자열 ""을 사용하면 클러스터가 네임스페이스의 모든 스토리지 클래스를 사용하거나 kubectl get storageclasses의 쉼표로 구분된 값 목록을 사용할 수 있습니다(예: "SC-1,SC-2,SC-3"). 노드 사용자 지정에 사용할 수 있는 스토리지 클래스.
DEFAULT_STORAGE_CLASS 위에서와 같이 기본값이 없는 경우 빈 문자열 "" 또는 CLI의 값. 제어부 또는 Worker의 기본 스토리지 클래스.
CONTROL_PLANE_STORAGE_CLASS kubectl get storageclasses에서 반환된 값 제어부 노드의 기본 스토리지 클래스.
WORKER_STORAGE_CLASS Worker 노드의 기본 스토리지 클래스.
NODE_POOL_0_NAME 문자열 노드 풀 이름, 레이블, taint. TanzuKubernetesCluster는 하나의 노드 풀만 있을 수 있습니다.
NODE_POOL_0_LABELS 문자열의 JSON 목록(예: ["label1", "label2"]["label1", "label2"])
NODE_POOL_0_TAINTS 키-값 쌍 문자열의 JSON 목록(예: [{"key1": "value1"}, {"key2": "value2"}]

다음 중 하나를 수행하여 위의 변수를 설정할 수 있습니다.

  • Tanzu CLI --file 옵션으로 전달된 클러스터 구성 파일에 포함합니다. 예:

    CONTROL_PLANE_VM_CLASS: guaranteed-large
    
  • 명령줄에서 export(Linux 및 macOS) 또는 SET(Windows)을 실행하여 로컬 환경 변수로 설정합니다. 예:

    export CONTROL_PLANE_VM_CLASS=guaranteed-large
    
    참고

    워크로드 클러스터의 고유한 프록시 설정을 구성하려는 경우 TKG_HTTP_PROXY, TKG_HTTPS_PROXY, NO_PROXY를 환경 변수로 설정한 다음 Tanzu CLI를 사용하여 클러스터를 생성할 수 있습니다. 이러한 변수는 vSphere with Tanzu의 기존 프록시 구성보다 우선합니다.

후속 작업

워크로드 클러스터 생성으로 진행합니다. 워크로드 클러스터를 vSphere 배포한 후에는 노드 DHCP 예약 및 끝점 DNS 레코드 구성(vSphere 전용)에 설명된 대로 노드 DHCP 예약 및 끝점 DNS를 구성해야 합니다.

check-circle-line exclamation-circle-line close-line
Scroll to top icon