

 **Unterstützung für die Verbesserung dieser Seite beitragen** 

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.

Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub Link **Diese Seite bearbeiten auf**, der sich im rechten Bereich jeder Seite befindet.

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.

# Erstellung selbstverwalteter Knoten mit Kapazitätsblöcken für ML
<a name="capacity-blocks"></a>

Kapazitätsblöcke für Machine Learning (ML) ermöglichen es Ihnen, GPU-Instances zu einem zukünftigen Zeitpunkt zu reservieren, um Ihre ML-Workloads mit kurzer Dauer zu unterstützen. Weitere Informationen finden Sie unter [Kapazitätsblöcke für ML](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-blocks.html) im *Amazon-EC2-Benutzerhandbuch für Linux-Instances*.

## Überlegungen
<a name="capacity-blocks-considerations"></a>

**Wichtig**  
Kapazitätsblöcke sind nur für bestimmte Amazon-EC2-Instance-Typen und AWS-Regionen verfügbar. Informationen zur Kompatibilität finden Sie unter [Arbeiten mit Kapazitätsblöcken – Voraussetzungen](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-blocks-using.html#capacity-blocks-prerequisites) im *Amazon-EC2-Benutzerhandbuch für Linux-Instances*.
Wenn Sie eine selbstverwaltete Knotengruppe erstellen, bevor die Kapazitätsreservierung aktiv wird, legen Sie die gewünschte Kapazität auf `0` fest.
Um genügend Zeit zu haben, den/die Knoten ordnungsgemäß zu entleeren, empfehlen wir, die Skalierung so zu planen, dass sie mehr als 30 Minuten vor der Endzeit der Kapazitätsblock-Reservierung auf Null skaliert.
Damit Ihre Pods ordnungsgemäß entladen werden, empfehlen wir Ihnen, den AWS Node Termination Handler wie in den Beispielschritten beschrieben einzurichten.

## Verwendung von Kapazitätsblöcken mit selbstverwalteten Knoten
<a name="capacity-blocks-procedure"></a>

Sie können Kapazitätsblöcke mit Amazon EKS für die Bereitstellung und Skalierung Ihrer selbstverwalteten Knoten verwenden. Die folgenden Schritte geben einen allgemeinen Beispielüberblick. Die Beispiele für AWS CloudFormation-Vorlagen decken nicht alle Aspekte ab, die in einem Produktions-Workload erforderlich sind. Normalerweise benötigen Sie außerdem ein Bootstrapping-Skript, um den Knoten mit dem Cluster zu verbinden, ein beschleunigtes Amazon-EKS-AMI und ein entsprechendes Instance-Profil für den Beitritt zum Cluster anzugeben. Weitere Informationen finden Sie unter [Selbstverwaltete Amazon-Linux-Knoten erstellen](launch-workers.md).

1. Erstellen Sie eine Startvorlage, die auf Ihre Workload anwendbar ist. Weitere Informationen finden Sie unter [Verwenden von Kapazitätsblöcken für Machine Learning im](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-template-capacity-blocks.html) *Benutzerhandbuch für Amazon EC2 Auto Scaling*.

   Stellen Sie sicher, dass `LaunchTemplateData` Folgendes enthält:
   +  `InstanceMarketOptions` mit der Einstellung `"capacity-block"` für `MarketType` 
   +  `CapacityReservationSpecification: CapacityReservationTarget` mit `CapacityReservationId` als Kapazitätsblock (zum Beispiel: `cr-02168da1478b509e0 `)
   +  `IamInstanceProfile` mit `Arn` auf das entsprechende *iam-instance-profile-arn* eingestellt 
   +  `ImageId` auf das entsprechende *image-id* eingestellt 
   +  `InstanceType` auf einen Instance-Typ eingestellt, der Kapazitätsblöcke unterstützt (zum Beispiel: *p5.48xlarge*)
   +  `SecurityGroupIds` auf die entsprechenden IDs eingestellt (zum Beispiel: *sg-05b1d815d1EXAMPLE*)
   +  `UserData` auf die entsprechende *user-data* für Ihre selbstverwaltete Knotengruppe eingestellt

     Nachfolgend finden Sie einen Auszug aus einer CloudFormation-Vorlage, die eine Startvorlage für einen Kapazitätsblock erstellt.

     ```
     NodeLaunchTemplate:
       Type: "aws::EC2::LaunchTemplate"
       Properties:
         LaunchTemplateData:
           InstanceMarketOptions:
             MarketType: "capacity-block"
           CapacityReservationSpecification:
             CapacityReservationTarget:
               CapacityReservationId: "cr-02168da1478b509e0"
           IamInstanceProfile:
             Arn: iam-instance-profile-arn
           ImageId: image-id
           InstanceType: p5.48xlarge
           KeyName: key-name
           SecurityGroupIds:
           - sg-05b1d815d1EXAMPLE
           UserData: user-data
     ```

     Sie müssen das Subnetz in der Availability Zone übergeben, in der die Reservierung vorgenommen wurde, da Kapazitätsblöcke zonal sind.

1. Verwenden Sie die Startvorlage, um eine selbstverwaltete Knotengruppe zu erstellen. Wenn Sie dies vor der Aktivierung der Kapazitätsreservierung tun, legen Sie die gewünschte Kapazität auf `0` fest. Achten Sie beim Erstellen der Knotengruppe darauf, dass Sie nur das entsprechende Subnetz für die Availability Zone angeben, in der die Kapazität reserviert ist.

   Nachfolgend finden Sie ein Beispiel für eine CloudFormation-Vorlage, die Sie als Referenz verwenden können, wenn Sie eine für Ihre Workload geeignete Vorlage erstellen. In diesem Beispiel werden die `LaunchTemplateId` und das `Version` der im vorherigen Beispiel gezeigten ` AWS::Amazon EC2::LaunchTemplate`-Ressource ermittelt. Sie erhält auch die Werte für `DesiredCapacity`, `MaxSize`, `MinSize`, und `VPCZoneIdentifier`, die an anderer Stelle in derselben Vorlage deklariert sind.

   ```
   NodeGroup:
     Type: "AWS::AutoScaling::AutoScalingGroup"
     Properties:
       DesiredCapacity: !Ref NodeAutoScalingGroupDesiredCapacity
       LaunchTemplate:
         LaunchTemplateId: !Ref NodeLaunchTemplate
         Version: !GetAtt NodeLaunchTemplate.LatestVersionNumber
       MaxSize: !Ref NodeAutoScalingGroupMaxSize
       MinSize: !Ref NodeAutoScalingGroupMinSize
       VPCZoneIdentifier: !Ref Subnets
       Tags:
         - Key: Name
           PropagateAtLaunch: true
           Value: !Sub ${ClusterName}-${NodeGroupName}-Node
         - Key: !Sub kubernetes.io/cluster/${ClusterName}
           PropagateAtLaunch: true
           Value: owned
   ```

1. Nachdem die Knotengruppe erfolgreich erstellt wurde, stellen Sie sicher, dass Sie die `NodeInstanceRole` für die Knotengruppe aufzeichnen, die erstellt wurde. Dies ist erforderlich, um sicherzustellen, dass bei einer Skalierung der Knotengruppe die neuen Knoten dem Cluster beitreten und Kubernetes die Knoten erkennen kann. Weitere Informationen finden Sie in den AWS-Managementkonsole-Anweisungen unter [Erstellen selbstverwalteter Amazon Linux-Knoten](launch-workers.md).

1. Wir empfehlen Ihnen, eine geplante Skalierungsrichtlinie für die Auto-Scaling-Gruppe zu erstellen, die sich an den Reservierungszeiten für Kapazitätsblöcke orientiert. Weitere Informationen finden Sie unter [Geplante Skalierung für Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-scheduled-scaling.html) im *Amazon EC2 Auto Scaling-Benutzerhandbuch*.

   Sie können alle von Ihnen reservierten Instances bis 30 Minuten vor Ablauf der Endzeit des Kapazitätsblocks verwenden. Instances, die zu diesem Zeitpunkt noch laufen, werden beendet. Um genügend Zeit zu haben, den/die Knoten ordnungsgemäß zu entleeren, empfehlen wir, die Skalierung so zu planen, dass sie mehr als 30 Minuten vor der Endzeit der Kapazitätsblock-Reservierung auf Null skaliert.

   Wenn Sie stattdessen manuell hochskalieren wollen, wenn die Kapazitätsreservierung `Active` wird, müssen Sie die gewünschte Kapazität der Auto-Scaling-Gruppe zum Startzeitpunkt der Kapazitätsblock-Reservierung aktualisieren. Dann müssten Sie auch mehr als 30 Minuten vor dem Ende der Kapazitätsblock-Reservierung manuell herunterskalieren.

1. Die Knotengruppe ist jetzt bereit für die Planung von Workloads und Pods.

1. Damit Ihre Pods ordnungsgemäß entleert werden kann, empfehlen wir Ihnen, AWS Node Termination Handler einzurichten. Dieser Handler kann mithilfe von EventBridge nach „ASG Scale-in“-Lebenszyklusereignissen von Amazon EC2 Auto Scaling Ausschau halten und es der Kubernetes-Steuerebene ermöglichen, die erforderlichen Maßnahmen zu ergreifen, bevor die Instance nicht verfügbar ist. Andernfalls bleiben Ihre Pods und Kubernetes-Objekte in einem ausstehenden Zustand hängen. Weitere Informationen finden Sie unter [AWS Node Termination Handler](https://github.com/aws/aws-node-termination-handler) auf GitHub.

   Wenn Sie keinen Node Termination Handler einrichten, empfehlen wir Ihnen, mit der manuellen Entleerung Ihrer Pods zu beginnen, bevor das 30-Minuten-Fenster erreicht ist, damit sie genügend Zeit haben, um ordnungsgemäß entleert zu werden.