

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 und Verwalten von Clustern
<a name="creating-and-managing-clusters"></a>

In diesem Thema wird beschrieben, wie EKS-Cluster mithilfe von Eksctl erstellt und gelöscht werden. Sie können Cluster mit einem CLI-Befehl oder durch Erstellen einer YAML-Datei für die Clusterkonfiguration erstellen.

## Einen einfachen Cluster erstellen
<a name="_creating_a_simple_cluster"></a>

Erstellen Sie einen einfachen Cluster mit dem folgenden Befehl:

```
eksctl create cluster
```

Dadurch wird ein EKS-Cluster in Ihrer Standardregion (wie in Ihrer AWS-CLI-Konfiguration angegeben) mit einer verwalteten Knotengruppe erstellt, die zwei m5.large-Knoten enthält.

eksctl erstellt jetzt standardmäßig eine verwaltete Knotengruppe, wenn keine Konfigurationsdatei verwendet wird. Um eine selbstverwaltete Knotengruppe zu erstellen, übergeben Sie an oder. `--managed=false` `eksctl create cluster` `eksctl create nodegroup`

### Überlegungen
<a name="_considerations"></a>
+ Beim Erstellen von Clustern in stoßen `us-east-1` Sie möglicherweise auf einen. `UnsupportedAvailabilityZoneException` In diesem Fall kopieren Sie die vorgeschlagenen Zonen und geben Sie die `--zones` Markierung weiter, zum Beispiel:`eksctl create cluster --region=us-east-1 --zones=us-east-1a,us-east-1b,us-east-1d`. Dieses Problem kann in anderen Regionen auftreten, ist aber seltener. In den meisten Fällen müssen Sie die `--zone` Flagge nicht verwenden.

## Erstellen Sie den Cluster mithilfe der Konfigurationsdatei
<a name="_create_cluster_using_config_file"></a>

Sie können einen Cluster mit einer Konfigurationsdatei anstelle von Flags erstellen.

Erstellen Sie zunächst eine `cluster.yaml` Datei:

```
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig

metadata:
  name: basic-cluster
  region: eu-north-1

nodeGroups:
  - name: ng-1
    instanceType: m5.large
    desiredCapacity: 10
    volumeSize: 80
    ssh:
      allow: true # will use ~/.ssh/id_rsa.pub as the default ssh key
  - name: ng-2
    instanceType: m5.xlarge
    desiredCapacity: 2
    volumeSize: 100
    ssh:
      publicKeyPath: ~/.ssh/ec2_id_rsa.pub
```

Führen Sie als Nächstes diesen Befehl aus:

```
eksctl create cluster -f cluster.yaml
```

Dadurch wird wie beschrieben ein Cluster erstellt.

Wenn Sie eine bestehende VPC verwenden müssen, können Sie eine Konfigurationsdatei wie die folgende verwenden:

```
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig

metadata:
  name: cluster-in-existing-vpc
  region: eu-north-1

vpc:
  subnets:
    private:
      eu-north-1a: { id: subnet-0ff156e0c4a6d300c }
      eu-north-1b: { id: subnet-0549cdab573695c03 }
      eu-north-1c: { id: subnet-0426fb4a607393184 }

nodeGroups:
  - name: ng-1-workers
    labels: { role: workers }
    instanceType: m5.xlarge
    desiredCapacity: 10
    privateNetworking: true
  - name: ng-2-builders
    labels: { role: builders }
    instanceType: m5.2xlarge
    desiredCapacity: 2
    privateNetworking: true
    iam:
      withAddonPolicies:
        imageBuilder: true
```

Der Clustername oder der Knotengruppenname darf nur alphanumerische Zeichen (Groß- und Kleinschreibung beachten) und Bindestriche enthalten. Er muss mit einem alphabetischen Zeichen beginnen und darf 128 Zeichen nicht überschreiten. Andernfalls erhalten Sie einen Validierungsfehler. Weitere Informationen finden Sie im CLoudFormation AWS-Benutzerhandbuch unter [Erstellen eines Stacks von der CloudFormation Konsole](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-console-create-stack-parameters.html) aus.

## Aktualisieren Sie kubeconfig für den neuen Cluster
<a name="_update_kubeconfig_for_new_cluster"></a>

Nachdem der Cluster erstellt wurde, wird die entsprechende Kubernetes-Konfiguration zu Ihrer kubeconfig-Datei hinzugefügt. Dies ist die Datei, die Sie in der Umgebungsvariablen `KUBECONFIG` oder standardmäßig konfiguriert haben. `~/.kube/config` Der Pfad zur kubeconfig-Datei kann mit dem Flag überschrieben werden. `--kubeconfig`

Andere Flags, die ändern können, wie die kubeconfig-Datei geschrieben wird:


| Flag | type | use | Standardwert | 
| --- | --- | --- | --- | 
| --kubeconfig | Zeichenfolge | Pfad zum Schreiben von kubeconfig (nicht kompatibel mit --auto-kubeconfig) | $KUBECONFIG oder \~/. kube/config | 
| --set-kubeconfig-Kontext | bool | wenn wahr, wird der aktuelle Kontext in kubeconfig gesetzt; wenn ein Kontext bereits gesetzt ist, wird er überschrieben | true | 
| --auto-kube-Konfiguration | bool | speichert die kubeconfig-Datei nach dem Clusternamen | true | 
| --write-kubeconfig | bool | schaltet das Schreiben von kubeconfig um | true | 

## Cluster löschen
<a name="_delete_cluster"></a>

Um diesen Cluster zu löschen, führen Sie folgenden Befehl aus:

```
eksctl delete cluster -f cluster.yaml
```

**Warnung**  
Verwenden Sie das `--wait` Flag bei Löschvorgängen, um sicherzustellen, dass Löschfehler ordnungsgemäß gemeldet werden.

Ohne das `--wait` Flag führt eksctl nur einen Löschvorgang für den CloudFormation Stack des Clusters durch und wartet nicht auf dessen Löschung. In einigen Fällen können AWS-Ressourcen, die den Cluster oder seine VPC verwenden, dazu führen, dass das Löschen des Clusters fehlschlägt. Wenn Ihr Löschvorgang fehlschlägt oder Sie das Warte-Flag vergessen, müssen Sie möglicherweise zur CloudFormation GUI gehen und die EKS-Stacks von dort löschen.

**Warnung**  
PDB-Richtlinien können das Entfernen von Knoten beim Löschen des Clusters blockieren.

Beim Löschen eines Clusters mit Knotengruppen können Pod Disruption Budget (PDB) -Richtlinien verhindern, dass Knoten erfolgreich entfernt werden. Beispielsweise verfügen `aws-ebs-csi-driver` installierte Cluster in der Regel über zwei Pods mit einer PDB-Richtlinie, die es erlaubt, dass jeweils nur ein Pod nicht verfügbar ist, sodass der andere Pod beim Löschen nicht entfernt werden kann. Um den Cluster in diesen Szenarien erfolgreich zu löschen, verwenden Sie das `disable-nodegroup-eviction` Flag, um die PDB-Richtlinienprüfungen zu umgehen:

```
eksctl delete cluster -f cluster.yaml --disable-nodegroup-eviction
```

Weitere Beispielkonfigurationsdateien finden Sie im [https://github.com/eksctl-io/eksctl/tree/master/examples](https://github.com/eksctl-io/eksctl/tree/master/examples)Verzeichnis im GitHub eksctl-Repo.

## Probelauf
<a name="_dry_run"></a>

Die Dry-Run-Funktion ermöglicht das Generieren einer ClusterConfig Datei, die die Clustererstellung überspringt und eine ClusterConfig Datei ausgibt, die die bereitgestellten CLI-Optionen darstellt und die von eksctl festgelegten Standardwerte enthält.

[Weitere Informationen finden Sie auf der Dry Run-Seite.](dry-run.md)