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.
CoreDNS für DNS in Amazon EKS-Clustern verwalten
Tipp
Mit Amazon EKS Auto Mode ist es nicht erforderlich, Netzwerk-Add-Ons zu installieren oder zu aktualisieren. Der Automatikmodus umfasst Funktionen für Pod-Netzwerke und Load Balancing.
Weitere Informationen finden Sie unter Automatisieren der Cluster-Infrastruktur mit dem EKS-Automatikmodus.
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 in Fargate-Knoten bereitgestellt werden, wenn Ihr Cluster ein Fargate-Profil mit einem Namespace enthält, der mit dem Namespace für CoreDNS deployment übereinstimmt. 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.34 |
v1.12.4-eksbuild.1 |
|
1,33 |
v1.12.4-eksbuild.1 |
|
1.32 |
v1.11.4-eksbuild.24 |
|
1.31 |
v1.11.4-eksbuild.24 |
|
1,30 |
v1.11.4-eksbuild.24 |
|
1.29 |
v1.11.4-eksbuild.24 |
|
1,28 |
v1.10.1-eksbuild.38 |
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 Aktualisierung des selbstverwalteten CoreDNS-Amazon-EKS-Add-Ons.
Wichtige Überlegungen zum CoreDNS-Upgrade
-
CoreDNS-Updates verwenden a PodDisruptionBudget , um die Verfügbarkeit des DNS-Dienstes während des Aktualisierungsvorgangs aufrechtzuerhalten.
-
Um die Stabilität und Verfügbarkeit der CoreDNS-Bereitstellung zu verbessern, werden Versionen
v1.9.3-eksbuild.6und höher sowiev1.10.1-eksbuild.3mit einemPodDisruptionBudgetbereitgestellt. Wenn Sie ein vorhandenesPodDisruptionBudgetbereitgestellt haben, 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 weitere benutzerdefinierte Einstellungen für die Bereitstellung 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
PodDisruptionBudgetund versuchen Sie das Upgrade erneut.
-
-
In EKS-Add-On-Versionen
v1.9.3-eksbuild.3und höher sowiev1.10.1-eksbuild.6und höher legt die CoreDNS-BereitstellungreadinessProbefür die Verwendung des/ready-Endpunkts fest. Dieser Endpunkt ist in derCorefile-Konfigurationsdatei für CoreDNS aktiviert.Wenn Sie eine benutzerdefinierte
Corefileverwenden, müssen Sie dasready-Plugin zur Konfiguration hinzufügen, sodass der/ready-Endpunkt in CoreDNS aktiv ist, damit er von der Probe verwendet werden kann. -
In EKS-Add-On-Versionen
v1.9.3-eksbuild.7und höher sowiev1.10.1-eksbuild.4und 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
maxUnavailableoderminAvailablefestlegen, aber Sie können nicht beide gleichzeitig in einem einzelnenPodDisruptionBudgetfestlegen. Weitere Informationen zu finden Sie unterPodDisruptionBudgetsSpecifying a PodDisruptionBudgetin der Kubernetes-Dokumentation. Beachten Sie, dass, wenn Sie
enabledauffalsefestlegen, dasPodDisruptionBudgetnicht entfernt wird. Nachdem Sie dieses Feld auffalsegesetzt haben, müssen Sie dasPodDisruptionBudget-Objekt löschen. Ähnlich verhält es sich, wenn Sie das Add-On bearbeiten, um nach dem Upgrade auf eine Version mit einemPodDisruptionBudgeteine ältere Version des Add-Ons zu verwenden (das Add-On herunterstufen). DasPodDisruptionBudgetwird nicht entfernt. Führen Sie den folgenden Befehl aus, um dasPodDisruptionBudgetzu löschen:kubectl delete poddisruptionbudget coredns -n kube-system -
Ändern Sie in EKS-Add-On-Versionen
v1.10.1-eksbuild.5und höher die Standardtoleranz vonnode-role.kubernetes.io/master:NoScheduleaufnode-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 den EKS-Add-On-Versionen
v1.8.7-eksbuild.8und höherv1.9.3-eksbuild.9und höher sind beide Toleranzen so eingestellt, dass sie mit jeder Kubernetes-Version kompatibel sind. -
In den EKS-Add-On-Versionen
v1.9.3-eksbuild.11undv1.10.1-eksbuild.7und höher legt die CoreDNS-Bereitstellung einen Standardwert fürtopologySpreadConstraintsfest. Der Standardwert stellt sicher, dass die CoreDNS-Pods über die Availability Zones verteilt werden, 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 zum CoreDNS v1.11 Upgrade
-
In EKS-Add-On-Versionen
v1.11.1-eksbuild.4und höher basiert das Container-Image auf einem minimalen Basis-Image, das von Amazon EKS Distro verwaltet wird, minimale Pakete enthält und keine Shells hat. Weitere Informationen finden Sie unter Amazon-EKS-Distro . Die Verwendung und Fehlerbehebung des CoreDNS-Images bleibt unverändert.