Questo argomento spiega come utilizzare un file di configurazione piatto o una specifica di oggetto di tipo Kubernetes per configurare un cluster di carichi di lavoro Tanzu Kubernetes Grid (TKG) prima di distribuirlo su Microsoft Azure con un cluster di gestione autonomo.
Per informazioni generali su come configurare i cluster del carico di lavoro utilizzando i file di configurazione e le specifiche degli oggetti, vedere File di configurazione e specifiche degli oggetti.
Per utilizzare le funzionalità del cluster di carichi di lavoro specifiche di Azure che richiedono una configurazione al di fuori del file di configurazione del cluster o delle specifiche dell'oggetto, vedere Cluster su Azure.
ImportanteTanzu Kubernetes Grid v2.4.x è l'ultima versione di TKG che supporta la creazione di cluster del carico di lavoro TKG in Azure. La possibilità di creare cluster del carico di lavoro TKG in Azure verrà rimossa nella versione Tanzu Kubernetes Grid v2.5.
A partire da ora, VMware consiglia di utilizzare Tanzu Mission Control per creare cluster Azure AKS nativi anziché creare nuovi cluster del carico di lavoro TKG in Azure. Per informazioni su come creare cluster Azure AKS nativi con Tanzu Mission Control, vedere Gestione del ciclo di vita dei cluster Azure AKS nella documentazione di Tanzu Mission Control.
Per ulteriori informazioni, vedere Deprecazione dei cluster di gestione e del carico di lavoro TKG in AWS e Azure nelle Note di rilascio di VMware Tanzu Kubernetes Grid v2.4.
Per configurare un cluster del carico di lavoro prima di distribuirlo in Azure, creare un file di configurazione del cluster o un file di specifica di oggetto di tipo Kubernetes. Quando si passa uno di questi file all'opzione -f
di tanzu cluster create
, la CLI di Tanzu utilizza le informazioni di configurazione definite nel file per connettersi all'account di Azure e creare le risorse che il cluster utilizzerà.
Per l'elenco completo delle opzioni che è necessario specificare quando si distribuiscono cluster del carico di lavoro in Azure, vedere le Informazioni di riferimento sulle variabili del file di configurazione.
Per creare un file di configurazione del cluster, è possibile utilizzare il modello in Modello di cluster del carico di lavoro, di seguito. Dopo aver creato il file di configurazione, passare a Creazione di cluster del carico di lavoro.
Il modello seguente include tutte le opzioni pertinenti per la distribuzione di cluster del carico di lavoro in Azure. È possibile copiare questo modello e aggiornarlo per distribuire cluster del carico di lavoro in Azure.
Le opzioni obbligatorie non sono commentate. Le impostazioni facoltative sono commentate. I valori predefiniti sono inclusi, se applicabile.
Il modo in cui si configurano le variabili per i cluster del carico di lavoro specifici di Azure è identico per i cluster di gestione e per i cluster del carico di lavoro. Per informazioni su come configurare le variabili, vedere Distribuzione di cluster di gestione da un file di configurazione e Configurazione del cluster di gestione per Azure.
#! ---------------------------------------------------------------------
#! Cluster creation basic configuration
#! ---------------------------------------------------------------------
# CLUSTER_NAME:
CLUSTER_PLAN: dev
NAMESPACE: default
# CLUSTER_API_SERVER_PORT:
CNI: antrea
#! ---------------------------------------------------------------------
#! Node configuration
#! ---------------------------------------------------------------------
# SIZE:
# CONTROLPLANE_SIZE:
# WORKER_SIZE:
# AZURE_CONTROL_PLANE_MACHINE_TYPE: "Standard_D2s_v3"
# AZURE_NODE_MACHINE_TYPE: "Standard_D2s_v3"
# CONTROL_PLANE_MACHINE_COUNT: 1
# WORKER_MACHINE_COUNT: 1
# WORKER_MACHINE_COUNT_0:
# WORKER_MACHINE_COUNT_1:
# WORKER_MACHINE_COUNT_2:
# AZURE_CONTROL_PLANE_OS_DISK_SIZE_GIB: 128
# AZURE_CONTROL_PLANE_OS_DISK_STORAGE_ACCOUNT_TYPE: Premium_LRS
# AZURE_NODE_OS_DISK_SIZE_GIB: 128
# AZURE_NODE_OS_DISK_STORAGE_ACCOUNT_TYPE: Premium_LRS
# AZURE_CONTROL_PLANE_DATA_DISK_SIZE_GIB: 256
# AZURE_ENABLE_NODE_DATA_DISK: false
# AZURE_NODE_DATA_DISK_SIZE_GIB: 256
#! ---------------------------------------------------------------------
#! 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_ENABLE_ACCELERATED_NETWORKING: true
# AZURE_RESOURCE_GROUP: ""
# AZURE_VNET_RESOURCE_GROUP: ""
# AZURE_VNET_NAME: ""
# AZURE_VNET_CIDR: "10.0.0.0/16"
# AZURE_CONTROL_PLANE_SUBNET_NAME: ""
# AZURE_CONTROL_PLANE_SUBNET_CIDR: "10.0.0.0/24"
# AZURE_CONTROL_PLANE_SUBNET_SECURITY_GROUP: ""
# AZURE_NODE_SUBNET_NAME: ""
# AZURE_NODE_SUBNET_CIDR: "10.0.1.0/24"
# AZURE_NODE_SUBNET_SECURITY_GROUP: ""
# AZURE_NODE_AZ: ""
# AZURE_NODE_AZ_1: ""
# AZURE_NODE_AZ_2: ""
# AZURE_CUSTOM_TAGS:
# AZURE_ENABLE_PRIVATE_CLUSTER: false
# AZURE_FRONTEND_PRIVATE_IP: "10.0.0.100"
# AZURE_ENABLE_CONTROL_PLANE_OUTBOUND_LB: false
# AZURE_ENABLE_NODE_OUTBOUND_LB: false
# AZURE_CONTROL_PLANE_OUTBOUND_LB_FRONTEND_IP_COUNT: 1
# AZURE_NODE_OUTBOUND_LB_FRONTEND_IP_COUNT: 1
# AZURE_NODE_OUTBOUND_LB_IDLE_TIMEOUT_IN_MINUTES: 4
# AZURE_IMAGE_ID:
# AZURE_IMAGE_RESOURCE_GROUP:
# AZURE_IMAGE_NAME:
# AZURE_IMAGE_SUBSCRIPTION_ID:
# AZURE_IMAGE_GALLERY:
# AZURE_IMAGE_PUBLISHER:
# AZURE_IMAGE_OFFER:
# AZURE_IMAGE_SKU:
# AZURE_IMAGE_THIRD_PARTY:
# AZURE_IMAGE_VERSION:
# AZURE_IDENTITY_NAME:
# AZURE_IDENTITY_NAMESPACE:
#! ---------------------------------------------------------------------
#! Common configuration
#! ---------------------------------------------------------------------
# TKG_CUSTOM_IMAGE_REPOSITORY: ""
# TKG_CUSTOM_IMAGE_REPOSITORY_SKIP_TLS_VERIFY: false
# TKG_CUSTOM_IMAGE_REPOSITORY_CA_CERTIFICATE: ""
# TKG_HTTP_PROXY: ""
# TKG_HTTPS_PROXY: ""
# TKG_NO_PROXY: ""
# TKG_PROXY_CA_CERT: ""
ENABLE_AUDIT_LOGGING: false
ENABLE_DEFAULT_STORAGE_CLASS: true
CLUSTER_CIDR: 100.96.0.0/11
SERVICE_CIDR: 100.64.0.0/13
# OS_NAME: ""
# OS_VERSION: ""
# OS_ARCH: ""
#! ---------------------------------------------------------------------
#! Autoscaler configuration
#! ---------------------------------------------------------------------
ENABLE_AUTOSCALER: false
# AUTOSCALER_MAX_NODES_TOTAL: "0"
# AUTOSCALER_SCALE_DOWN_DELAY_AFTER_ADD: "10m"
# AUTOSCALER_SCALE_DOWN_DELAY_AFTER_DELETE: "10s"
# AUTOSCALER_SCALE_DOWN_DELAY_AFTER_FAILURE: "3m"
# AUTOSCALER_SCALE_DOWN_UNNEEDED_TIME: "10m"
# AUTOSCALER_MAX_NODE_PROVISION_TIME: "15m"
# AUTOSCALER_MIN_SIZE_0:
# AUTOSCALER_MAX_SIZE_0:
# AUTOSCALER_MIN_SIZE_1:
# AUTOSCALER_MAX_SIZE_1:
# AUTOSCALER_MIN_SIZE_2:
# AUTOSCALER_MAX_SIZE_2:
#! ---------------------------------------------------------------------
#! Antrea CNI configuration
#! ---------------------------------------------------------------------
# ANTREA_NO_SNAT: false
# ANTREA_DISABLE_UDP_TUNNEL_OFFLOAD: false
# ANTREA_TRAFFIC_ENCAP_MODE: "encap"
# ANTREA_EGRESS_EXCEPT_CIDRS: ""
# ANTREA_NODEPORTLOCAL_ENABLED: true
# ANTREA_NODEPORTLOCAL_PORTRANGE: 61000-62000
# ANTREA_PROXY_ALL: false
# ANTREA_PROXY_NODEPORT_ADDRS: ""
# ANTREA_PROXY_SKIP_SERVICES: ""
# ANTREA_PROXY_LOAD_BALANCER_IPS: false
# ANTREA_FLOWEXPORTER_COLLECTOR_ADDRESS: "flow-aggregator.flow-aggregator.svc:4739:tls"
# ANTREA_FLOWEXPORTER_POLL_INTERVAL: "5s"
# ANTREA_FLOWEXPORTER_ACTIVE_TIMEOUT: "30s"
# ANTREA_FLOWEXPORTER_IDLE_TIMEOUT: "15s"
# ANTREA_KUBE_APISERVER_OVERRIDE:
# ANTREA_TRANSPORT_INTERFACE:
# ANTREA_TRANSPORT_INTERFACE_CIDRS: ""
# ANTREA_MULTICAST_INTERFACES: ""
# ANTREA_MULTICAST_IGMPQUERY_INTERVAL: "125s"
# ANTREA_TUNNEL_TYPE: geneve
# ANTREA_ENABLE_USAGE_REPORTING: false
# ANTREA_ENABLE_BRIDGING_MODE: false
# ANTREA_DISABLE_TXCHECKSUM_OFFLOAD: false
# ANTREA_DNS_SERVER_OVERRIDE: ""
# ANTREA_MULTICLUSTER_ENABLE: false
# ANTREA_MULTICLUSTER_NAMESPACE: ""
I cluster di gestione e i cluster del carico di lavoro di Tanzu Kubernetes Grid in Azure richiedono la definizione di due gruppi di sicurezza di rete nella VNet del cluster e nel relativo gruppo di risorse VNet:
CLUSTER-NAME-controlplane-nsg
e associato alla subnet del piano di controllo del clusterUn gruppo di sicurezza di rete denominato CLUSTER-NAME-node-nsg
e associato alla subnet del nodo worker del cluster
In cui CLUSTER-NAME
è il nome del cluster.
Se si specifica una VNet esistente per un cluster del carico di lavoro, è necessario creare questi gruppi di sicurezza di rete in Azure. Una VNet esistente per un cluster del carico di lavoro viene specificata con AZURE_VNET_NAME
nel relativo file di configurazione.
Se non si specifica una VNet esistente per il cluster, il processo di distribuzione crea una nuova VNet e i gruppi di sicurezza di rete necessari.
Per informazioni su come configurare la VNet, i gruppi di risorse e le subnet del cluster, vedere la tabella Microsoft Azure in Informazioni di riferimento sulle variabili del file di configurazione.
È possibile utilizzare la CLI di Tanzu per convertire un file di configurazione cluster nel file della specifica di un oggetto in stile Kubernetes per un cluster del carico di lavoro basato sulla classe senza distribuire il cluster:
Per generare un file di specifiche degli oggetti per ogni cluster basato su classi creato con tanzu cluster create
, assicurarsi che la funzionalità auto-apply-generated-clusterclass-based-configuration
sia impostata su false
nella configurazione della CLI di Tanzu. Per impostazione predefinita, questa funzionalità è impostata su false
. Quando auto-apply-generated-clusterclass-based-configuration
è impostato su false
e si esegue tanzu cluster create
con il flag --file
, il comando converte il file di configurazione del cluster in un file di specifiche dell'oggetto ed esce senza creare il cluster. Dopo aver rivisto la configurazione, si esegue nuovamente tanzu cluster create
con il file di specifiche dell'oggetto generato dalla CLI di Tanzu. Se è stata aggiornata la configurazione predefinita, per impostarla nuovamente su false
, eseguire:
tanzu config set features.cluster.auto-apply-generated-clusterclass-based-configuration false
Per generare un file di specifiche degli oggetti per un singolo cluster, passare l'opzione --dry-run
a tanzu cluster create
e salvare l'output in un file. Utilizzare le stesse opzioni e lo stesso --file
di configurazione che si utilizzerebbero se si stesse creando il cluster, ad esempio:
tanzu cluster create my-cluster --file my-cluster-config.yaml --dry-run > my-cluster-spec.yaml
È quindi possibile utilizzare questa specifica di oggetto per distribuire un cluster come descritto in Creazione di un cluster basato sulla classe dalla specifica di un oggetto.
Passare a Creazione di cluster del carico di lavoro.