若要建立叢集組態檔,您可以將先前部署的現有組態檔複製到 Azure,並加以更新。或者,也可以使用空白範本從頭開始建立檔案。
重要Tanzu Kubernetes Grid v2.4.x 是支援在 Azure 上建立獨立 TKG 管理叢集的最後一個 TKG 版本。Tanzu Kubernetes Grid v2.5 版本中將移除在 Azure 上建立獨立 TKG 管理叢集的功能。
從現在開始,VMware建議您使用 Tanzu Mission Control 建立原生 Azure AKS 叢集,而不是在 Azure 上建立新的 TKG 管理叢集。有關如何使用 Tanzu Mission Control 原生 Azure AKS 叢集的資訊,請參見《Tanzu Mission Control》說明文件中的管理 Azure AKS 叢集的生命週期。
有關詳細資訊,請參見《VMware Tanzu Kubernetes Grid v2.4 發行說明》中的〈棄用 AWS 和 Azure 上的 TKG 管理和工作負載叢集〉。
以下範本包括用來在 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_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 上,您可以將所有節點虛擬機器設定為具有相同的預先定義組態,或者為控制平面和工作節點設定不同的預先定義組態。藉由使用這些設定,您可以建立工作負載叢集,且其中的節點具有與管理叢集節點不同的組態。您還可以建立叢集,且其中的控制平面節點和工作節點具有不同的組態。
在您建立管理叢集時,會在 AZURE_CONTROL_PLANE_MACHINE_TYPE
和 AZURE_NODE_MACHINE_TYPE
選項中設定節點機器的執行個體類型。依預設,這些設定也會用於工作負載叢集。最低組態為 2 個 CPU 和 8 GB 記憶體。相容的執行個體類型清單會因區域而異。
AZURE_CONTROL_PLANE_MACHINE_TYPE: "Standard_D2s_v3"
AZURE_NODE_MACHINE_TYPE: "Standard_D2s_v3"
您可以使用 SIZE
、CONTROLPLANE_SIZE
和 WORKER_SIZE
選項來覆寫這些設定。若要建立所有控制平面虛擬機器和工作節點虛擬機器大小相同的工作負載叢集,請指定 SIZE
變數。如果您設定 SIZE
變數,將使用您設定的組態來建立所有節點。設定為 Standard_D2s_v3
、Standard_D4s_v3
等。如需 Azure 節點執行個體的相關資訊,請參閱 Azure 中虛擬機器的大小。
SIZE: Standard_D2s_v3
若要建立工作負載叢集,且其中含有不同大小的控制平面虛擬機器和工作節點虛擬機器,請指定 CONTROLPLANE_SIZE
和 WORKER_SIZE
選項。
CONTROLPLANE_SIZE: Standard_D2s_v3
WORKER_SIZE: Standard_D4s_v3
您可以將 CONTROLPLANE_SIZE
和 WORKER_SIZE
選項與 SIZE
選項合併使用。例如,如果指定 SIZE: "Standard_D2s_v3"
和 WORKER_SIZE: "Standard_D4s_v3"
,則會將控制平面節點設定為 Standard_D2s_v3
,將工作節點設定為 Standard_D4s_v3
。
SIZE: Standard_D2s_v3
WORKER_SIZE: Standard_D4s_v3
若要為叢集中的節點指定自訂子網路 (IP 範圍),在您建立叢集之前,請依如下所示來設定變數。您可以在執行 tanzu cluster create
之前,將它們定義為環境變數,或者將它們包含在藉由 --file
選項傳入的叢集組態檔中。
若要為叢集中的控制平面節點指定自訂子網路 (IP 範圍),請執行下列動作:
AZURE_CONTROL_PLANE_SUBNET_NAME
設定為子網路名稱。AZURE_CONTROL_PLANE_SUBNET_NAME
設定為新子網路的名稱,並選擇性地將 AZURE_CONTROL_PLANE_SUBNET_CIDR
設定為所設定的 Azure VNet 中的 CIDR 範圍。
AZURE_CONTROL_PLANE_SUBNET_CIDR
,則會自動產生 CIDR。若要為叢集中的工作節點指定自訂子網路,請遵循上述控制平面節點的相同規則,來設定環境變數 AZURE_NODE_SUBNET_NAME
和 AZURE_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 中的接受基礎映像授權。