File di configurazione del cluster Azure

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.

Panoramica

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.

Creazione di un 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.

Modello 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: ""

Creazione di gruppi di sicurezza di rete di Azure per la VNet esistente

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:

  • Un gruppo di sicurezza di rete denominato CLUSTER-NAME-controlplane-nsg e associato alla subnet del piano di controllo del cluster
  • Un 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.

Creazione di un file di specifica di oggetto

È 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.

Passaggi successivi

Passare a Creazione di cluster del carico di lavoro.

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