Compartir vía


Uso de grupos con ubicación por proximidad para disminuir la latencia de los clústeres de Azure Kubernetes Service (AKS)

Nota

Cuando se usan los grupos con ubicación por proximidad en AKS, la coubicación solo se aplica a los nodos agente. Se mejora la latencia nodo a nodo y la latencia pod a pod hospedado correspondiente. La coubicación no afecta la selección de ubicación del plano de control de un clúster.

Al implementar la aplicación en Azure, la propagación de instancias de máquina virtual (VM) entre regiones o zonas de disponibilidad puede crear una latencia de red, lo que puede afectar al rendimiento general de la aplicación. Un grupo con ubicación por proximidad es una agrupación lógica que se usa para asegurarse de que los recursos de proceso de Azure se encuentran físicamente cercanos entre sí. Algunas aplicaciones, como los juegos, simulaciones de ingeniería y operaciones bursátiles de alta frecuencia (HFT), requieren una latencia baja y tareas que se completen rápidamente. En escenarios de informática de alto rendimiento (HPC) similares, considere la posibilidad de usar grupos con ubicación por proximidad (PPG) en los grupos de nodos del clúster.

Antes de empezar

En este artículo se necesita la CLI de Azure versión 2.14 o posterior. Ejecute az --version para encontrar la versión. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.

Limitaciones

  • Un grupo con ubicación por proximidad se puede asignar a solo una zona de disponibilidad.
  • Un grupo de nodos debe usar Virtual Machine Scale Sets para asociar un grupo con ubicación por proximidad.
  • Un grupo de nodos puede asociar un grupo con ubicación por proximidad solo en el momento de la creación del grupo de nodos.

Grupos de nodos y grupos con ubicación por proximidad

El primer recurso que se implementa con un grupo con ubicación por proximidad se adjunta a un centro de datos específico. Los recursos adicionales implementados con el mismo grupo con ubicación por proximidad se colocan en el mismo centro de datos. Una vez que todos los recursos que usan el grupo con ubicación por proximidad se han detenido (desasignado) o eliminado, ya no se adjuntan.

  • Puede asociar varios grupos de nodos con un único grupo con ubicación por proximidad.
  • Solo puede asociar un grupo de nodos a un único grupo con ubicación por proximidad.

Configuración de grupos con ubicación por proximidad con zonas de disponibilidad

Nota

Aunque los grupos con ubicación por proximidad necesitan un grupo de nodos para poder usar solo una zona de disponibilidad, el Acuerdo de Nivel de Servicio de máquina virtual de Azure de línea de base del 99,9 % sigue vigente para las máquinas virtuales de una sola zona.

Los grupos de ubicación por proximidad son un concepto de grupo de nodos y están asociados a cada grupo de nodos individual. El uso de un recurso PPG no afecta a la disponibilidad del plano de control de AKS, lo que puede afectar a cómo debe diseñar el clúster con zonas. Para que un clúster se distribuya entre varias zonas, se recomienda usar el diseño siguiente:

  • Aprovisione un clúster con el primer grupo de sistemas con tres zonas y ningún grupo con ubicación por proximidad asociado para asegurarse de que los pods del sistema llegan a un grupo de nodos dedicado, que se distribuye entre varias zonas.
  • Agregue grupos de nodos de usuario adicionales con una única zona y un grupo de ubicación por proximidad asociado a cada grupo. Por ejemplo, nodepool1 en la zona uno y PPG1, nodepool2 en la zona dos y PPG2, y nodepool3 en la zona tres con PPG3. Esta configuración asegura que, en el nivel de clúster, los nodos se reparten entre varias zonas y cada grupo de nodos individual se ubica en la zona designada con un recurso de PPG dedicado.

Creación de un clúster de AKS con un grupo con ubicación por proximidad

Las redes aceleradas mejoran en gran medida el rendimiento de red de las máquinas virtuales. Idealmente, use grupos con ubicación por proximidad con redes aceleradas. De forma predeterminada, AKS usa redes aceleradas en las instancias de máquinas virtuales admitidas, que incluyen la mayoría de las máquinas virtuales de Azure con dos o más CPU virtuales.

  1. Cree un grupo de recursos de Azure con el comando az group create.

    az group create --name myResourceGroup --location centralus
    
  2. Cree un grupo con ubicación por proximidad con el comando az ppg create. Asegúrese de anotar el valor de identificador en la salida.

    az ppg create --name myPPG --resource-group myResourceGroup --location centralus --type standard
    

    El comando genera una salida similar a la salida de ejemplo siguiente, que incluye el valor de Identificador que necesita para los próximos comandos de la CLI.

    {
      "availabilitySets": null,
      "colocationStatus": null,
      "id": "/subscriptions/yourSubscriptionID/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myPPG",
      "location": "centralus",
      "name": "myPPG",
      "proximityPlacementGroupType": "Standard",
      "resourceGroup": "myResourceGroup",
      "tags": {},
      "type": "Microsoft.Compute/proximityPlacementGroups",
      "virtualMachineScaleSets": null,
      "virtualMachines": null
    }
    
  3. Cree un clúster de AKS con el comando az aks create y reemplace el valor myPPGResourceID por el identificador de recurso del grupo con ubicación por proximidad del paso anterior.

    az aks create \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --ppg myPPGResourceID
        --generate-ssh-keys
    

Incorporación de un grupo con ubicación por proximidad a un clúster existente

Puede agregar un grupo con ubicación por proximidad a un clúster existente mediante la creación de un grupo de nodos nuevo. Si lo desea, puede migrar las cargas de trabajo existentes al grupo de nodos nuevo y eliminar el grupo de nodos original.

Use el mismo grupo con ubicación por proximidad que creó anteriormente para garantizar que los nodos de agente de ambos grupos de nodos del clúster de AKS estén físicamente ubicados en el mismo centro de datos.

  • Cree un grupo de nodos nuevo con el comando az aks nodepool add y reemplace el valor myPPGResourceID por el identificador de recurso del grupo con ubicación por proximidad.

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name mynodepool \
        --node-count 1 \
        --ppg myPPGResourceID
    

Limpieza

  • Elimine el grupo de recursos de Azure junto con todos sus recursos mediante el comando az group delete.

    az group delete --name myResourceGroup --yes --no-wait
    

Pasos siguientes

Más información sobre los grupos con ubicación por proximidad.