Verwenden von Näherungsplatzierungsgruppen zur Verringerung der Wartezeit für AKS-Cluster (Azure Kubernetes Service)

Hinweis

Wenn Sie Näherungsplatzierungsgruppen mit AKS verwenden, betrifft die Colocation nur die Agent-Knoten. Die Wartezeit zwischen Knoten und die entsprechende Wartezeit zwischen gehosteten Pods werden verbessert. Die Colocation hat keine Auswirkung auf die Platzierung der Steuerungsebene eines Clusters.

Wenn Sie Ihre Anwendung in Azure bereitstellen, können Sie Netzwerklatenz erstellen, indem Sie VM-Instanzen (Virtual Machine, virtueller Computer) auf Regionen oder Verfügbarkeitszonen verteilen, was die Gesamtleistung Ihrer Anwendung beeinträchtigen kann. Eine Näherungsplatzierungsgruppe ist eine logische Gruppierung, die dazu dient, eine geringe physische Entfernung zwischen Azure-Computeressourcen sicherzustellen. Einige Anwendungsbereiche wie Spiele, technische Simulationen und Hochfrequenzhandel (High-Frequency Trading, HFT) erfordern geringe Wartezeiten und eine schnelle Aufgabenausführung. In ähnlichen HPC-Szenarien (High Performance Computing) empfiehlt sich ggf. der Einsatz von Näherungsplatzierungsgruppen (PPG) für die Knotenpools Ihres Clusters.

Voraussetzungen

Für diesen Artikel ist mindestens die Azure CLI-Version 2.14 erforderlich. Führen Sie az --version aus, um die Version zu ermitteln. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sie bei Bedarf unter Installieren der Azure CLI.

Einschränkungen

  • Eine Näherungsplatzierungsgruppe kann nur einer Verfügbarkeitszone zugeordnet werden.
  • Ein Knotenpool muss Virtual Machine Scale Sets verwenden, um eine Näherungsplatzierungsgruppe zuzuordnen.
  • Ein Knotenpool kann eine Näherungsplatzierungsgruppe nur für die Erstellungszeit des Knotenpools zuordnen.

Knotenpools und Näherungsplatzierungsgruppen

Die erste Ressource, die Sie mit einer Näherungsplatzierungsgruppe bereitstellen, wird einem bestimmten Rechenzentrum zugeordnet. Zusätzliche Ressourcen, die Sie mit der gleichen Näherungsplatzierungsgruppe bereitstellen, werden im gleichen Rechenzentrum platziert. Wenn alle Ressourcen, von denen die Näherungsplatzierungsgruppe verwendet wird, beendet (Zuordnung aufgehoben) oder gelöscht wurden, ist sie nicht mehr zugeordnet.

  • Sie können mehrere Knotenpools einer einzelnen Näherungsplatzierungsgruppe zuordnen.
  • Sie können nur einen Knotenpool einer einzelnen Näherungsplatzierungsgruppe zuordnen.

Konfigurieren von Näherungsplatzierungsgruppen mit Verfügbarkeitszonen

Hinweis

Während Näherungsplatzierungsgruppen einen Knotenpool benötigen, um nur eine Verfügbarkeitszone nutzen zu können, gilt für VMs in einer einzelnen Zone immer noch die grundlegende Azure VM-SLA von 99,9 %.

Näherungsplatzierungsgruppen sind ein Knotenpoolkonzept und mit jedem einzelnen Knotenpool verbunden. Die Verwendung einer PPG-Ressource hat keine Auswirkungen auf die Verfügbarkeit der AKS-Steuerungsebene, was sich darauf auswirken kann, wie Sie Ihren Cluster mit Zonen entwerfen sollten. Um sicherzustellen, dass ein Cluster über mehrere Zonen verteilt ist, wird der folgende Entwurf empfohlen:

  • Stellen Sie einen Cluster mit dem ersten Systempool mithilfe von drei Zonen und ohne zugeordnete Näherungsplatzierungsgruppe bereit, um sicherzustellen, dass die Systempods in einem dedizierten Knotenpool landen, der sich auf mehrere Zonen verteilt.
  • Fügen Sie zusätzliche Benutzerknotenpools mit einer eindeutigen Zone und einer jedem Pool zugeordneten Näherungsplatzierungsgruppe hinzu. Ein Beispiel ist nodepool1 in Zone 3 und PPG1, nodepool2 in Zone 2 und PPG2 und nodepool3 in Zone 3 mit PPG3. Durch diese Konfiguration wird auf Clusterebene sichergestellt, dass die Knoten über mehrere Zonen verteilt sind und jeder einzelne Knotenpool in der festgelegten Zone mit einer dedizierten PPG-Ressource verbunden ist.

Erstellen eines neuen AKS-Clusters mit einer Näherungsplatzierungsgruppe

Beschleunigter Netzwerkbetrieb trägt erheblich zur Verbesserung der Netzwerkleistung virtueller Computer bei. Es empfiehlt sich daher, Näherungsplatzierungsgruppen mit beschleunigtem Netzwerkbetrieb zu verwenden. Beschleunigter Netzwerkbetrieb wird von AKS standardmäßig in unterstützten VM-Instanzen verwendet. Hierzu zählen die meisten virtuellen Azure-Computer mit mindestens zwei vCPUs.

  1. Erstellen Sie mithilfe des Befehls az group create eine Azure-Ressourcengruppe.

    az group create --name myResourceGroup --location centralus
    
  2. Erstellen Sie eine Näherungsplatzierungsgruppe über den Befehl az ppg create. Notieren Sie sich den ID-Wert in der Ausgabe.

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

    Der Befehl erzeugt eine Ausgabe ähnlich der folgenden Beispielausgabe, die den ID-Wert enthält, den Sie für anstehende CLI-Befehle benötigen.

    {
      "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. Erstellen Sie mithilfe des Befehls az aks create einen AKS-Cluster, und ersetzen Sie den Wert myPPGResourceID durch die Ressourcen-ID der Näherungsplatzierungsgruppe aus dem vorherigen Schritt.

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

Hinzufügen einer Näherungsplatzierungsgruppe in einen vorhandenen Cluster

Sie können einem vorhandenen Cluster eine Näherungsplatzierungsgruppe hinzufügen, indem Sie einen neuen Knotenpool erstellen. Anschließend können Sie vorhandene Workloads optional zum neuen Knotenpool migrieren und den ursprünglichen Knotenpool löschen.

Verwenden Sie die gleiche Näherungsplatzierungsgruppe, die Sie zuvor erstellt haben, um sicherzustellen, dass sich Agent-Knoten in beiden Knotenpools in Ihrem AKS-Cluster physisch im gleichen Rechenzentrum befinden.

  • Erstellen Sie mithilfe des Befehls az aks nodepool add einen neuen Knotenpool, und ersetzen Sie den Wert myPPGResourceID durch die Ressourcen-ID der Näherungsplatzierungsgruppe.

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

Bereinigen

  • Löschen Sie die Azure-Ressourcengruppe und ihre zugehörigen Ressourcen mithilfe des Befehls az group delete.

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

Nächste Schritte

Weitere Informationen zu Näherungsplatzierungsgruppen finden Sie hier.