

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

# Aktualisierung des selbstverwalteten CoreDNS-Amazon-EKS-Add-Ons
<a name="coredns-add-on-self-managed-update"></a>

**Wichtig**  
Wir empfehlen, den Amazon-EKS-Typ des Add-Ons zu Ihrem Cluster hinzuzufügen, anstatt den selbstverwalteten Typ des Add-Ons zu verwenden. Wenn Sie noch keine Erfahrung mit den Unterschieden zwischen den Typen haben, finden Sie weitere Informationen unter [Amazon-EKS-Add-ons](eks-add-ons.md). Weitere Informationen zum Hinzufügen eines Amazon-EKS-Add-ons zu Ihrem Cluster finden Sie unter [Erstellung eines Amazon-EKS-Add-Ons](creating-an-add-on.md). Wenn Sie das Amazon-EKS-Add-On nicht verwenden können, empfehlen wir Ihnen, ein Problem zu den Gründen, warum Sie es nicht verwenden können, an das [GitHub-Repository Containers Roadmap](https://github.com/aws/containers-roadmap/issues) zu senden.

Bevor Sie beginnen, lesen Sie die Hinweise zum Upgrade. Weitere Informationen finden Sie unter [Wichtige Überlegungen zum CoreDNS-Upgrade](managing-coredns.md#coredns-upgrade).

1. Vergewissern Sie sich, dass Sie das selbstverwaltete Add-On auf Ihrem Cluster installiert haben. Ersetzen Sie *my-cluster* durch den Namen Ihres Clusters.

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

   Wenn Sie eine Fehlermeldung erhalten, wird das Add-On als selbstverwaltetes Add-On auf Ihrem Cluster installiert. Führen Sie die verbleibenden Schritte in diesem Verfahren aus. Wenn Sie eine Versionsnummer zurückgeben, wird der Amazon-EKS-Typ des Add-Ons auf Ihrem Cluster installiert. Um den Amazon-EKS-Typ des Add-Ons zu aktualisieren, befolgen Sie die Schritte unter [Aktualisierung des CoreDNS-Amazon-EKS-Add-Ons](coredns-add-on-update.md) anstelle der hier beschriebenen Vorgehensweise. Wenn Sie mit den Unterschieden zwischen den Add-On-Typen nicht vertraut sind, finden Sie Informationen unter [Amazon-EKS-Add-ons](eks-add-ons.md).

1. Sehen Sie, welche Version des Container-Images derzeit auf Ihrem Cluster installiert ist.

   ```
   kubectl describe deployment coredns -n kube-system | grep Image | cut -d ":" -f 3
   ```

   Eine Beispielausgabe sieht wie folgt aus.

   ```
   v1.8.7-eksbuild.2
   ```

1. Wenn Ihre aktuelle CoreDNS-Version `v1.5.0` oder höher ist, aber älter als die in der Tabelle der [CoreDNS-Versionen](managing-coredns.md#coredns-versions) aufgeführte Version ist, überspringen Sie diesen Schritt. Wenn Ihre aktuelle Version älter als `1.5.0` ist, müssen Sie die `ConfigMap` für CoreDNS ändern, um das Weiterleitungs-Add-On anstelle des Proxy-Add-Ons zu verwenden.

   1. Öffnen Sie `ConfigMap` mit dem folgenden Befehl.

      ```
      kubectl edit configmap coredns -n kube-system
      ```

   1. Ersetzen Sie `proxy` in der folgenden Zeile durch `forward`. Speichern Sie die Datei und schließen Sie den Editor.

      ```
      proxy . /etc/resolv.conf
      ```

1. Wenn Sie Ihren Cluster ursprünglich auf Kubernetes `1.17` oder früher bereitgestellt haben, müssen Sie möglicherweise eine nicht mehr verwendete Zeile aus Ihrem CoreDNS-Manifest entfernen.
**Wichtig**  
Sie müssen diesen Schritt vor dem Update auf die CoreDNS-Version `1.7.0` abschließen. Es wird jedoch empfohlen, diesen Schritt auch dann durchzuführen, wenn Sie auf eine frühere Version aktualisieren.

   1. Überprüfen Sie, ob Ihr CoreDNS-Manifest die Zeile enthält.

      ```
      kubectl get configmap coredns -n kube-system -o jsonpath='{$.data.Corefile}' | grep upstream
      ```

      Wenn keine Ausgabe zurückgegeben wird, enthält Ihr Manifest die Zeile nicht und Sie können mit dem nächsten Schritt fortfahren, um CoreDNS zu aktualisieren. Wenn eine Ausgabe zurückgegeben wird, müssen Sie die Zeile entfernen.

   1. Bearbeiten Sie das `ConfigMap` mit dem folgenden Befehl und entfernen Sie die Zeile in der Datei, die das Wort `upstream` enthält. Ändern Sie sonst nichts in der Datei. Nachdem die Linie entfernt wurde, speichern Sie die Änderungen.

      ```
      kubectl edit configmap coredns -n kube-system -o yaml
      ```

1. Rufen Sie Ihre aktuelle CoreDNS-Image-Version ab:

   ```
   kubectl describe deployment coredns -n kube-system | grep Image
   ```

   Eine Beispielausgabe sieht wie folgt aus.

   ```
   602401143452.dkr.ecr.region-code.amazonaws.com/eks/coredns:v1.8.7-eksbuild.2
   ```

1. Wenn Sie auf CoreDNS `1.8.3` aktualisieren, müssen Sie die `system:coredns`-Berechtigung zu `endpointslices` Kubernetes `clusterrole` hinzufügen.

   ```
   kubectl edit clusterrole system:coredns -n kube-system
   ```

   Fügen Sie die folgenden Zeilen unter den vorhandenen Berechtigungszeilen im `rules`-Abschnitt der Datei hinzu.

   ```
   [...]
   - apiGroups:
     - discovery.k8s.io
     resources:
     - endpointslices
     verbs:
     - list
     - watch
   [...]
   ```

1. Aktualisieren Sie das CoreDNS-Add-On, indem Sie *602401143452* und den *region-code* durch die Werte aus der im vorherigen Schritt zurückgegebenen Ausgabe ersetzen. Ersetzen Sie *v1.11.3-eksbuild.1* durch die CoreDNS-Version, die in der [Tabelle mit den neuesten Versionen](managing-coredns.md#coredns-versions) für Ihre Kubernetes-Version aufgeführt ist.

   ```
   kubectl set image deployment.apps/coredns -n kube-system  coredns=602401143452.dkr.ecr.region-code.amazonaws.com/eks/coredns:v1.11.3-eksbuild.1
   ```

   Eine Beispielausgabe sieht wie folgt aus.

   ```
   deployment.apps/coredns image updated
   ```

1. Überprüfen Sie die Container-Image-Version erneut, um sicherzustellen, dass sie auf die Version aktualisiert wurde, die Sie im vorherigen Schritt angegeben haben.

   ```
   kubectl describe deployment coredns -n kube-system | grep Image | cut -d ":" -f 3
   ```

   Eine Beispielausgabe sieht wie folgt aus.

   ```
   v1.11.3-eksbuild.1
   ```