Microsoft Azure용 관리 클러스터 구성

클러스터 구성 파일을 생성하려면 이전 배포에 대한 기존 구성 파일을 Azure에 복사하여 업데이트할 수 있습니다. 또는 빈 템플릿을 사용하여 파일을 처음부터 생성할 수 있습니다.

중요

Tanzu Kubernetes Grid v2.4.x는 Azure에서 독립형 TKG 관리 클러스터 생성을 지원하는 마지막 TKG 버전입니다. Azure에서 독립형 TKG 관리 클러스터를 생성하는 기능은 Tanzu Kubernetes Grid v2.5 릴리스에서 제거됩니다.

지금부터는 VMware Tanzu Mission Control을 사용하여 Azure에서 새 TKG 관리 클러스터를 생성하는 대신 네이티브 Azure AKS 클러스터를 생성하는 것이 좋습니다. Tanzu Mission Control을 사용하여 네이티브 Azure AKS 클러스터를 생성하는 방법에 대한 자세한 내용은 Tanzu Mission Control 설명서에서 Azure AKS 클러스터의 수명 주기 관리를 참조하십시오.

자세한 내용은 VMware Tanzu Kubernetes Grid v2.4 Release Notes에서 AWS 및 Azure에서 TKG 관리 및 워크로드 클러스터의 사용 중단을 참조하십시오.

관리 클러스터 구성 템플릿

아래 템플릿에는 Azure에서 관리 클러스터를 배포하는 것과 관련된 모든 옵션이 포함되어 있습니다. 이 템플릿을 복사하여 관리 클러스터를 Azure에 배포하도록 사용할 수 있습니다.

  • 모든 대상 플랫에 공통되는 설정을 업데이트하는 방법에 대한 자세한 내용은 관리 클러스터 구성 파일 생성을 참조하십시오.
  • 모든 구성 파일 변수에 대한 자세한 내용은 구성 파일 변수 참조를 참조하십시오.
  • Azure 설정을 구성하는 방법에 대한 예는 템플릿 아래의 섹션을 참조하십시오.

필수 옵션의 주석 처리를 제거했습니다. 선택 사항 설정을 주석 처리했습니다. 기본값은 해당되는 경우 포함됩니다.

#! ---------------------------------------------------------------------
#! Basic cluster creation configuration
#! ---------------------------------------------------------------------

CLUSTER_NAME:
CLUSTER_PLAN: dev
INFRASTRUCTURE_PROVIDER: azure
# CLUSTER_API_SERVER_PORT:
ENABLE_CEIP_PARTICIPATION: true
ENABLE_AUDIT_LOGGING: true
CLUSTER_CIDR: 100.96.0.0/11
SERVICE_CIDR: 100.64.0.0/13
# CAPBK_BOOTSTRAP_TOKEN_TTL: 30m

#! ---------------------------------------------------------------------
#! Node configuration
#! ---------------------------------------------------------------------

# SIZE:
# CONTROLPLANE_SIZE:
# WORKER_SIZE:
# AZURE_CONTROL_PLANE_MACHINE_TYPE: "Standard_D2s_v3"
# AZURE_NODE_MACHINE_TYPE: "Standard_D2s_v3"
# OS_NAME: ""
# OS_VERSION: ""
# OS_ARCH: ""
# AZURE_CONTROL_PLANE_DATA_DISK_SIZE_GIB : ""
# AZURE_CONTROL_PLANE_OS_DISK_SIZE_GIB : ""
# AZURE_CONTROL_PLANE_MACHINE_TYPE : ""
# AZURE_CONTROL_PLANE_OS_DISK_STORAGE_ACCOUNT_TYPE : ""
# AZURE_ENABLE_NODE_DATA_DISK : ""
# AZURE_NODE_DATA_DISK_SIZE_GIB : ""
# AZURE_NODE_OS_DISK_SIZE_GIB : ""
# AZURE_NODE_MACHINE_TYPE : ""
# AZURE_NODE_OS_DISK_STORAGE_ACCOUNT_TYPE : ""

#! ---------------------------------------------------------------------
#! Azure configuration
#! ---------------------------------------------------------------------

AZURE_ENVIRONMENT: "AzurePublicCloud"
AZURE_TENANT_ID:
AZURE_SUBSCRIPTION_ID:
AZURE_CLIENT_ID:
AZURE_CLIENT_SECRET:
AZURE_LOCATION:
AZURE_SSH_PUBLIC_KEY_B64:
# AZURE_RESOURCE_GROUP: ""
# AZURE_VNET_RESOURCE_GROUP: ""
# AZURE_VNET_NAME: ""
# AZURE_VNET_CIDR: ""
# AZURE_CONTROL_PLANE_SUBNET_NAME: ""
# AZURE_CONTROL_PLANE_SUBNET_CIDR: ""
# AZURE_NODE_SUBNET_NAME: ""
# AZURE_NODE_SUBNET_CIDR: ""
# AZURE_CUSTOM_TAGS : ""
# AZURE_ENABLE_PRIVATE_CLUSTER : ""
# AZURE_FRONTEND_PRIVATE_IP : ""
# AZURE_ENABLE_ACCELERATED_NETWORKING : ""

#! ---------------------------------------------------------------------
#! Image repository configuration
#! ---------------------------------------------------------------------

# TKG_CUSTOM_IMAGE_REPOSITORY: ""
# TKG_CUSTOM_IMAGE_REPOSITORY_CA_CERTIFICATE: ""

#! ---------------------------------------------------------------------
#! Proxy configuration
#! ---------------------------------------------------------------------

# TKG_HTTP_PROXY: ""
# TKG_HTTPS_PROXY: ""
# TKG_NO_PROXY: ""

#! ---------------------------------------------------------------------
#! Machine Health Check configuration
#! ---------------------------------------------------------------------

ENABLE_MHC:
ENABLE_MHC_CONTROL_PLANE: true
ENABLE_MHC_WORKER_NODE: true
MHC_UNKNOWN_STATUS_TIMEOUT: 5m
MHC_FALSE_STATUS_TIMEOUT: 12m

#! ---------------------------------------------------------------------
#! Identity management configuration
#! ---------------------------------------------------------------------

IDENTITY_MANAGEMENT_TYPE: none

#! Settings for IDENTITY_MANAGEMENT_TYPE: "oidc"
# CERT_DURATION: 2160h
# CERT_RENEW_BEFORE: 360h
# OIDC_IDENTITY_PROVIDER_CLIENT_ID:
# OIDC_IDENTITY_PROVIDER_CLIENT_SECRET:
# OIDC_IDENTITY_PROVIDER_GROUPS_CLAIM: groups
# OIDC_IDENTITY_PROVIDER_ISSUER_URL:
# OIDC_IDENTITY_PROVIDER_SCOPES: "email,profile,groups,offline_access"
# OIDC_IDENTITY_PROVIDER_USERNAME_CLAIM: email

#! The following two variables are used to configure Pinniped JWTAuthenticator for workload clusters
# SUPERVISOR_ISSUER_URL:
# SUPERVISOR_ISSUER_CA_BUNDLE_DATA:

#! Settings for IDENTITY_MANAGEMENT_TYPE: "ldap"
# LDAP_BIND_DN:
# LDAP_BIND_PASSWORD:
# LDAP_HOST:
# LDAP_USER_SEARCH_BASE_DN:
# LDAP_USER_SEARCH_FILTER:
# LDAP_USER_SEARCH_ID_ATTRIBUTE: dn
# LDAP_USER_SEARCH_NAME_ATTRIBUTE:
# LDAP_GROUP_SEARCH_BASE_DN:
# LDAP_GROUP_SEARCH_FILTER:
# LDAP_GROUP_SEARCH_NAME_ATTRIBUTE: dn
# LDAP_GROUP_SEARCH_USER_ATTRIBUTE: dn
# LDAP_ROOT_CA_DATA_B64:

#! ---------------------------------------------------------------------
#! Antrea CNI configuration
#! ---------------------------------------------------------------------

# ANTREA_NO_SNAT: true
# ANTREA_NODEPORTLOCAL: true
# ANTREA_NODEPORTLOCAL_ENABLED: true
# ANTREA_NODEPORTLOCAL_PORTRANGE: 61000-62000
# ANTREA_TRAFFIC_ENCAP_MODE: "encap"
# ANTREA_PROXY: true
# ANTREA_PROXY_ALL: true
# ANTREA_PROXY_LOAD_BALANCER_IPS: false
# ANTREA_PROXY_NODEPORT_ADDRS:
# ANTREA_PROXY_SKIP_SERVICES: ""
# ANTREA_POLICY: true
# ANTREA_TRACEFLOW: true
# ANTREA_DISABLE_UDP_TUNNEL_OFFLOAD: false
# ANTREA_ENABLE_USAGE_REPORTING: false
# ANTREA_EGRESS: true
# ANTREA_EGRESS_EXCEPT_CIDRS: ""
# ANTREA_FLOWEXPORTER: false
# ANTREA_FLOWEXPORTER_COLLECTOR_ADDRESS: "flow-aggregator.flow-aggregator.svc:4739:tls"
# ANTREA_FLOWEXPORTER_POLL_INTERVAL: "5s"
# ANTREA_FLOWEXPORTER_ACTIVE_TIMEOUT: "5s"
# ANTREA_FLOWEXPORTER_IDLE_TIMEOUT: "15s"
# ANTREA_IPAM: false
# ANTREA_KUBE_APISERVER_OVERRIDE: ""
# ANTREA_MULTICAST: false
# ANTREA_MULTICAST_INTERFACES: ""
# ANTREA_NETWORKPOLICY_STATS: true
# ANTREA_SERVICE_EXTERNALIP: true
# ANTREA_TRANSPORT_INTERFACE: ""
# ANTREA_TRANSPORT_INTERFACE_CIDRS: ""

Azure 연결 설정

Azure 계정 및 클러스터를 배포할 지역의 정보를 지정합니다.

예:

AZURE_ENVIRONMENT: "AzurePublicCloud"
AZURE_TENANT_ID: b39138ca-[...]-d9dd62f0
AZURE_SUBSCRIPTION_ID: 3b511ccd-[...]-08a6d1a75d78
AZURE_CLIENT_ID: <encoded:M2ZkYTU4NGM[...]tZmViZjMxOGEyNmU1>
AZURE_CLIENT_SECRET: <encoded:bjVxLUpIUE[...]EN+d0RCd28wfg==>
AZURE_LOCATION: westeurope
AZURE_SSH_PUBLIC_KEY_B64: c3NoLXJzYSBBQUFBQjN[...]XJlLmNvbQ==

노드 크기 구성

Tanzu CLI는 구성 파일에 입력하는 설정에 따라 워크로드 클러스터의 개별 노드를 생성합니다. AWS에서 모든 노드 VM이 미리 정의된 동일한 구성을 가지도록 구성하거나 제어부와 Worker 노드에 미리 정의된 다른 구성을 설정할 수 있습니다. 이러한 설정을 사용하여 관리 클러스터 노드에 구성이 서로 다른 노드가 있는 워크로드 클러스터를 생성할 수 있습니다. 제어부 노드와 Worker 노드의 구성이 다른 클러스터를 생성할 수도 있습니다.

관리 클러스터를 생성하면 노드 시스템의 인스턴스 유형이 AZURE_CONTROL_PLANE_MACHINE_TYPEAZURE_NODE_MACHINE_TYPE 옵션에 설정됩니다. 기본적으로 이러한 설정은 워크로드 클러스터에도 사용됩니다. 최소 구성은 CPU 2개와 8GB 메모리입니다. 호환되는 인스턴스 유형 목록은 지역에 따라 다릅니다.

AZURE_CONTROL_PLANE_MACHINE_TYPE: "Standard_D2s_v3"
AZURE_NODE_MACHINE_TYPE: "Standard_D2s_v3"

SIZE, CONTROLPLANE_SIZE, WORKER_SIZE 옵션을 사용하여 이러한 설정을 재정의할 수 있습니다. 모든 제어부 및 Worker 노드 VM의 크기가 동일한 워크로드 클러스터를 생성하려면 SIZE 변수를 지정합니다. SIZE 변수를 설정하면 모든 노드가 사용자가 설정한 구성으로 생성됩니다. Standard_D2s_v3, Standard_D4s_v3 등으로 설정합니다. Azure의 노드 인스턴스에 대한 자세한 내용은 Azure의 가상 시스템 크기를 참조하십시오.

SIZE: Standard_D2s_v3

제어부 및 Worker 노드 VM의 크기가 다른 워크로드 클러스터를 생성하려면 CONTROLPLANE_SIZEWORKER_SIZE 옵션을 지정합니다.

CONTROLPLANE_SIZE: Standard_D2s_v3
WORKER_SIZE: Standard_D4s_v3

CONTROLPLANE_SIZEWORKER_SIZE 옵션을 SIZE 옵션과 결합할 수 있습니다. 예를 들어 SIZE: "Standard_D2s_v3"WORKER_SIZE: "Standard_D4s_v3"와 함께 지정하면 제어부 노드는 Standard_D2s_v3로 설정되고 Worker 노드는 Standard_D4s_v3로 설정됩니다.

SIZE: Standard_D2s_v3
WORKER_SIZE: Standard_D4s_v3

사용자 지정 노드 서브넷을 사용하여 클러스터 배포

클러스터의 노드에 사용자 지정 서브넷(IP 범위)을 지정하려면 클러스터를 생성하기 전에 다음과 같이 변수를 설정합니다. tanzu cluster create를 실행하기 전에 환경 변수로 정의하거나 --file 옵션을 사용하여 전달한 클러스터 구성 파일에 포함할 수 있습니다.

클러스터에서 제어부 노드의 사용자 지정 서브넷(IP 범위)을 지정하려면 다음을 수행합니다.

  • 서브넷이 Azure에 이미 정의되어 있음: AZURE_CONTROL_PLANE_SUBNET_NAME을 서브넷 이름으로 설정합니다.
  • 새 서브넷을 생성: AZURE_CONTROL_PLANE_SUBNET_NAME을 새 서브넷의 이름에 설정하고 필요한 경우 AZURE_CONTROL_PLANE_SUBNET_CIDR을 구성된 Azure VNet의 CIDR 범위로 설정합니다.
    • AZURE_CONTROL_PLANE_SUBNET_CIDR을 생략하면 CIDR이 자동으로 생성됩니다.

클러스터에서 Worker 노드의 사용자 지정 서브넷을 지정하려면 위의 제어부 노드와 동일한 규칙에 따라 환경 변수 AZURE_NODE_SUBNET_NAMEAZURE_NODE_SUBNET_CIDR을 설정합니다.

예:

AZURE_CONTROL_PLANE_SUBNET_CIDR: 10.0.0.0/24
AZURE_CONTROL_PLANE_SUBNET_NAME: my-cp-subnet
AZURE_NODE_SUBNET_CIDR: 10.0.1.0/24
AZURE_NODE_SUBNET_NAME: my-worker-subnet
AZURE_RESOURCE_GROUP: my-rg
AZURE_VNET_CIDR: 10.0.0.0/16
AZURE_VNET_NAME: my-vnet
AZURE_VNET_RESOURCE_GROUP: my-rg

후속 작업

관리 클러스터 구성 파일 업데이트를 완료한 후 구성 파일에서 관리 클러스터 배포 지침에 따라 관리 클러스터를 생성합니다.

중요

새 버전의 Tanzu Kubernetes Grid(예: v2.3)를 사용하여 관리 클러스터를 Azure에 처음 배포하는 경우, 해당 버전의 기본 이미지 라이센스를 수락했는지 확인합니다. 자세한 내용은 Microsoft Azure에 관리 클러스터 배포 준비기본 이미지 라이센스 수락을 참조하십시오.

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