Microsoft Azure용 관리 클러스터 구성

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

관리 클러스터 구성 템플릿

아래 템플릿에는 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"
# 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_USERNAME: userPrincipalName
# LDAP_USER_SEARCH_ID_ATTRIBUTE: DN
# LDAP_USER_SEARCH_EMAIL_ATTRIBUTE: DN
# LDAP_USER_SEARCH_NAME_ATTRIBUTE:
# LDAP_GROUP_SEARCH_BASE_DN:
# LDAP_GROUP_SEARCH_FILTER:
# LDAP_GROUP_SEARCH_USER_ATTRIBUTE: DN
# LDAP_GROUP_SEARCH_GROUP_ATTRIBUTE:
# LDAP_GROUP_SEARCH_NAME_ATTRIBUTE: cn
# 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.2)를 사용하여 관리 클러스터를 Azure에 처음 배포하는 경우, 해당 버전의 기본 이미지 라이센스를 수락했는지 확인합니다. 자세한 내용은 Microsoft Azure에 관리 클러스터 배포 준비기본 이미지 라이센스 수락을 참조하십시오.

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