Hilf mit, diese Seite zu verbessern
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.
Wenn Sie zu diesem Benutzerhandbuch beitragen möchten, 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.
Tipp
Mit Amazon EKS Auto Mode müssen Sie keine Netzwerk-Add-Ons installieren oder aktualisieren. Der automatische Modus umfasst Pod-Netzwerk- und Lastausgleichsfunktionen.
Weitere Informationen finden Sie unter Automatisieren Sie die Cluster-Infrastruktur mit dem EKS Auto Mode.
CoreDNS ist ein flexibler, erweiterbarer DNS-Server, der als Kubernetes-Cluster-DNS dienen kann. Wenn Sie einen Amazon-EKS-Cluster mit mindestens einem Knoten starten, werden standardmäßig zwei Replikate des CoreDNS-Image 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. Die CoreDNS-Pods können auf Fargate-Knoten bereitgestellt werden, wenn Ihr Cluster ein Fargate-Profil mit einem Namespace enthält, der dem Namespace für die CoreDNS entspricht. deployment
Weitere Informationen zu Fargate-Profilen finden Sie unterDefinieren Sie, welche Pods AWS Fargate beim Start verwenden. Weitere Informationen zu CoreDNS finden Sie unter Verwenden von CoreDNS für die Serviceerkennung
CoreDNS-Versionen
In der folgenden Tabelle ist die neueste Version des Amazon EKS-Add-On-Typs für jede Kubernetes-Version aufgeführt.
Kubernetes-Version | CoreDNS-Version |
---|---|
1.32 |
v1.11.4-eksbuild.2 |
1.31 |
v1.11.4-eksbuild.2 |
1,30 |
v1.11.4-eksbuild.2 |
1.29 |
v1.11.4-eksbuild.2 |
1,28 |
v1.10.1-eksbuild.18 |
1,27 |
v1.10.1-eksbuild.18 |
1,26 |
v1.9.3-eksbuild.22 |
1,25 |
v1.9.3-eksbuild.22 |
1,24 |
v1.9.3-eksbuild.22 |
Wichtig
Wenn Sie dieses Add-on selbst verwalten, stimmen die Versionen in der Tabelle möglicherweise nicht mit den verfügbaren selbstverwalteten Versionen überein. Weitere Hinweise zur Aktualisierung des selbstverwalteten Typs dieses Add-ons finden Sie unter Aktualisieren Sie das selbstverwaltete CoreDNS Amazon EKS Add-on.
Wichtige Überlegungen zum CoreDNS-Upgrade
-
Um die Stabilität und Verfügbarkeit des CoreDNS-Einsatzes zu verbessern,
v1.10.1-eksbuild.3
werden Versionenv1.9.3-eksbuild.6
und höher mit einem bereitgestellt.PodDisruptionBudget
Wenn Sie eine bestehende Version bereitgestellt habenPodDisruptionBudget
, schlägt Ihr Upgrade auf diese Versionen möglicherweise fehl. Schlägt das Upgrade fehl, sollte das Problem durch Ausführen einer der folgenden Aufgaben gelöst werden:-
Wenn Sie das Upgrade des Amazon-EKS-Add-ons durchführen, entscheiden Sie sich dafür, die vorhandenen Einstellungen als Konfliktlösungsoption zu überschreiben. Wenn Sie andere benutzerdefinierte Einstellungen für das Deployment vorgenommen haben, stellen Sie sicher, dass Sie Ihre Einstellungen vor dem Upgrade sichern, damit Sie Ihre anderen benutzerdefinierten Einstellungen nach dem Upgrade erneut anwenden können.
-
Entfernen Sie Ihr vorhandenes
PodDisruptionBudget
und versuchen Sie das Upgrade erneut.
-
-
In EKS-Add-On-Versionen
v1.9.3-eksbuild.3
und höherv1.10.1-eksbuild.6
und höher legt das CoreDNS-Deployment fest,readinessProbe
dass der Endpunkt verwendet wird/ready
. Dieser Endpunkt ist in derCorefile
Konfigurationsdatei für CoreDNS aktiviert.Wenn Sie ein benutzerdefiniertes Plugin verwenden
Corefile
, müssen Sie dasready
Plugin zur Konfiguration hinzufügen, sodass der/ready
Endpunkt in CoreDNS aktiv ist, damit der Test ihn verwenden kann. -
In EKS-Add-On-Versionen
v1.9.3-eksbuild.7
und höher sowiev1.10.1-eksbuild.4
und höher können Sie dasPodDisruptionBudget
ändern. Sie können das Add-on bearbeiten und diese Einstellungen in den optionalen Konfigurationseinstellungen mithilfe der Felder im folgenden Beispiel ändern. Dieses Beispiel zeigt das Standard-PodDisruptionBudget
.{ "podDisruptionBudget": { "enabled": true, "maxUnavailable": 1 } }
Sie können
maxUnavailable
oder festlegenminAvailable
, aber Sie können nicht beide in einem einzigen festlegen.PodDisruptionBudget
Weitere Informationen zuPodDisruptionBudgets
finden Sie unter Angabe von a PodDisruptionBudgetin der Kubernetes-Dokumentation. Beachten Sie, dass, wenn Sie
enabled
auf einstellenfalse
, derPodDisruptionBudget
nicht entfernt wird. Nachdem Sie dieses Feld auffalse
gesetzt haben, müssen Sie dasPodDisruptionBudget
-Objekt löschen. Ebenso wird das Add-onPodDisruptionBudget
nicht entfernt, wenn Sie das Add-on nach dem Upgrade auf eine Version mit einem so bearbeiten, dass es eine ältere Version des Add-ons verwendet (das Add-On herabstufen).PodDisruptionBudget
Führen Sie den folgenden Befehl aus, um dasPodDisruptionBudget
zu löschen:kubectl delete poddisruptionbudget coredns -n kube-system
-
Ändern Sie in EKS-Add-On-Versionen
v1.10.1-eksbuild.5
und höher die Standardtoleranz vonnode-role.kubernetes.io/master:NoSchedule
auf,node-role.kubernetes.io/control-plane:NoSchedule
um sie an KEP 2067 anzupassen. Weitere Informationen zu KEP 2067 finden Sie unter KEP-2067: Rename the kubeadm „master“ -Label and taint in den Kubernetes EnhancementProposals () on. KEPs GitHub In EKS-Add-On-Versionen
v1.8.7-eksbuild.8
und höherv1.9.3-eksbuild.9
und höher sind beide Toleranzen so eingestellt, dass sie mit jeder Kubernetes-Version kompatibel sind. -
In EKS-Add-On-Versionen
v1.9.3-eksbuild.11
v1.10.1-eksbuild.7
und höher legt das CoreDNS-Deployment einen Standardwert für fest.topologySpreadConstraints
Der Standardwert stellt sicher, dass die CoreDNS-Pods über die Availability Zones verteilt sind, wenn Knoten in mehreren Availability Zones verfügbar sind. Sie können einen benutzerdefinierten Wert festlegen, der anstelle des Standardwerts verwendet wird. Der Standardwert lautet wie folgt:topologySpreadConstraints: - maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: ScheduleAnyway labelSelector: matchLabels: k8s-app: kube-dns
Überlegungen CoreDNS CoreDNS-Upgrade v1.11
-
In EKS-Add-On-Versionen
v1.11.1-eksbuild.4
und höher basiert das Container-Image auf einem minimalen Basis-Image, das von Amazon EKS Distro verwaltet wird. Es enthält nur minimale Pakete und keine Shells. Weitere Informationen finden Sie unter Amazon-EKS-Distro . Die Verwendung und Fehlerbehebung des CoreDNS-Images bleibt unverändert.