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.
Add-Ons für Hybridknoten konfigurieren
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 unterAmazon-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 enthaltenen Add-Ons wurden auf ihre Kompatibilität mit Amazon EKS Hybrid Nodes überprüft.
Die folgenden AWS Add-Ons sind mit Amazon EKS Hybrid Nodes kompatibel.
AWS Add-on | Kompatible Zusatzversionen |
---|---|
kube-proxy |
v1.25.14-eksbuild.2 und höher |
CoreDNS |
v1.9.3-eksbuild.7 und höher |
AWS Distribution für (ADOT) OpenTelemetry |
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 |
|
Agent zur Knotenüberwachung |
v1.2.0-eksbuild.1 und höher |
CSI-Snapshot-Controller |
v8.1.0-eksbuild.1 und höher |
AWS Privater CA-Connector 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 unterCommunity-Erweiterungen.
Community-Add-on | Kompatible Zusatzversionen |
---|---|
Kubernetes Metrics Server |
v0.7.2-eksbuild.1 und höher |
Cert-Manager |
v1.17.2-eksbuild.1 und höher |
Prometheus-Knotenexporteur |
v1.9.1-eksbuild.2 und höher |
kube-state-metrics |
v2.15.0-eksbuild.4 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 Load AWS 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 das eks.amazonaws.com/compute-type: hybrid
Standardlabel, das auf Hybridknoten angewendet wird. Dadurch wird verhindert, dass sie auf Hybridknoten ausgeführt werden, wenn sie in Ihren Clustern eingesetzt 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 Ein 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. Einzelheiten zu kube-proxyIn Amazon EKS-Clustern verwalten 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, empfehlen wir, dass Sie mindestens ein CoreDNS-Replikat auf Hybridknoten und mindestens ein CoreDNS-Replikat auf Ihren Knoten in der Cloud haben. AWS Die Schritte zur Konfiguration finden Sie unter. CoreDNS-Replikate konfigurieren
CloudWatch Agent für Beobachtbarkeit
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. Metriken auf Cluster-, Workload-, Pod- und Container-Ebene sind für Hybridknoten 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 hinzuzufügen, wie unten gezeigt.
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 von Amazon Managed Service for Prometheus (AMP) verwalteter Collector besteht aus einem Scraper, der Metriken aus den Ressourcen in einem Amazon EKS-Cluster erkennt und sammelt. AMP verwaltet den Scraper für Sie, sodass Sie keine Instanzen, Agenten oder Scraper selbst verwalten müssen.
Sie können AMP Managed Collectors ohne zusätzliche Konfiguration verwenden, die spezifisch für Hybridknoten ist. 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 Zugangswebhooks, um die Anfragen für benutzerdefinierte Collector-Ressourcen
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 Direct Connect oder VPN verbunden sind. AWS AWS Site-to-Site Die IP-Ziele, die mit dem ALB oder NLB verwendet werden, müssen von dort aus 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 Installieren Sie den AWS Load Balancer Controller mit Helm oderInstallieren Sie den AWS Load Balancer Controller mit Manifesten.
Für den Dateneingang mit ALB müssen Sie die folgenden Anmerkungen angeben. Detaillierte Anweisungen finden Sie unter Weiterleiten von Anwendungs- und HTTP-Verkehr mit Application Load Balancers.
alb.ingress.kubernetes.io/target-type: ip
Für den Lastenausgleich mit NLB müssen Sie die folgenden Anmerkungen angeben. Detaillierte Anweisungen finden Sie unter Weiterleiten von TCP- und UDP-Verkehr 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 EKS Pod Identity Agent-Add-On erfolgreich auf Hybridknoten bereitzustellen, auf denen Bottlerocket ausgeführt wird, stellen Sie sicher, dass Ihre Bottlerocket-Version mindestens v1.39.0 ist. Der Pod Identity Agent wird auf früheren Bottlerocket-Versionen in Hybridknotenumgebungen 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: true
im Hybrid-Abschnitt dernodeadm
Konfiguration wie unten gezeigt fest:apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: hybrid: enableCredentialsFile: true # <-- Add this
Dadurch wird eine Anmeldeinformationsdatei erstellt, die auf dem darunter
/eks-hybrid/.aws/credentials
liegenden Knoten konfiguriert wird und voneks-pod-identity-agent
Pods verwendet wird.nodeadm
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 Ihrem aus,nodeConfig.yaml
um Ihre Hybridknoten mit Ihrem Amazon EKS-Cluster zu verbinden. Wenn Ihre Knoten dem Cluster schon einmal beigetreten sind, führen Sie deninit
Befehl trotzdem erneut aus.nodeadm init -c file://nodeConfig.yaml
-
Installieren Sie
eks-pod-identity-agent
mit aktivierter Unterstützung für Hybridknoten, entweder über die AWS CLI oder AWS Management Console.-
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-agent
mit aktivierter Unterstützung für Hybridknoten zu installieren. Ersetzen Siemy-cluster
mit 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 Management Console: 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 das
--enable-credentials-file=true
Flag zu dem Befehl hinzu, der für die Benutzerdaten des Bottlerocket-Bootstrap-Containers verwendet wird, wie unter beschrieben. Connect Hybridknoten mit Bottlerocket-
Wenn Sie den SSM-Anmeldeinformationsanbieter 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 von IAM Roles Anywhere verwenden, sollte Ihr Befehl wie folgt aussehen:
eks-hybrid-iam-ra-setup --certificate=<certificate> --key=<private-key> --enable-credentials-file=true
Dadurch wird das Bootstrap-Skript so konfiguriert, dass es auf dem darunter liegenden Knoten eine Anmeldeinformationsdatei erstellt
/var/eks-hybrid/.aws/credentials
, die von Pods verwendet wird.eks-pod-identity-agent
Diese Anmeldeinformationsdatei enthält temporäre AWS Anmeldeinformationen, die regelmäßig aktualisiert werden.
-
-
Installieren Sie
eks-pod-identity-agent
mit aktivierter Unterstützung für Bottlerocket-Hybridknoten, entweder über die AWS CLI oder. AWS Management Console-
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-agent
mit aktivierter Unterstützung für Bottlerocket-Hybridknoten zu installieren. Ersetzen Siemy-cluster
mit 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 Management Console: 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 auf Hybridknoten im Vergleich zu anderen Amazon EKS-Compute-Typen beschrieben.
Kubernetes Metrics Server
Die Steuerungsebene muss die Pod-IP des Metrics Servers (oder die Knoten-IP, wenn HostNetwork aktiviert ist) erreichen. Sofern Sie Metrics Server nicht im HostNetwork-Modus ausführen, müssen Sie daher bei der Erstellung Ihres Amazon EKS-Clusters ein Remote-Pod-Netzwerk 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 Ihre Pod-IP-Adressen routingfähig zu machen.
Cert-Manager
cert-manager
verwendet Webhooks.cert-manager
auf Hybridknoten laufen, muss Ihr lokales Pod-CIDR in Ihrem lokalen Netzwerk routingfähig sein und Sie müssen Ihren EKS-Cluster mit Ihrem Remote-Pod-Netzwerk konfigurieren. Weitere Informationen finden Sie unter Webhooks für Hybridknoten konfigurieren.