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.
Konfiguration von Add-Ons für Hybridknoten
Auf dieser Seite werden Überlegungen zum Ausführen von AWS Add-Ons und Community-Add-Ons auf Amazon EKS-Hybridknoten beschrieben. Weitere Informationen zu Amazon-EKS-Add-Ons und den Prozessen zum Erstellen, Aktualisieren und Entfernen von Add-Ons aus Ihrem Cluster finden Sie unter Amazon-EKS-Add-ons. Sofern auf dieser Seite nicht anders angegeben, sind die Verfahren zum Erstellen, Aktualisieren und Entfernen von Amazon EKS-Add-Ons für Amazon EKS-Cluster mit Hybridknoten identisch wie für Amazon EKS-Cluster mit Knoten, die in der AWS Cloud laufen. Nur die auf dieser Seite aufgeführten Add-Ons wurden auf Kompatibilität mit Amazon EKS Hybrid Nodes geprüft.
Die folgenden AWS Add-Ons sind mit Amazon EKS Hybrid Nodes kompatibel.
| AWS Add-on | Kompatible Add-On-Versionen |
|---|---|
|
kube-proxy |
v1.25.14-eksbuild.2 und höher |
|
CoreDNS |
v1.9.3-eksbuild.7 und höher |
|
AWS Distribution für OpenTelemetry (ADOT) |
v0.102.1-eksbuild.2 und höher |
|
CloudWatch Agent für Beobachtbarkeit |
v2.2.1-eksbuild.1 und höher |
|
EKS Pod Identity Agent |
|
|
Knotenüberwachungsagent |
v1.2.0-eksbuild.1 und höher |
|
CSI-Snapshot-Controller |
v8.1.0-eksbuild.1 und höher |
|
AWS Privater CA-Konnektor für Kubernetes |
v1.6.0-eksbuild.1 und höher |
Die folgenden Community-Add-Ons sind mit Amazon EKS Hybrid Nodes kompatibel. Weitere Informationen zu Community-Add-Ons finden Sie unter Community-Add-Ons.
| Community-Add-On | Kompatible Add-On-Versionen |
|---|---|
|
Kubernetes-Metriken-Server |
v0.7.2-eksbuild.1 und höher |
|
cert-manager |
v1.17.2-eksbuild.1 und höher |
|
Prometheus-Knoten-Exporter |
v1.9.1-eksbuild.2 und höher |
|
kube-state-metrics |
v2.15.0-eksbuild.4 und höher |
|
Externes DNS |
v0.19.0-eksbuild.1 und höher |
Zusätzlich zu den Amazon-EKS-Add-Ons in den obigen Tabellen sind der Amazon Managed Service für Prometheus Collector und der AWS Load Balancer Controller für Anwendungseingang (HTTP) und Load Balancing (TCP/UDP) mit Hybridknoten kompatibel.
Es gibt AWS Add-Ons und Community-Add-Ons, die nicht mit Amazon EKS Hybrid Nodes kompatibel sind. Die neuesten Versionen dieser Add-Ons verfügen über eine Anti-Affinitätsregel für die standardmäßige eks.amazonaws.com/compute-type: hybrid-Kennzeichnung, das auf Hybridknoten angewendet wird. Dadurch wird verhindert, dass sie auf Hybridknoten ausgeführt werden, wenn sie in Ihren Clustern bereitgestellt werden. Wenn Sie Cluster mit sowohl Hybridknoten als auch Knoten haben, die in der AWS Cloud ausgeführt werden, können Sie diese Add-Ons in Ihrem Cluster auf Knoten bereitstellen, die in der AWS Cloud ausgeführt werden. Das Amazon VPC CNI ist nicht mit Hybridknoten kompatibel, und Cilium und Calico werden als Container Networking Interfaces (CNIs) für Amazon EKS-Hybridknoten unterstützt. Weitere Informationen finden Sie unter CNI für Hybridknoten konfigurieren.
AWS Add-Ons
In den folgenden Abschnitten werden die Unterschiede zwischen der Ausführung kompatibler AWS Add-Ons auf Hybridknoten im Vergleich zu anderen Amazon EKS-Compute-Typen beschrieben.
kube-proxy und CoreDNS
EKS installiert Kube-Proxy und CoreDNS standardmäßig als selbstverwaltete Add-Ons, wenn Sie einen EKS-Cluster mit der AWS API und AWS SDKs, auch über die CLI, erstellen. AWS Sie können diese Add-Ons nach der Cluster-Erstellung mit Amazon-EKS-Add-Ons überschreiben. Weitere Informationen zu Verwaltung von kube-proxy in Amazon-EKS-Clustern und CoreDNS für DNS in Amazon EKS-Clustern verwalten finden Sie in der EKS-Dokumentation. Wenn Sie einen Cluster im gemischten Modus mit Hybridknoten und Knoten in der AWS Cloud ausführen, AWS empfiehlt es sich, mindestens ein CoreDNS-Replikat auf Hybridknoten und mindestens ein CoreDNS-Replikat auf Ihren Knoten in der Cloud zu haben. AWS Konfigurationsschritte finden Sie unter CoreDNS-Replikate konfigurieren.
CloudWatch Beobachtbarkeitsagent
Der CloudWatch Observability-Agent-Operator verwendet Webhooks.
Metriken auf Knotenebene sind für Hybridknoten nicht verfügbar, da CloudWatch Container Insights von der Verfügbarkeit des Instance Metadata Service (IMDS) für Metriken auf Knotenebene abhängt. Für Hybridknoten sind Metriken auf Cluster-, Workload-, Pod- und Container-Ebene verfügbar.
Nachdem Sie das Add-on mithilfe der unter Installieren des CloudWatch Agenten mit Amazon CloudWatch Observability beschriebenen Schritte installiert haben, muss das Zusatz-Manifest aktualisiert werden, bevor der Agent erfolgreich auf Hybridknoten ausgeführt werden kann. Bearbeiten Sie die amazoncloudwatchagents-Ressource im Cluster, um die RUN_WITH_IRSA-Umgebungsvariable wie unten angezeigt hinzuzufügen.
kubectl edit amazoncloudwatchagents -n amazon-cloudwatch cloudwatch-agent
apiVersion: v1 items: - apiVersion: cloudwatch.aws.amazon.com/v1alpha1 kind: AmazonCloudWatchAgent metadata: ... name: cloudwatch-agent namespace: amazon-cloudwatch ... spec: ... env: - name: RUN_WITH_IRSA # <-- Add this value: "True" # <-- Add this - name: K8S_NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName ...
Amazon Managed Prometheus Managed Collector für Hybridknoten
Ein verwalteter Kollector von Amazon Managed Service für Prometheus (AMP) besteht aus einem Scraper, der Metriken aus den Ressourcen in einem Amazon-EKS-Cluster erkennt und erfasst. AMP verwaltet den Scraper für Sie, sodass Sie sich nicht selbst um Instances, Agenten oder Scraper kümmern müssen.
Sie können die von AMP verwalteten Kollektoren ohne zusätzliche Konfiguration für Hybridknoten verwenden. Die metrischen Endpunkte für Ihre Anwendungen auf den Hybridknoten müssen jedoch von der VPC aus erreichbar sein, einschließlich der Routen von der VPC zum Remote-Pod-Netzwerk CIDRs und der offenen Ports in Ihrer lokalen Firewall. Darüber hinaus muss Ihr Cluster über einen privaten Cluster-Endpunktzugriff verfügen.
Folgen Sie den Schritten unter Verwenden eines AWS verwalteten Collectors im Amazon Managed Service for Prometheus Benutzerhandbuch.
AWS Distribution für OpenTelemetry (ADOT)
Sie können das Add-on AWS Distro for OpenTelemetry (ADOT) verwenden, um Metriken, Protokolle und Ablaufverfolgungsdaten von Ihren Anwendungen zu sammeln, die auf Hybridknoten ausgeführt werden. ADOT verwendet Zulassungs-Webhooks
Folgen Sie den Schritten unter Erste Schritte mit AWS Distro zur OpenTelemetry Verwendung von EKS-Add-Ons
AWS Load Balancer Balancer-Controller
Sie können den Load AWS Balancer Controller und den Application Load Balancer (ALB) oder den Network Load Balancer (NLB) mit dem Zieltyp ip für Workloads auf Hybridknoten verwenden. Die mit dem ALB oder NLB verwendeten IP-Ziele müssen routbar sein. AWS Der AWS Load Balancer Balancer-Controller verwendet auch Webhooks
Um den Load AWS Balancer Controller zu installieren, folgen Sie den Schritten unter AWS Application Load Balancer oderAWS Network Load Balancer.
Für den Eingang mit ALB müssen Sie die folgenden Annotationen angeben. Weitere Informationen finden Sie unter Anwendungen und HTTP-Datenverkehr mit Application Load Balancers weiterleiten.
alb.ingress.kubernetes.io/target-type: ip
Für den Lastenausgleich mit NLB müssen Sie die folgenden Annotationen angeben. Weitere Informationen finden Sie unter Weiterleitung von TCP- und UDP-Datenverkehr mit Network Load Balancers.
service.beta.kubernetes.io/aws-load-balancer-type: "external" service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: "ip"
EKS Pod Identity Agent
Anmerkung
Um das Add-On für EKS Pod Identity Agent erfolgreich in Hybridknoten mit Bottlerocket bereitzustellen, stellen Sie sicher, dass Ihre Bottlerocket-Version mindestens v1.39.0 ist. Der Pod-Identity-Agent wird in früheren Bottlerocket-Versionen in Hybridknoten-Umgebungen nicht unterstützt.
Der ursprüngliche Amazon EKS Pod Identity Agent DaemonSet ist auf die Verfügbarkeit von EC2 IMDS auf dem Knoten angewiesen, um die erforderlichen AWS Anmeldeinformationen zu erhalten. Da IMDS ab Version 1.3.3-eksbuild.1 auf Hybridknoten nicht verfügbar ist, stellt das Pod Identity Agent-Add-on optional einen bereit, der die erforderlichen Anmeldeinformationen bereitstellt. DaemonSet Hybridknoten, auf denen Bottlerocket ausgeführt wird, benötigen eine andere Methode zum Mounten der Anmeldeinformationen. Ab Version 1.3.7-eksbuild.2 stellt das Pod Identity Agent-Add-on optional eine bereit, die speziell auf Bottlerocket-Hybridknoten abzielt. DaemonSet In den folgenden Abschnitten wird DaemonSets der Prozess zur Aktivierung der optionalen Option beschrieben.
Ubuntu/RHEL/AL2023
-
Um den Pod Identity-Agenten auf Ubuntu/RHEL/Al 2023 Hybridknoten zu verwenden, legen Sie
enableCredentialsFile: trueim Hybrid-Abschnitt dernodeadmKonfiguration wie unten gezeigt fest:apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: hybrid: enableCredentialsFile: true # <-- Add thisDadurch wird
nodeadmso konfiguriert, dass eine Anmeldeinformationsdatei erstellt wird, die auf dem Knoten unter/eks-hybrid/.aws/credentialskonfiguriert wird und voneks-pod-identity-agent-Pods verwendet wird. Diese Anmeldeinformationsdatei enthält temporäre AWS Anmeldeinformationen, die regelmäßig aktualisiert werden. -
Nachdem Sie die
nodeadm-Konfiguration auf jedem Knoten aktualisiert haben, führen Sie den folgendennodeadm init-Befehl mit IhremnodeConfig.yamlaus, um Ihre Hybridknoten mit Ihrem Amazon-EKS-Cluster zu verbinden. Wenn Ihre Knoten dem Cluster bereits zuvor beigetreten sind, führen Sie dennodeadm init-Befehl dennoch erneut aus.nodeadm init -c file://nodeConfig.yaml -
Installieren Sie
eks-pod-identity-agentmit aktivierter Unterstützung für Hybridknoten, entweder über die AWS CLI oder AWS-Managementkonsole.-
AWS CLI: Führen Sie auf dem Computer, den Sie zur Verwaltung des Clusters verwenden, den folgenden Befehl aus, um die Installation
eks-pod-identity-agentmit aktivierter Unterstützung für Hybridknoten zu installieren. Ersetzen Siemy-clustermit dem Namen Ihres Clusters.aws eks create-addon \ --cluster-name my-cluster \ --addon-name eks-pod-identity-agent \ --configuration-values '{"daemonsets":{"hybrid":{"create": true}}}' -
AWS-Managementkonsole: Wenn Sie das Pod Identity Agent-Add-on über die AWS Konsole installieren, fügen Sie der optionalen Konfiguration Folgendes hinzu, um DaemonSet das Add-on für Hybridknoten bereitzustellen.
{"daemonsets":{"hybrid":{"create": true}}}
-
Bottlerocket
-
Um den Pod-Identity-Agenten auf Bottlerocket-Hybridknoten zu verwenden, fügen Sie dem Befehl, der für die Benutzerdaten des Bottlerocket-Bootstrap-Containers verwendet wird, das
--enable-credentials-file=true-Flag hinzu, wie in Hybridknoten mit Bottlerocket verbinden beschrieben.-
Wenn Sie den SSM-Anmeldeinformations-Anbieter verwenden, sollte Ihr Befehl wie folgt aussehen:
eks-hybrid-ssm-setup --activation-id=<activation-id> --activation-code=<activation-code> --region=<region> --enable-credentials-file=true -
Wenn Sie den Anmeldeinformationsanbieter IAM Roles Anywhere verwenden, sollte Ihr Befehl folgendermaßen aussehen:
eks-hybrid-iam-ra-setup --certificate=<certificate> --key=<private-key> --enable-credentials-file=trueDadurch wird das Bootstrap-Skript so konfiguriert, dass auf dem Knoten unter
/var/eks-hybrid/.aws/credentialseine Anmeldeinformationsdatei erstellt wird, die voneks-pod-identity-agent-Pods verwendet wird. Diese Anmeldeinformationsdatei enthält temporäre AWS Anmeldeinformationen, die regelmäßig aktualisiert werden.
-
-
Installieren Sie
eks-pod-identity-agentmit aktivierter Unterstützung für Bottlerocket-Hybridknoten, entweder über die AWS CLI oder. AWS-Managementkonsole-
AWS CLI: Führen Sie auf dem Computer, den Sie zur Verwaltung des Clusters verwenden, den folgenden Befehl aus, um die Installation
eks-pod-identity-agentmit aktivierter Unterstützung für Bottlerocket-Hybridknoten zu installieren. Ersetzen Siemy-clustermit dem Namen Ihres Clusters.aws eks create-addon \ --cluster-name my-cluster \ --addon-name eks-pod-identity-agent \ --configuration-values '{"daemonsets":{"hybrid-bottlerocket":{"create": true}}}' -
AWS-Managementkonsole: Wenn Sie das Pod Identity Agent-Add-On über die AWS Konsole installieren, fügen Sie der optionalen Konfiguration Folgendes hinzu, um die auf Bottlerocket-Hybridknoten DaemonSet abzielenden Pakete bereitzustellen.
{"daemonsets":{"hybrid-bottlerocket":{"create": true}}}
-
CSI-Snapshot-Controller
Ab Version v8.1.0-eksbuild.2 wendet das CSI-Snapshot-Controller-Add-on eine Soft-Anti-Affinitätsregel für Hybridknoten an und bevorzugt es, deployment dass der Controller EC2 in derselben AWS Region wie die Amazon EKS-Steuerungsebene ausgeführt wird. Die gemeinsame Platzierung deployment in derselben AWS Region wie die Amazon EKS-Steuerebene verbessert die Latenz.
Community-Erweiterungen
In den folgenden Abschnitten werden die Unterschiede zwischen der Ausführung kompatibler Community-Add-Ons in Hybridknoten und anderen Amazon-EKS-Rechentypen beschrieben.
Kubernetes-Metriken-Server
Die Steuerebene muss die Pod-IP des Metriken-Servers erreichen (oder die Knoten-IP, wenn hostNetwork aktiviert ist). Wenn Sie den Metriken-Server nicht im hostNetwork-Modus ausführen, müssen Sie daher beim Erstellen Ihres Amazon-EKS-Clusters ein Pod-Netzwerk aus der Ferne konfigurieren und Ihre Pod-IP-Adressen routingfähig machen. Die Implementierung des Border Gateway Protocol (BGP) mit dem CNI ist eine gängige Methode, um die IP-Adressen Ihrer Pods routingfähig zu machen.
cert-manager
cert-manager verwendet Webhookscert-manager in Hybridknoten ausführen, muss Ihr On-Premises-Pod-CIDR in Ihrem On-Premises-Netzwerk routingfähig sein und Sie müssen Ihren EKS-Cluster mit Ihrem Pod-Netzwerk aus der Ferne konfigurieren. Weitere Informationen finden Sie unter Konfiguration von Webhooks für Hybridknoten.