

 **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.

# Skalierung von CoreDNS-Pods für hohen DNS-Datenverkehr
<a name="coredns-autoscaling"></a>

Wenn Sie einen Amazon EKS-Cluster mit mindestens einem Knoten starten, wird standardmäßig eine Bereitstellung von zwei Replikaten CoreDNS CoreDNS-Images bereitgestellt, unabhängig von der Anzahl der in Ihrem Cluster bereitgestellten Knoten. Die CoreDNS-Pods bieten eine Namensauflösung für alle Pods im Cluster. Anwendungen verwenden die Namensauflösung, um eine Verbindung zu Pods und Services im Cluster sowie zu Services außerhalb des Clusters herzustellen. Wenn die Anzahl der Anfragen zur Namensauflösung (Abfragen) von Pods zunimmt, können die CoreDNS-Pods überlastet werden. Dadurch verlangsamt sich ihre Leistung und sie lehnen Anfragen ab, die sie nicht verarbeiten können.

Um die erhöhte Auslastung der CoreDNS-Pods zu bewältigen, empfehlen wir die Implementierung eines Autoscaling-Systems für CoreDNS. Amazon EKS kann die automatische Skalierung der CoreDNS-Bereitstellung in der Add-on EKS-Version von CoreDNS verwalten. Dieser CoreDNS-Autoscaler überwacht kontinuierlich den Status des Clusters, einschließlich der Anzahl der Knoten und CPU-Kerne. Anhand dieser Informationen passt der Controller die Anzahl der Replikate der CoreDNS-Bereitstellung in einem EKS-Cluster dynamisch an. Dieses Feature ist für CoreDNS `v1.9` und höher verfügbar. Weitere Informationen darüber, welche Versionen mit CoreDNS Autoscaling kompatibel sind, finden Sie im folgenden Abschnitt

Das System verwaltet CoreDNS-Replikate automatisch mithilfe einer dynamischen Formel, die sowohl auf der Anzahl der Knoten als auch der CPU-Kerne im Cluster basiert, berechnet als Maximum von (Anzahl OfNodes geteilt durch 16) und (Anzahl der CPU-Kerne geteilt durch 256). Es bewertet die Nachfrage über 10-minütige Spitzenzeiten aus und skaliert bei Bedarf sofort hoch, um eine erhöhte DNS-Abfragelast zu bewältigen. Gleichzeitig skaliert es schrittweise herunter, indem es die Replikate alle 3 Minuten um 33 % reduziert, um die Systemstabilität aufrechtzuerhalten und Störungen zu vermeiden.

Wir empfehlen, dieses Feature in Verbindung mit anderen [bewährten Methoden für die automatische Skalierung von EKS-Clustern](https://aws.github.io/aws-eks-best-practices/cluster-autoscaling/) zu verwenden, um die allgemeine Anwendungsverfügbarkeit und die Skalierbarkeit des Clusters zu verbessern.

## Voraussetzungen
<a name="coredns-autoscaling-prereqs"></a>

Damit Amazon EKS Ihre CoreDNS-Bereitstellung skalieren kann, müssen drei Voraussetzungen erfüllt sein:
+ Sie müssen die * Add-onEKS-Version* von CoreDNS verwenden.
+ Ihr Cluster muss mindestens die Mindest-Cluster- und Plattformversionen ausführen.
+ Auf Ihrem Cluster muss mindestens die Mindestversion des EKS Add-on von CoreDNS ausgeführt werden.

### Minimale Cluster-Version
<a name="coredns-autoscaling-cluster-version"></a>

Die automatische Skalierung von CoreDNS erfolgt durch eine neue Komponente in der Cluster-Steuerebene, die von Amazon EKS verwaltet wird. Aus diesem Grund müssen Sie Ihren Cluster auf eine EKS-Version aktualisieren, welche die Mindestplattformversion mit der neuen Komponente unterstützt.

Ein neuer Amazon-EKS-Cluster. Informationen zum Bereitstellen finden Sie unter [Erste Schritte mit Amazon EKS](getting-started.md). Der Cluster muss eine der in der folgenden Tabelle aufgeführten Kubernetes-Versionen und Plattformversionen oder eine neuere Version ausführen. Beachten Sie, dass alle Kubernetes- und Plattformversionen, die über die aufgeführten hinausgehen, ebenfalls unterstützt werden. Sie können Ihre aktuelle Kubernetes-Version überprüfen, indem Sie den folgenden Befehl durch den Namen Ihres Clusters ersetzen {{my-cluster}} und dann den geänderten Befehl ausführen:

```
aws eks describe-cluster --name my-cluster --query cluster.version --output text
```


| Kubernetes-Version | Plattformversion | 
| --- | --- | 
| Nicht aufgelistet | Alle Plattformversionen | 
|  `1.29.3`  |  `eks.7`  | 
|  `1.28.8`  |  `eks.13`  | 
|  `1.27.12`  |  `eks.17`  | 
|  `1.26.15`  |  `eks.18`  | 

**Anmerkung**  
Alle Plattformversionen der neueren Kubernetes-Versionen werden ebenfalls unterstützt, beispielsweise Kubernetes-Versionen `1.30` ab `eks.1`.

### Add-on Mindestversion von EKS
<a name="coredns-autoscaling-coredns-version"></a>


| Kubernetes-Version | 1.29 | 1,28 | 
| --- | --- | --- | 
|  |  `v1.11.1-eksbuild.9`  |  `v1.10.1-eksbuild.11`  | 

#### Konfiguration von CoreDNS Autoscaling in AWS-Managementkonsole
<a name="coredns-autoscaling-console"></a>

1. Stellen Sie sicher, dass Ihr Cluster die Mindest-Cluster-Version aufweist oder höher ist.

   Amazon EKS aktualisiert Cluster zwischen Plattformversionen derselben Kubernetes-Version automatisch, und Sie können diesen Vorgang nicht selbst starten. Stattdessen können Sie Ihren Cluster auf die nächste Kubernetes-Version aktualisieren, woraufhin der Cluster auf diese K8s-Version und die neueste Plattformversion aktualisiert wird.

   Neue Kubernetes-Versionen führen oft bedeutende Änderungen ein. Wir empfehlen Ihnen daher, das Verhalten Ihrer Anwendungen mit einem separaten Cluster der neuen Kubernetes-Version zu testen, bevor Sie Ihre Produktions-Cluster aktualisieren

   Um einen Cluster auf eine neue Kubernetes-Version zu aktualisieren, befolgen Sie die Schritte unter [Vorhandenen Cluster auf neue Kubernetes-Version aktualisieren](update-cluster.md).

1. Stellen Sie sicher, dass Sie über das EKS Add-on für CoreDNS und nicht über das selbstverwaltete CoreDNS-Deployment verfügen.

   Je nachdem, mit welchem Tool Sie Ihr Cluster erstellt haben, ist der Add-on vom Typ Amazon EKS möglicherweise derzeit nicht auf Ihrem Cluster installiert. Um zu überprüfen, welche Art von Add-On auf Ihrem Cluster installiert ist, können Sie den folgenden Befehl ausführen. Ersetzen Sie `my-cluster` mit dem Namen Ihres Clusters.

   ```
   aws eks describe-addon --cluster-name my-cluster --addon-name coredns --query addon.addonVersion --output text
   ```

   Wenn eine Versionsnummer zurückgegeben wird, ist das Add-On vom Typ Amazon EKS auf Ihrem Cluster installiert und Sie können mit dem nächsten Schritt fortfahren. Wenn ein Fehler zurückgegeben wird, ist der Amazon-EKS-Typ des Add-Ons nicht auf Ihrem Cluster installiert. Führen Sie die restlichen Schritte des Verfahrens [CoreDNS-Amazon-EKS-Add-On erstellen](coredns-add-on-create.md), um die selbstverwaltete Version durch das Amazon-EKS-Add-On zu ersetzen.

1. Stellen Sie sicher, dass Ihr EKS Add-on für CoreDNS eine Version hat, die der Mindestversion von EKS Add-on entspricht oder höher ist.

   Sehen Sie, welche Version des Container-Images derzeit auf Ihrem Cluster installiert ist. Sie können den folgenden Befehl einchecken AWS-Managementkonsole oder ausführen:

   ```
   kubectl describe deployment coredns --namespace kube-system | grep coredns: | cut -d : -f 3
   ```

   Eine Beispielausgabe sieht wie folgt aus.

   ```
   v1.10.1-eksbuild.13
   ```

   Vergleichen Sie diese Version mit der Add-on Mindestversion von EKS aus dem vorherigen Abschnitt. Führen Sie bei Bedarf ein Upgrade des EKS Add-on auf eine höhere Version durch, indem Sie dem Verfahren [Update the CoreDNS Amazon EKS](coredns-add-on-update.md) Add-on folgen.

1. Fügen Sie die Autoscaling-Konfiguration zu den **optionalen Konfigurationseinstellungen** des EKS hinzu. Add-on

   1. Öffnen Sie die [Amazon-EKS-Konsole](https://console.aws.amazon.com/eks/home#/clusters).

   1. Wählen Sie im linken Navigationsbereich **Clusters** (Cluster) aus. Wählen Sie anschließend den Namen des Clusters aus, für den Sie das Add-On konfigurieren möchten.

   1. Wählen Sie die Registerkarte **Add-ons** aus.

   1. Aktivieren Sie das Kontrollkästchen oben rechts im Feld „CoreDNS-Add-On“ und wählen Sie dann **Bearbeiten** aus.

   1. Gehen Sie auf der Seite **CoreDNS konfigurieren** wie folgt vor:

      1. Wählen Sie die **Version** aus, die Sie verwenden möchten. Wir empfehlen Ihnen, die gleiche Version wie im vorherigen Schritt beizubehalten und die Version und Konfiguration in separaten Schritten zu aktualisieren.

      1. Erweitern Sie **Optionale Konfigurationseinstellungen**.

      1. Geben Sie den JSON-Schlüssel `"autoscaling":` und den Wert eines verschachtelten JSON-Objekts mit einem Schlüssel `"enabled":` und einem Wert `true` in den **Konfigurationswerten** ein. Der resultierende Text muss ein gültiges JSON-Objekt sein. Wenn dieser Schlüssel und dieser Wert die einzigen Daten im Textfeld sind, setzen Sie den Schlüssel und den Wert in geschweifte Klammern `{ }`. Das folgende Beispiel zeigt, dass die automatische Skalierung aktiviert ist:

         ```
         {
           "autoScaling": {
             "enabled": true
           }
         }
         ```

      1. (Optional) Sie können Mindest- und Höchstwerte angeben, auf welche die automatische Skalierung die Anzahl der CoreDNS-Pods skalieren kann.

         Das folgende Beispiel zeigt, dass die automatische Skalierung aktiviert ist und alle optionalen Schlüssel über Werte verfügen. Wir empfehlen, die Mindestanzahl der CoreDNS-Pods immer größer als 2 zu halten, um die Ausfallsicherheit des DNS-Services im Cluster zu gewährleisten.

         ```
         {
           "autoScaling": {
             "enabled": true,
             "minReplicas": 2,
             "maxReplicas": 10
           }
         }
         ```

   1. Um die neue Konfiguration durch Ersetzen der CoreDNS-Pods anzuwenden, wählen Sie **Änderungen speichern** aus.

      Amazon EKS wendet Änderungen am EKS an, Add-ons indem es einen *Rollout* der Kubernetes-Bereitstellung für CoreDNS verwendet. Sie können den Status des Rollouts im **Update-Verlauf** des Add-ons in und mit verfolgen. AWS-Managementkonsole `kubectl rollout status deployment/coredns --namespace kube-system`

       `kubectl rollout` verfügt über die folgenden Befehle:

      ```
      kubectl rollout
      
      history  -- View rollout history
      pause    -- Mark the provided resource as paused
      restart  -- Restart a resource
      resume   -- Resume a paused resource
      status   -- Show the status of the rollout
      undo     -- Undo a previous rollout
      ```

      Wenn die Einführung zu lange dauert, macht Amazon EKS die Einführung rückgängig und eine Nachricht mit dem Typ der **Add-On-Aktualisierung** und dem Status **Fehlgeschlagen** dem **Aktualisierungsverlauf** des Add-Ons hinzugefügt. Um etwaige Probleme zu untersuchen, beginnen Sie mit dem Verlauf der Einführung und führen Sie `kubectl logs` in einem CoreDNS-Pod aus, um die Protokolle von CoreDNS anzuzeigen.

1. Wenn der neue Eintrag im **Aktualisierungsverlauf** den Status **Erfolgreich** aufweist, ist die Einführung abgeschlossen und das Add-On verwendet die neue Konfiguration in allen CoreDNS-Pods. Wenn Sie die Anzahl der Knoten und CPU-Kerne der Knoten im Cluster ändern, skaliert Amazon EKS die Anzahl der Replikate der CoreDNS-Bereitstellung.

#### Konfiguration von CoreDNS Autoscaling in AWS -Befehlszeilenschnittstelle
<a name="coredns-autoscaling-cli"></a>

1. Stellen Sie sicher, dass Ihr Cluster die Mindest-Cluster-Version aufweist oder höher ist.

   Amazon EKS aktualisiert Cluster zwischen Plattformversionen derselben Kubernetes-Version automatisch, und Sie können diesen Vorgang nicht selbst starten. Stattdessen können Sie Ihren Cluster auf die nächste Kubernetes-Version aktualisieren, woraufhin der Cluster auf diese K8s-Version und die neueste Plattformversion aktualisiert wird.

   Neue Kubernetes-Versionen führen oft bedeutende Änderungen ein. Wir empfehlen Ihnen daher, das Verhalten Ihrer Anwendungen mit einem separaten Cluster der neuen Kubernetes-Version zu testen, bevor Sie Ihre Produktions-Cluster aktualisieren

   Um einen Cluster auf eine neue Kubernetes-Version zu aktualisieren, befolgen Sie die Schritte unter [Vorhandenen Cluster auf neue Kubernetes-Version aktualisieren](update-cluster.md).

1. Stellen Sie sicher, dass Sie über das EKS Add-on für CoreDNS und nicht über das selbstverwaltete CoreDNS-Deployment verfügen.

   Je nachdem, mit welchem Tool Sie Ihr Cluster erstellt haben, ist der Add-on vom Typ Amazon EKS möglicherweise derzeit nicht auf Ihrem Cluster installiert. Um zu überprüfen, welche Art von Add-On auf Ihrem Cluster installiert ist, können Sie den folgenden Befehl ausführen. Ersetzen Sie `my-cluster` mit dem Namen Ihres Clusters.

   ```
   aws eks describe-addon --cluster-name my-cluster --addon-name coredns --query addon.addonVersion --output text
   ```

   Wenn Sie eine Versionsnummer zurückgeben, wird der Amazon-EKS-Typ des Add-Ons auf Ihrem Cluster installiert. Wenn ein Fehler zurückgegeben wird, ist der Amazon-EKS-Typ des Add-Ons nicht auf Ihrem Cluster installiert. Führen Sie die restlichen Schritte des Verfahrens [CoreDNS-Amazon-EKS-Add-On erstellen](coredns-add-on-create.md), um die selbstverwaltete Version durch das Amazon-EKS-Add-On zu ersetzen.

1. Stellen Sie sicher, dass Ihr EKS Add-on für CoreDNS eine Version hat, die der Mindestversion von EKS Add-on entspricht oder höher ist.

   Sehen Sie, welche Version des Container-Images derzeit auf Ihrem Cluster installiert ist. Sie können den folgenden Befehl einchecken AWS-Managementkonsole oder ausführen:

   ```
   kubectl describe deployment coredns --namespace kube-system | grep coredns: | cut -d : -f 3
   ```

   Eine Beispielausgabe sieht wie folgt aus.

   ```
   v1.10.1-eksbuild.13
   ```

   Vergleichen Sie diese Version mit der Add-on Mindestversion von EKS aus dem vorherigen Abschnitt. Führen Sie bei Bedarf ein Upgrade des EKS Add-on auf eine höhere Version durch, indem Sie dem Verfahren [Update the CoreDNS Amazon EKS](coredns-add-on-update.md) Add-on folgen.

1. Fügen Sie die Autoscaling-Konfiguration zu den **optionalen Konfigurationseinstellungen** des EKS hinzu. Add-on

   Führen Sie den folgenden AWS CLI-Befehl aus. Ersetzen Sie `my-cluster` durch den Namen Ihres Clusters und den IAM-Rollen-ARN durch die Rolle, die Sie verwenden.

   ```
   aws eks update-addon --cluster-name my-cluster --addon-name coredns \
       --resolve-conflicts PRESERVE --configuration-values '{"autoScaling":{"enabled":true}}'
   ```

   Amazon EKS wendet Änderungen am EKS an, Add-ons indem es einen *Rollout* der Kubernetes-Bereitstellung für CoreDNS verwendet. Sie können den Status des Rollouts im **Update-Verlauf** des Add-ons in und mit verfolgen. AWS-Managementkonsole `kubectl rollout status deployment/coredns --namespace kube-system`

    `kubectl rollout` verfügt über die folgenden Befehle:

   ```
   kubectl rollout
   
   history  -- View rollout history
   pause    -- Mark the provided resource as paused
   restart  -- Restart a resource
   resume   -- Resume a paused resource
   status   -- Show the status of the rollout
   undo     -- Undo a previous rollout
   ```

   Wenn die Einführung zu lange dauert, macht Amazon EKS die Einführung rückgängig und eine Nachricht mit dem Typ der **Add-On-Aktualisierung** und dem Status **Fehlgeschlagen** dem **Aktualisierungsverlauf** des Add-Ons hinzugefügt. Um etwaige Probleme zu untersuchen, beginnen Sie mit dem Verlauf der Einführung und führen Sie `kubectl logs` in einem CoreDNS-Pod aus, um die Protokolle von CoreDNS anzuzeigen.

1. (Optional) Sie können Mindest- und Höchstwerte angeben, auf welche die automatische Skalierung die Anzahl der CoreDNS-Pods skalieren kann.

   Das folgende Beispiel zeigt, dass die automatische Skalierung aktiviert ist und alle optionalen Schlüssel über Werte verfügen. Wir empfehlen, die Mindestanzahl der CoreDNS-Pods immer größer als 2 zu halten, um die Ausfallsicherheit des DNS-Services im Cluster zu gewährleisten.

   ```
   aws eks update-addon --cluster-name my-cluster --addon-name coredns \
       --resolve-conflicts PRESERVE --configuration-values '{"autoScaling":{"enabled":true,"minReplicas":2,"maxReplicas":10}}'
   ```

1. Überprüfen Sie den Status der Aktualisierung des Add-Ons, indem Sie den folgenden Befehl ausführen:

   ```
   aws eks describe-addon --cluster-name my-cluster --addon-name coredns
   ```

   Wenn Sie die folgende Zeile sehen: `"status": "ACTIVE"`, ist die Einführung abgeschlossen und das Add-On verwendet die neue Konfiguration in allen CoreDNS-Pods. Wenn Sie die Anzahl der Knoten und CPU-Kerne der Knoten im Cluster ändern, skaliert Amazon EKS die Anzahl der Replikate der CoreDNS-Bereitstellung.