Microsoft Azure 的管理集群配置

要创建集群配置文件,您可以将先前部署的现有配置文件复制到 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 帐户和区域的相关信息。

例如:

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_TYPEAZURE_NODE_MACHINE_TYPE 选项中设置节点计算机的实例类型。默认情况下,这些设置还用于工作负载集群。最低配置为 2 个 CPU 和 8 GB 内存。兼容的实例类型列表因区域而异。

AZURE_CONTROL_PLANE_MACHINE_TYPE: "Standard_D2s_v3"
AZURE_NODE_MACHINE_TYPE: "Standard_D2s_v3"

您可以使用 SIZECONTROLPLANE_SIZEWORKER_SIZE 选项覆盖这些设置。要创建所有控制平面虚拟机和工作节点虚拟机大小相同的工作负载集群,请指定 SIZE 变量。如果设置 SIZE 变量,将使用您设置的配置创建所有节点。设置为 Standard_D2s_v3Standard_D4s_v3 等。有关 Azure 节点实例的信息,请参见 Azure 中虚拟机的大小

SIZE: Standard_D2s_v3

要创建控制平面虚拟机和工作节点虚拟机大小不同工作负载的集群,请指定 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 并且工作节点将设置为 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。

要为集群中的工作节点指定自定义子网,请遵循上述控制平面节点的相同规则设置环境变量 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.4)将管理集群部署到 Azure,请确保您已接受该版本的基础映像许可证。有关信息,请参见准备将管理集群部署到 Microsoft Azure 中的接受基础映像许可证

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