Archivos de configuración del clúster de Azure

En este tema se explica cómo utilizar un archivo de configuración plano o especificaciones de objetos estilo Kubernetes para configurar un clúster de carga de trabajo de Tanzu Kubernetes Grid (TKG) antes de implementarlo en Microsoft Azure con un clúster de administración independiente.

Para obtener información general sobre cómo configurar clústeres de carga de trabajo mediante archivos de configuración y especificaciones de objetos, consulte Especificaciones de objetos y archivos de configuración.

Para utilizar las funciones de clúster de carga de trabajo específicas de Azure que requieren alguna configuración fuera del archivo de configuración o las especificaciones de objetos del clúster, consulte Clústeres en Azure.

Importante

Tanzu Kubernetes Grid v2.4.x es la última versión de TKG que admite la creación de clústeres de carga de trabajo de TKG en Azure. La capacidad para crear clústeres de carga de trabajo de TKG en Azure se eliminará en la versión 2.5 de Tanzu Kubernetes Grid.

A partir de ahora, VMware recomienda utilizar Tanzu Mission Control para crear clústeres nativos de Azure AKS en lugar de crear nuevos clústeres de carga de trabajo de TKG en Azure. Para obtener información sobre cómo crear clústeres nativos de Azure AKS con Tanzu Mission Control, consulte Gestión del ciclo de vida de los clústeres de Azure AKS en la documentación de Tanzu Mission Control.

Para obtener más información, consulte Desuso de la administración de TKG y los clústeres de cargas de trabajo en AWS y Azure en las Notas de la versión de VMware Tanzu Kubernetes Grid v2.4.

Descripción general

Para configurar un clúster de carga de trabajo antes de implementarlo en Azure, cree un archivo de configuración del clúster o un archivo de especificación de objeto de estilo Kubernetes. Al pasar cualquiera de estos archivos a la opción -f de tanzu cluster create, la CLI de Tanzu utiliza la información de configuración definida en el archivo para conectarse a la cuenta de Azure y crear los recursos que utilizará el clúster.

Para obtener la lista completa de opciones que debe especificar al implementar clústeres de carga de trabajo en Azure, consulte la Referencia de variables del archivo de configuración.

Crear un archivo de configuración

Para crear un archivo de configuración del clúster, puede utilizar la plantilla en Plantilla de clúster de carga de trabajo a continuación. Después de crear el archivo de configuración, continúe con Crear clústeres de carga de trabajo.

Plantilla de clúster de carga de trabajo

La siguiente plantilla incluye todas las opciones relevantes para implementar clústeres de carga de trabajo en Azure. Puede copiar esta plantilla y utilizarla para implementar clústeres de carga de trabajo en Azure.

Las opciones obligatorias no están comentadas. Los ajustes opcionales están comentados. Los valores predeterminados se incluyen donde corresponda.

La forma en que se configuran las variables para los clústeres de carga de trabajo que son específicos de Azure es idéntica para los clústeres de administración y los clústeres de carga de trabajo. Para obtener información sobre cómo configurar las variables, consulte Implementar clústeres de administración desde un archivo de configuración y Configuración del clúster de administración para 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: ""

Crear NSG de Azure para la VNet existente

Los clústeres de carga de trabajo y administración de Tanzu Kubernetes Grid en Azure requieren que se definan dos grupos de seguridad de red (NSG) en la VNet del clúster y en su grupo de recursos de VNet:

  • Un NSG denominado CLUSTER-NAME-controlplane-nsg y asociado con la subred del plano de control del clúster
  • Un NSG denominado CLUSTER-NAME-node-nsg y asociado con la subred del nodo de trabajo del clúster

    Donde CLUSTER-NAME es el nombre del clúster.

Si especifica una VNet existente para un clúster de carga de trabajo, debe crear estos NSG en Azure. Se especifica una VNet existente para un clúster de carga de trabajo con AZURE_VNET_NAME en su archivo de configuración.

Si no especifica una VNet existente para el clúster, el proceso de implementación crea una nueva VNet y los NSG necesarios.

Consulte la tabla Microsoft Azure en la Referencia de variables del archivo de configuración para obtener información sobre cómo configurar la VNet, los grupos de recursos y las subredes del clúster.

Crear un archivo de especificación de objeto

Puede utilizar la CLI de Tanzu para convertir un archivo de configuración del clúster en un archivo de especificación de objeto de estilo Kubernetes para un clúster de carga de trabajo basado en clases sin implementar el clúster:

  • Para generar un archivo de especificaciones de objetos para cada clúster basado en clases que cree contanzu cluster create , asegúrese de que la función auto-apply-generated-clusterclass-based-configuration está establecida en false en la configuración de la CLI de Tanzu. Esta función está establecida en false de forma predeterminada. Cuandoauto-apply-generated-clusterclass-based-configuration se establece enfalse y se ejecuta tanzu cluster create con la marca --file, el comando convierte su archivo de configuración de clúster en un archivo de especificación de objeto y sale sin crear el clúster. Después de revisar la configuración, vuelva a ejecutar tanzu cluster create con el archivo de especificaciones de objetos generado por la CLI de Tanzu. Si actualizó la configuración predeterminada, para establecerla de nuevo en false, ejecute:

    tanzu config set features.cluster.auto-apply-generated-clusterclass-based-configuration false
    
  • Para generar un archivo de especificaciones de objetos para un solo clúster, pase la opción --dry-run a tanzu cluster create y guarde los resultados en un archivo. Utilice las mismas opciones y la misma configuración --file que usaría si estuviera creando el clúster, por ejemplo:

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

    Puede utilizar esta especificación de objeto para implementar un clúster como se describe en Crear un clúster basado en clases a partir de una especificación de objeto.

Qué hacer a continuación

Continúe con Crear clústeres de carga de trabajo.

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