Erstellen Sie eine verwaltete Knotengruppe mit Capacity Blocks for ML - Amazon EKS

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen Sie eine verwaltete Knotengruppe mit Capacity Blocks for ML

Mit Kapazitätsblöcken für maschinelles Lernen (ML) können Sie GPU Instanzen zu einem future Zeitpunkt reservieren, um Ihre ML-Workloads mit kurzer Dauer zu unterstützen. Weitere Informationen finden Sie unter Capacity Blocks for ML im EC2Amazon-Benutzerhandbuch für Linux-Instances.

Überlegungen

Wichtig
  • Kapazitätsblöcke sind nur für bestimmte EC2 Amazon-Instance-Typen und AWS Regionen verfügbar. Informationen zur Kompatibilität finden Sie unter Voraussetzungen für das Arbeiten mit Kapazitätsblöcken im EC2Amazon-Benutzerhandbuch für Linux-Instances.

  • Weitere Informationen finden Sie unter Verwenden von Kapazitätsblöcken für Machine-Learning-Workloads im Amazon EC2 Auto Scaling Scaling-Benutzerhandbuch.

  • Verwaltete Knotengruppen mit Kapazitätsblöcken können nur mit benutzerdefinierten Startvorlagen erstellt werden.

  • Wenn Sie verwaltete Knotengruppen mit Kapazitätsblöcken aktualisieren, stellen Sie sicher, dass die gewünschte Größe der Knotengruppe auf eingestellt ist0.

Erstellen Sie eine verwaltete Knotengruppe mit Amazon EC2 Capacity Blocks

Sie können Capacity Blocks mit von Amazon EKS verwalteten Knotengruppen für die Bereitstellung und Skalierung von GPU beschleunigten Worker-Knoten verwenden. Die folgenden AWS CloudFormation Vorlagenbeispiele decken nicht alle Aspekte ab, die in Produktionsclustern benötigt werden. In der Regel benötigen Sie auch ein Bootstrapping-Skript, um den Knoten mit dem Cluster zu verbinden und die EKS Amazon-Beschleunigung anzugeben. AMI Weitere Informationen finden Sie unter Erstellen Sie eine verwaltete Knotengruppe für Ihren Cluster.

  1. Erstellen Sie eine Startvorlage, die für Ihre Workloads geeignet ist und mit von Amazon EKS verwalteten Knotengruppen funktioniert. Weitere Informationen finden Sie unter Passen Sie verwaltete Knoten mit Startvorlagen an.

    Stellen Sie zusätzlich zu den Anforderungen in den oben genannten Verfahren sicher, dass Folgendes Folgendes LaunchTemplateData umfasst:

    • InstanceMarketOptions mit der Einstellung "capacity-block" für MarketType

    • CapacityReservationSpecification: CapacityReservationTargetmit CapacityReservationId Einstellung auf den Capacity-Block (zum Beispiel:cr-02168da1478b509e0 )

    • InstanceTypeauf einen Instance-Typ gesetzt, der Capacity-Blöcke unterstützt (zum Beispiel: p5.48xlarge)

      Im Folgenden finden Sie einen Auszug aus einer CloudFormation Vorlage, mit der eine Startvorlage für einen Kapazitätsblock erstellt wird. Um eine benutzerdefinierte AMI verwaltete Knotengruppe zu erstellen, können Sie auch UserData Parameter hinzufügenImageId.

      NodeLaunchTemplate: Type: "AWS::EC2::LaunchTemplate" Properties: LaunchTemplateData: InstanceMarketOptions: MarketType: "capacity-block" CapacityReservationSpecification: CapacityReservationTarget: CapacityReservationId: "cr-02168da1478b509e0" InstanceType: p5.48xlarge
  2. Verwenden Sie die Startvorlage, um eine verwaltete Knotengruppe zu erstellen.

    Im Folgenden finden Sie ein Beispiel für den Befehl zum Erstellen einer Knotengruppe für Kapazitätsblöcke. Ersetzen example-values mit denen, die für Ihren Cluster gelten.

    Gehen Sie beim Erstellen der verwalteten Knotengruppe Capacity Block wie folgt vor:

    • Legen Sie den Wert für capacity-type auf "CAPACITY_BLOCK" fest. Wenn der Kapazitätstyp nicht auf festgelegt ist "CAPACITY_BLOCK" oder einer der anderen oben genannten erforderlichen Werte für die Startvorlage fehlt, wird die Erstellungsanforderung abgelehnt.

    • Achten Sie bei der Angabe subnets in der Erstellungsanforderung darauf, nur das Subnetz in derselben Availability Zone wie die Kapazitätsreservierung anzugeben.

    • Wenn Sie desiredSize in der Erstellungsanforderung einen Wert ungleich Null angeben, berücksichtigt Amazon EKS dies bei der Erstellung der Auto Scaling Scaling-Gruppe (ASG). Wenn die Erstellungsanforderung jedoch gestellt wird, bevor die Kapazitätsreservierung aktiv ist, können EC2 Amazon-Instances erst gestartet werden, wenn sie aktiv ist. ASG Infolgedessen wird es bei ASG Skalierungsaktivitäten zu Startfehlern kommen. Immer wenn die Reservierung aktiv wird, ist der Start der Instances erfolgreich und ASG sie werden auf die bei der Erstellung desiredSize angegebenen Werte hochskaliert.

      aws eks create-nodegroup \ --cluster-name my-cluster \ --nodegroup-name my-mng \ --node-role node-role-arn \ --region region-code \ --subnets subnet-id \ --scaling-config minSize=node-group-min-size,maxSize=node-group-max-size,desiredSize=node-group-desired-size \ --capacity-type "CAPACITY_BLOCK" \ --launch-template id="lt-id",version=1
  3. Stellen Sie sicher, dass sich die Knoten nach der Skalierung verbinden. EKSAmazon-Cluster, die verwaltete Knotengruppen mit Kapazitätsblöcken verwenden, führen keine Überprüfungen durch, ob gestartete Instances tatsächlich dem Cluster beitreten und sich dort registrieren.

  4. Wenn Sie 0 bei der Erstellung desiredSize die Option auswählen, haben Sie verschiedene Optionen, um die Knotengruppe zu skalieren, wenn die Kapazitätsreservierung aktiv wird:

    • Erstellen Sie eine geplante Skalierungsrichtlinie für ASG die, die der Startzeit der Kapazitätsblock-Reservierung entspricht. Weitere Informationen finden Sie unter Geplante Skalierung für Amazon EC2 Auto Scaling im Amazon EC2 Auto Scaling Scaling-Benutzerhandbuch.

    • Verwenden Sie die EKS Amazon-Konsole oder eks update-nodegroup-config aktualisieren Sie die Skalierungskonfiguration und legen Sie die gewünschte Größe der Knotengruppe fest.

    • Verwenden Sie die Kubernetes Cluster-Autoscaler. Weitere Informationen finden Sie unter Cluster Autoscaler on. AWS

  5. Die Knotengruppe ist jetzt bereit für Workloads und Pods muss geplant werden.

  6. Damit dein Pods Um vor Ablauf der Reservierung ordnungsgemäß entleert zu werden, EKS verwendet Amazon eine geplante Skalierungsrichtlinie, um die Größe der Knotengruppe auf zu reduzieren. 0 Diese geplante Skalierung wird mit dem Namen „“ festgelegt. Amazon EKS Node Group Capacity Scaledown Before Reservation End Wir empfehlen, diese Aktion nicht zu bearbeiten oder zu löschen.

    Amazon EC2 beginnt 30 Minuten vor dem Ende der Reservierung mit dem Herunterfahren der Instances. Aus diesem Grund EKS wird Amazon 40 Minuten vor Ende der Reservierung eine geplante Reduzierung der Knotengruppe einrichten, um die Knotengruppe sicher und elegant zu entfernen Pods.