Archivos de configuración de vSphere con clúster de administración independiente

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 vSphere con un clúster de administración independiente. Para configurar un clúster de carga de trabajo para la implementación en vSphere with Tanzu, consulte Archivos de configuración de vSphere con clúster supervisor.

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 vSphere que requieren alguna configuración fuera del archivo de configuración o las especificaciones de objetos del clúster, consulte Clústeres en vSphere.

Descripción general

Para configurar un clúster de carga de trabajo antes de implementarlo en vSphere, 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 vSphere y crear los recursos que utilizará el clúster. Por ejemplo, puede especificar tamaños estándar para el plano de control y las máquinas virtuales del nodo de trabajo o configurar explícitamente los tamaños de CPU memoria y disco para los nodos de trabajo y el plano de control. Si utiliza plantillas de imagen personalizadas, puede identificar la plantilla que desea utilizar para crear máquinas virtuales de nodo.

Para obtener la lista completa de opciones que debe especificar al implementar clústeres de carga de trabajo en vSphere, 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 vSphere. Puede copiar esta plantilla y actualizarla para implementar clústeres de carga de trabajo en vSphere.

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

A excepción de las opciones que se describen en las secciones situadas debajo de la plantilla, la forma en la que se configuran las variables para los clústeres de carga de trabajo que son específicas de vSphere 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 vSphere.

#! ---------------------------------------------------------------------
#! Basic cluster creation configuration
#! ---------------------------------------------------------------------

# CLUSTER_NAME:
CLUSTER_PLAN: dev
NAMESPACE: default
# CLUSTER_API_SERVER_PORT: # For deployments without NSX Advanced Load Balancer
CNI: antrea

#! ---------------------------------------------------------------------
#! Node configuration
#! ---------------------------------------------------------------------

# SIZE:
# CONTROLPLANE_SIZE:
# WORKER_SIZE:

# VSPHERE_NUM_CPUS: 2
# VSPHERE_DISK_GIB: 40
# VSPHERE_MEM_MIB: 4096

# VSPHERE_CONTROL_PLANE_NUM_CPUS: 2
# VSPHERE_CONTROL_PLANE_DISK_GIB: 40
# VSPHERE_CONTROL_PLANE_MEM_MIB: 8192
# VSPHERE_WORKER_NUM_CPUS: 2
# VSPHERE_WORKER_DISK_GIB: 40
# VSPHERE_WORKER_MEM_MIB: 4096

# CONTROL_PLANE_MACHINE_COUNT:
# WORKER_MACHINE_COUNT:
# WORKER_MACHINE_COUNT_0:
# WORKER_MACHINE_COUNT_1:
# WORKER_MACHINE_COUNT_2:

#! ---------------------------------------------------------------------
#! vSphere configuration
#! ---------------------------------------------------------------------

#VSPHERE_CLONE_MODE: "fullClone"
VSPHERE_NETWORK: VM Network
# VSPHERE_TEMPLATE:
# VSPHERE_TEMPLATE_MOID:
# IS_WINDOWS_WORKLOAD_CLUSTER: false
# VIP_NETWORK_INTERFACE: "eth0"
VSPHERE_SSH_AUTHORIZED_KEY:
VSPHERE_USERNAME:
VSPHERE_PASSWORD:
# VSPHERE_REGION:
# VSPHERE_ZONE:
# VSPHERE_AZ_0:
# VSPHERE_AZ_1:
# VSPHERE_AZ_2:
VSPHERE_SERVER:
VSPHERE_DATACENTER:
VSPHERE_RESOURCE_POOL:
VSPHERE_DATASTORE:
VSPHERE_FOLDER:
# VSPHERE_STORAGE_POLICY_ID
# VSPHERE_WORKER_PCI_DEVICES:
# VSPHERE_CONTROL_PLANE_PCI_DEVICES:
# VSPHERE_IGNORE_PCI_DEVICES_ALLOW_LIST:
# VSPHERE_CONTROL_PLANE_CUSTOM_VMX_KEYS:
# VSPHERE_WORKER_CUSTOM_VMX_KEYS:
# WORKER_ROLLOUT_STRATEGY: "RollingUpdate"
# VSPHERE_CONTROL_PLANE_HARDWARE_VERSION:
# VSPHERE_WORKER_HARDWARE_VERSION:
VSPHERE_TLS_THUMBPRINT:
VSPHERE_INSECURE: false
# VSPHERE_CONTROL_PLANE_ENDPOINT: # Required for Kube-Vip
# VSPHERE_CONTROL_PLANE_ENDPOINT_PORT: 6443
# VSPHERE_ADDITIONAL_FQDN:
AVI_CONTROL_PLANE_HA_PROVIDER: false

#! ---------------------------------------------------------------------
#! NSX specific configuration for enabling NSX routable pods
#! ---------------------------------------------------------------------

# NSXT_POD_ROUTING_ENABLED: false
# NSXT_ROUTER_PATH: ""
# NSXT_USERNAME: ""
# NSXT_PASSWORD: ""
# NSXT_MANAGER_HOST: ""
# NSXT_ALLOW_UNVERIFIED_SSL: false
# NSXT_REMOTE_AUTH: false
# NSXT_VMC_ACCESS_TOKEN: ""
# NSXT_VMC_AUTH_HOST: ""
# NSXT_CLIENT_CERT_KEY_DATA: ""
# NSXT_CLIENT_CERT_DATA: ""
# NSXT_ROOT_CA_DATA: ""
# NSXT_SECRET_NAME: "cloud-provider-vsphere-nsxt-credentials"
# NSXT_SECRET_NAMESPACE: "kube-system"

#! ---------------------------------------------------------------------
#! 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: ""

Si va a implementar el clúster en vSphere y utiliza el equilibrador de carga de Kube-Vip predeterminado para la API del plano de control del clúster, debe especificar su endpoint estableciendo VSPHERE_CONTROL_PLANE_ENDPOINT. Si utiliza NSX Advanced Load Balancer (ALB), no establezca VSPHERE_CONTROL_PLANE_ENDPOINT a menos que necesite que el endpoint del plano de control sea una dirección específica. Si es así, utilice una dirección estática dentro de la red VIP del perfil de IPAM de NSX ALB que agregó manualmente al grupo de direcciones IP estáticas.

No hay dos clústeres, incluidos los clústeres de administración y de carga de trabajo, que pueden tener la misma dirección VSPHERE_CONTROL_PLANE_ENDPOINT.

  • Asegúrese de que esta dirección IP no esté en el rango de DHCP, sino en la misma subred que el rango de DHCP.
  • Si asignó un nombre de dominio completo (FQDN) a la dirección VIP, puede especificar el FQDN en lugar de la dirección VIP.

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.

Para ver un ejemplo de archivo de especificación de objeto, consulte Ejemplo de objeto Cluster y sus objetos subordinados.

Qué hacer a continuación

Continúe con Crear clústeres de carga de trabajo. Después de implementar un clúster de carga de trabajo en vSphere, debe configurar sus reservas de DHCP de nodo y DNS de endpoint como se describe en Configurar las reservas de DHCP del nodo y el registro de DNS de endpoint (solo vSphere).

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