Fichiers de configuration du cluster Azure

Cette rubrique explique comment utiliser un fichier de configuration plat ou une spécification d'objet de style Kubernetes pour configurer un cluster de charge de travail Tanzu Kubernetes Grid (TKG) avant de le déployer sur Microsoft Azure avec un cluster de gestion autonome.

Pour obtenir des informations générales sur la configuration des clusters de charge de travail à l'aide de fichiers de configuration et de spécifications d'objets, reportez-vous à la section Fichiers de configuration et spécifications d'objet.

Pour utiliser les fonctionnalités de cluster de charge de travail spécifiques à Azure qui nécessitent une configuration en dehors du fichier de configuration ou de la spécification d'objet du cluster, reportez-vous à la section Clusters sur Azure.

Important

Tanzu Kubernetes Grid v2.4.x est la dernière version de TKG qui prend en charge la création de clusters de charge de travail TKG sur Azure. La possibilité de créer des clusters de charge de travail TKG sur Azure sera supprimée dans la version v2.5 de Tanzu Kubernetes Grid.

À partir de maintenant, VMware vous recommande d'utiliser Tanzu Mission Control pour créer des clusters Azure AKS natifs au lieu de créer des clusters de charge de travail TKG sur Azure. Pour plus d'informations sur la création de clusters Azure AKS natifs avec Tanzu Mission Control, reportez-vous à la section Gestion du cycle de vie des clusters Azure AKS de la documentation de Tanzu Mission Control.

Pour plus d'informations, reportez-vous à la section Obsolescence des clusters de gestion et de charge de travail TKG sur AWS et Azure des Notes de mise à jour de VMware Tanzu Kubernetes Grid v2.4.

Présentation

Pour configurer un cluster de charge de travail avant de le déployer sur Azure, vous créez un fichier de configuration de cluster ou un fichier de spécification d’objet de style Kubernetes. Lorsque vous transmettez l'un de ces fichiers à l'option -f de tanzu cluster create, la CLI Tanzu utilise les informations de configuration définies dans le fichier pour vous connecter à votre compte Azure et créer les ressources que le cluster utilisera.

Pour obtenir la liste complète des options que vous devez spécifier lors du déploiement de clusters de charge de travail sur Azure, reportez-vous à la section Référence de variable de fichier de configuration.

Créer un fichier de configuration

Pour créer un fichier de configuration de cluster, vous pouvez utiliser le modèle dans la section Modèle de cluster de travail ci-dessous. Après avoir créé le fichier de configuration, passez à la section Créer des clusters de charge de travail.

Modèle de cluster de charge de travail

Le modèle ci-dessous inclut toutes les options pertinentes pour le déploiement de clusters de charge de travail sur Azure. Vous pouvez copier ce modèle et le mettre à jour pour déployer des clusters de charge de travail sur Azure.

Les marques de commentaire sont supprimées pour les options obligatoires. Elles sont ajoutées pour les paramètres facultatifs. Les valeurs par défaut sont incluses le cas échéant.

La manière dont vous configurez les variables des clusters de charge de travail spécifiques à Azure est identique pour les clusters de gestion et les clusters de charge de travail. Pour plus d'informations sur la configuration des variables, reportez-vous aux sections Déployer des clusters de gestion à partir d'un fichier de configuration et Configuration du cluster pour 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: ""

Création de NSG Azure pour le réseau virtuel existant

Les clusters de gestion et de charge de travail Tanzu Kubernetes Grid sur Azure nécessitent la définition de deux groupes de sécurité réseau (NSG) sur le réseau virtuel du cluster et dans son groupe de ressources de réseau virtuel :

  • Un NSG nommé CLUSTER-NAME-controlplane-nsg et associé au sous-réseau du plan de contrôle du cluster.
  • Un NSG nommé CLUSTER-NAME-node-nsg et associé au sous-réseau du nœud worker du cluster.

    CLUSTER-NAME est le nom du cluster.

Si vous spécifiez un réseau virtuel existant pour un cluster de charge de travail, vous devez créer ces NSG dans Azure. Un réseau virtuel existant pour un cluster de charge de travail est spécifié avec AZURE_VNET_NAME dans son fichier de configuration.

Si vous ne spécifiez pas de réseau virtuel existant pour le cluster, le processus de déploiement crée un nouveau réseau virtuel et les NSG requis.

Pour savoir comment configurer le réseau virtuel, les groupes de ressources et les sous-réseaux du cluster, reportez-vous au tableau Microsoft Azure de la Référence de variable du fichier de configuration.

Créer un fichier de spécification d'objet

Vous pouvez utiliser la CLI Tanzu pour convertir un fichier de configuration de cluster en fichier de spécification d'objet de style Kubernetes pour un cluster de charge de travail basé sur une classe sans déployer le cluster :

  • Pour générer un fichier de spécification d'objet pour chaque cluster basé sur une classe que vous créez avec tanzu cluster create, assurez-vous que la fonctionnalité auto-apply-generated-clusterclass-based-configuration est définie sur false dans la configuration de la CLI Tanzu. Cette fonctionnalité est définie sur false par défaut. Lorsque auto-apply-generated-clusterclass-based-configuration est défini sur false et que vous exécutez tanzu cluster create avec l'indicateur --file, la commande convertit votre fichier de configuration de cluster en fichier de spécification d'objet et se ferme sans créer le cluster. Après avoir examiné la configuration, réexécutez tanzu cluster create avec le fichier de spécification d'objet généré par la CLI Tanzu. Si vous avez mis à jour la configuration par défaut, pour la rétablir à false, exécutez :

    tanzu config set features.cluster.auto-apply-generated-clusterclass-based-configuration false
    
  • Pour générer un fichier de spécification d'objet pour un cluster unique, transmettez l'option --dry-run à tanzu cluster create et enregistrez la sortie dans un fichier. Utilisez les mêmes options et le même --file de configuration que vous utiliseriez pour créer le cluster. Par exemple :

    tanzu cluster create my-cluster --file my-cluster-config.yaml --dry-run > my-cluster-spec.yaml
    

    Vous pouvez utiliser cette spécification d'objet pour déployer un cluster, comme décrit dans la section Créer un cluster basé sur une classe à partir d'une spécification d'objet.

Tâches suivantes

Passez à la section Créer des clusters de charge de travail.

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