Conjuntos de escalado de máquinas virtuales y grupos de selección de ubicación

Nota:

En este documento se tratan los conjuntos de escalado de máquinas virtuales que se ejecutan en modo de orquestación uniforme. Se recomienda usar la orquestación flexible para las cargas de trabajo nuevas. Para obtener más información, consulte Modos de orquestación para los conjuntos de escalado de máquinas virtuales de Azure.

Ahora puede crear conjuntos de escalado de máquinas virtuales de Azure con una capacidad de hasta 1000 máquinas virtuales. En este documento, un conjunto de escalado de máquinas virtuales grande se define como un conjunto de escalado capaz de escalar a más de 100 máquinas virtuales. Esta funcionalidad se establece con una propiedad de conjunto de escalado (singlePlacementGroup=False).

Algunos aspectos de los grandes conjuntos de escalado, como los dominios de error y el equilibrio de carga, se comportan de manera diferente a los de un conjunto de escalado estándar. En este documento se explican las características de los grandes conjuntos de escalado y se describe lo que se necesita saber para usarlos correctamente en las aplicaciones.

Un enfoque habitual para implementar una infraestructura de nube a gran escala consiste en crear un conjunto de unidades de escalado, por ejemplo, crear varios conjuntos de escalado de máquinas virtuales en varias redes virtuales y cuentas de almacenamiento. Este enfoque facilita la administración en comparación con la de una sola máquina virtual, y varias unidades de escalado son útiles para muchas aplicaciones, especialmente para aquellas que requieren otros componentes apilables, como varias redes virtuales y puntos de conexión. Sin embargo, si su aplicación requiere un único clúster de gran tamaño, quizás sea más sencillo implementar un único conjunto de escalado con hasta 1000 máquinas virtuales. Algunos escenarios de ejemplo son las implementaciones de macrodatos centralizadas y las mallas de computación que requieren una administración sencilla de un grupo grande de nodos de trabajo. Combinados con los discos de datos conectados de un conjunto de escalado de máquinas virtuales, los grandes conjuntos de escalado permiten implementar una infraestructura escalable compuesta por miles de vCPU y petabytes de almacenamiento, en una única operación.

Grupos de selección de ubicación

Lo que hace que un conjunto de escalado grande sea especial no es el número de máquinas virtuales, sino el número de grupos de selección de ubicación que contiene. Un grupo de selección de ubicación es una construcción similar a un conjunto de disponibilidad de Azure, con sus propios dominios de error y dominios de actualización. De forma predeterminada, un conjunto de escalado consta de un único grupo de selección de ubicación con un tamaño máximo de 100 máquinas virtuales. Si la propiedad singlePlacementGroup de un conjunto de escalado se establece en false, el conjunto de escalado puede estar compuesto por varios grupos de selección de ubicación y tiene un intervalo de 0 a 1000 máquinas virtuales. Cuando se establece en el valor predeterminado true, el conjunto de escalado se compone de un solo grupo de selección de ubicación y tiene un intervalo de 0 a 100 máquinas virtuales.

Lista de comprobación para usar grandes conjuntos de escalado

Para decidir si la aplicación puede hacer un uso eficaz de los conjuntos de escalado grandes, tenga en cuenta los siguientes requisitos:

  • Si planea implementar un gran número de máquinas virtuales, quizás tenga que aumentar los límites de cuota de vCPU de proceso.
  • Los conjuntos de escalado creados a partir de imágenes de Azure Marketplace o imágenes de Azure Compute Gallery pueden escalar a un máximo de 1000 máquinas virtuales.
  • Los conjuntos de escalado creados a partir de imágenes personalizadas (imágenes de máquina virtual que crea y carga el usuario) actualmente pueden escalar a 600 máquinas virtuales, como máximo.
  • Los conjuntos de escalado grandes necesitan Azure Managed Disks. Los conjuntos de escalado grandes que no se crean con Managed Disks requieren varias cuentas de almacenamiento (una por cada 20 máquinas virtuales). Los conjuntos de escalado grandes están diseñados para trabajar exclusivamente con Managed Disks para reducir la sobrecarga de administración del almacenamiento y para evitar el riesgo de alcanzar los límites de suscripción de las cuentas de almacenamiento.
  • Gran escala (SPG=false) no es compatible con redes InfiniBand
  • El equilibrio de carga de nivel 4 con conjuntos de escalado compuestos por varios grupos de selección de ubicación necesita la SKU estándar de Azure Load Balancer. La SKU estándar de Load Balancer proporciona ventajas adicionales, como la capacidad de equilibrar la carga entre varios conjuntos de escalado. La SKU estándar también necesita que el conjunto de escalado tenga un grupo de seguridad de red asociado a ella, en caso contrario, los grupos NAT no funcionarán correctamente. Si necesita usar la SKU básica de Azure Load Balancer, asegúrese de que el conjunto de escalado está configurado para usar un único grupo de selección de ubicación, que es el valor predeterminado.
  • Se admite el equilibrio de carga de nivel 7 con Azure Application Gateway para todos los conjuntos de escalado.
  • Un conjunto de escalado se define con una sola subred; asegúrese de que la subred tenga suficiente espacio de direcciones para todas las máquinas virtuales que necesita. De forma predeterminada, un conjunto de escalado se aprovisiona en exceso (crea máquinas virtuales adicionales durante la implementación o durante el escalado horizontal, que no se le cobran) para mejorar el rendimiento y la confiabilidad de la implementación. Deje un 20 % más de espacio que el número de máquinas virtuales al que tiene pensado escalar.
  • Los dominios de error y los dominios de actualización solo son coherentes dentro de un grupo de selección de ubicación. Esta arquitectura no cambia la disponibilidad global de un conjunto de escalado, ya que las máquinas virtuales se distribuyen uniformemente entre los distintos componentes de hardware físico, pero significa que, si tiene que garantizar que dos máquinas virtuales están en un hardware diferente, debe asegurarse de que están en distintos dominios de error en el mismo grupo de selección de ubicación. Consulte este vínculo Opciones de disponibilidad para Azure.
  • El dominio de error y el identificador del grupo de selección de ubicación se muestran en la vista de instancia de una máquina virtual del conjunto de escalado. Puede ver la vista de instancia de una máquina virtual del conjunto de escalado el Explorador de recursos de Azure.

Creación de un conjunto de escalado grande

Al crear un conjunto de escalado en Azure Portal, simplemente especifique un valor de Recuento de instancias de hasta 1000. Si hay más de 100 instancias, en Habilitar el escalado con más de 100 instancias está seleccionado , lo que le permitirá escalar a varios grupos de selección de ubicación.

Esta imagen muestra la hoja de instancias de Azure Portal. Están disponibles las opciones para seleccionar el número de instancias y el tamaño de la instancia.

Puede crear un conjunto de escalado de máquinas virtuales grande con el comando az vmss create de la CLI de Azure. Este comando establece valores predeterminados inteligentes, como el tamaño de la subred, en función del argumento instance-count:

az group create -l southcentralus -n biginfra
az vmss create -g biginfra -n bigvmss --image Ubuntu2204 --instance-count 1000

Los valores predeterminados del comando vmss create incluyen determinados valores de configuración que se aplicarán si no los especifica. Para ver las opciones disponibles que puede invalidar, pruebe lo siguiente:

az vmss create --help

Si para crear un conjunto de escalado grande va a utilizar una plantilla de Azure Resource Manager, asegúrese de que la plantilla crea un conjunto de escalado basado en Azure Managed Disks. Puede establecer la propiedad singlePlacementGroup en false en la sección properties del recurso Microsoft.Compute/virtualMAchineScaleSets. El siguiente fragmento JSON muestra el principio de una plantilla de conjunto de escalado, incluida la capacidad de 1000 máquinas virtuales y la configuración "singlePlacementGroup" : false:

{
  "type": "Microsoft.Compute/virtualMachineScaleSets",
  "location": "australiaeast",
  "name": "bigvmss",
  "sku": {
    "name": "Standard_DS1_v2",
    "tier": "Standard",
    "capacity": 1000
  },
  "properties": {
    "singlePlacementGroup": false,
    "upgradePolicy": {
      "mode": "Automatic"
    }

Para ver un ejemplo completo de una plantilla de conjunto de escalado de gran tamaño, consulte https://github.com/gbowerman/azure-myriad/blob/main/bigtest/bigbottle.json.

Conversión de un conjunto de escalado existente para incluir varios grupos de selección de ubicación

Para que un conjunto de escalado de máquinas virtuales existente pueda escalar a más de 100 máquinas virtuales, tiene que cambiar la propiedad singlePlacementGroup a false en el modelo del conjunto de escalado. Puede probar a cambiar esta propiedad con el Explorador de recursos de Azure. Buscar un conjunto de escalado existente, seleccione Editar y cambie la propiedad singlePlacementGroup. Si no ve esta propiedad, quizás esté viendo el conjunto de escalado con una versión anterior de la API Microsoft.Compute.

Nota:

Puede cambiar un conjunto de escalado para que admita más de un grupo de selección de ubicación, pero no al revés. Por lo tanto, asegúrese de que comprende las propiedades de los conjuntos de escalado grandes antes de convertirlos.