Unterstützung für die Verbesserung dieser Seite beitragen
Um zu diesem Benutzerhandbuch beizutragen, klicken Sie auf den Link Diese Seite auf GitHub bearbeiten, der sich im rechten Bereich jeder Seite befindet.
Bereitstellung eines Amazon-EKS-Clusters in AWS Outposts
Dieses Thema bietet einen Überblick darüber, was beim Ausführen eines lokalen Clusters auf einem Outpost zu beachten ist. Das Thema enthält auch Anweisungen zum Bereitstellen eines lokalen Clusters auf einem Outpost.
Wichtig
-
Diese Überlegungen werden in der zugehörigen Amazon-EKS-Dokumentation nicht wiederholt. Wenn andere Themen der Amazon-EKS-Dokumentation mit den hier aufgeführten Überlegungen in Konflikt stehen, befolgen Sie die Überlegungen hier.
-
Diese Überlegungen sind freibleibend und können sich häufig ändern. Wir empfehlen Ihnen daher, dieses Thema regelmäßig zu überprüfen.
-
Viele der Überlegungen unterscheiden sich von den Überlegungen zum Erstellen eines Clusters in der AWS Cloud.
-
Lokale Cluster unterstützen nur Outpost-Racks. Ein einzelner lokaler Cluster kann über mehrere physische Outpost-Racks laufen, die aus einem einzigen logischen Outpost bestehen. Ein einzelner lokaler Cluster kann nicht über mehrere logische Outposts hinweg ausgeführt werden. Jeder logische Outpost hat einen einzigen Outpost-ARN.
-
Lokale Cluster führen und verwalten die Kubernetes-Steuerebenen in Ihrem Konto in dem Outpost. Sie können keine Workloads auf den Instances der Kubernete-Steuerebene ausführen oder die Komponenten der Kubernetes -Steuerebene ändern. Diese Knoten werden vom Amazon-EKS-Service verwaltet. Änderungen an derKubernetes-Steuerebene bleiben nicht durch automatische Amazon-EKS-Verwaltungsaktionen, wie etwa Patching, erhalten.
-
Lokale Cluster unterstützen selbstverwaltete Add-Ons und selbstverwaltete Amazon-Linux-Knotengruppen. Das Amazon-VPC-CNI-Plugin für Kubernetes, kube-proxy und CoreDNS-Add-Ons wird automatisch auf lokalen Clustern installiert.
-
Lokale Cluster erfordern die Verwendung von Amazon EBS auf Outposts. In Ihrem Outpost muss Amazon EBS für die Aufbewahrung der Kubernetes-Steuerebene verfügbar sein. Outposts unterstützen nur Amazon EBS
gp2-Volumes. -
Amazon-EBS-gestützte Kubernetes
PersistentVolumeswerden mit dem Amazon-EBS-CSI-Treiber unterstützt. -
Die Instances der Steuerebene lokaler Cluster werden in einer gestapelten hochverfügbaren Topologie
eingerichtet. Zwei der drei Steuerebenen-Instances müssen jederzeit funktionsfähig sein, um das Quorum aufrechtzuerhalten. Wenn das Quorum verloren geht, wenden Sie sich an den AWS Support, da einige serverseitige Maßnahmen erforderlich sind, um die neuen verwalteten Instances zu aktivieren.
Voraussetzungen
-
Vertrautheit mit den Bereitstellungsoptionen von Outposts, Auswahl von Instance-Typen und Platzierungsgruppen für Amazon-EKS-Cluster in AWS Outposts basierend auf Kapazitätsüberlegungen sowie VPC-Anforderungen und -Überlegungen.
-
Ein vorhandener Outpost. Weitere Informationen finden Sie unter Was ist AWS Outposts?.
-
Das
kubectl-Befehlszeilen-Tool ist auf Ihrem Computer oder AWS CloudShell installiert. Die Version kann mit der Kubernetes-Version Ihres Clusters identisch sein oder bis zu einer Nebenversion älter oder neuer sein. Wenn Ihre Clusterversion beispielsweise1.29ist, können Siekubectl-Version1.28,1.29, oder1.30damit verwenden. Informationen zum Installieren oder Aktualisieren vonkubectlfinden Sie unter kubectl und eksctl einrichten. -
Version
2.12.3oder höher oder die Version1.27.160oder höher der AWS-Befehlszeilenschnittstelle (AWS-CLI), die auf Ihrem Gerät oder in AWS CloudShell installiert und konfiguriert sein muss. Um Ihre aktuelle Version zu überprüfen, verwenden Sieaws --version | cut -d / -f2 | cut -d ' ' -f1. Paket-Manager wieyum,apt-getoder Homebrew für macOS sind oft mehrere Versionen hinter der neuesten Version der AWS-CLI. Um die neueste Version zu installieren, lesen Sie Installation und Schnellkonfiguration mit aws configure im Benutzerhandbuch zur AWS-Befehlszeilenschnittstelle. Die in AWS CloudShell installierte AWS-CLI-Version kann auch mehrere Versionen hinter der neuesten Version liegen. Informationen zum Aktualisieren finden Sie unter Installieren der AWS CLI in Ihrem Stammverzeichnis im AWS-CloudShell-Benutzerhandbuch. -
Ein IAM-Prinzipal (Benutzer oder Rolle) mit Berechtigungen zum Erstellen (
create) und Beschreiben (describe) eines Amazon-EKS-Clusters. Weitere Informationen erhalten Sie unter Kubernetes-Cluster auf einem Outpost erstellen und Auflisten oder Beschreiben aller Cluster.
Wenn ein lokaler Amazon-EKS-Cluster erstellt wird, wird der IAM-Prinzipal, der den Cluster erstellt, dauerhaft hinzugefügt. Der Prinzipal wird ausdrücklich als Administrator in die Kubernetes-RBAC-Autorisierungstabelle aufgenommen. Diese Entität hat system:masters-Berechtigungen. Die Identität dieser Entität ist in Ihrer Cluster-Konfiguration nicht sichtbar. Daher ist es wichtig, die Entität zu notieren, die den Cluster erstellt hat, und sicherzustellen, dass Sie diese keinesfalls löschen. Anfänglich kann nur der Prinzipal, der den Server erstellt hat, Aufrufe an den Kubernetes-API-Server mit kubectl tätigen. Wenn Sie die Konsole zum Erstellen des Clusters verwenden, stellen Sie sicher, dass sich dieselben IAM-Anmeldeinformationen in der AWS-SDK-Anmeldeinformationskette befinden, wenn Sie kubectl-Befehle auf Ihrem Cluster ausführen. Nachdem Ihr Cluster erstellt wurde, können Sie anderen IAM-Prinzipalen Zugriff auf Ihren Cluster gewähren.
Einen lokalen Amazon-EKS-Cluster erstellen
Sie können einen lokalen Cluster mit den folgenden Tools erstellen, die auf dieser Seite beschrieben werden:
Sie können auch die AWS-CLI, die Amazon-EKS-API, die AWS-SDKs
eksctl
So erstellen Sie einen Cluster mit eksctl
-
Installieren Sie Version
0.214.0oder höher deseksctl-Befehlszeilen-Tools auf Ihrem Gerät oder in AWS CloudShell. Informationen zum Installieren und Aktualisieren voneksctlfinden Sie in der Dokumentation zueksctlunter Installation. -
Kopieren Sie den folgenden Inhalt auf Ihr Gerät. Ersetzen Sie die folgenden Werte und führen Sie dann den geänderten Befehl aus, um die
outpost-control-plane.yaml-Datei zu erstellen:-
Ersetzen Sie
region-codedurch die unterstützte AWS-Region, in der Sie Ihren Cluster erstellen möchten. -
Ersetzen Sie
my-clusterdurch einen Namen für Ihren Cluster. Der Name darf nur alphanumerische Zeichen (wobei die Groß- und Kleinschreibung beachtet werden muss) und Bindestriche enthalten. Es muss mit einem alphanumerischen Zeichen beginnen und darf nicht länger als 100 Zeichen sein. Der Name muss innerhalb der AWS-Region und des AWS-Kontos eindeutig sein, in der/dem Sie den Cluster erstellen. Der Name muss innerhalb der AWS-Region und des AWS-Kontos eindeutig sein, in der/dem Sie den Cluster erstellen. -
Ersetzen Sie
vpc-ExampleID1undsubnet-ExampleID1mit den IDs Ihrer vorhandenen VPC und Ihres Subnetzes. Die VPC und das Subnetz müssen die Anforderungen unter Erstellen einer VPC und von Subnetzen für Amazon-EKS-Cluster in AWS Outposts erfüllen. -
Ersetzen Sie
uniqueidmit der ID Ihres Outposts. -
Ersetzen Sie
m5.largemit einem Instance-Typ, der auf Ihrem Outpost verfügbar ist. Bevor Sie einen Instance-Typ auswählen, lesen Sie Wählen Sie Instance-Typen und Platzierungsgruppen für Amazon-EKS-Cluster in AWS Outposts basierend auf Kapazitätsüberlegungen aus.. Drei Steuerebenen-Instances werden bereitgestellt. Sie können diese Nummer nicht ändern.cat >outpost-control-plane.yaml <<EOF apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-cluster region: region-code version: "1.33" vpc: clusterEndpoints: privateAccess: true id: "vpc-vpc-ExampleID1" subnets: private: outpost-subnet-1: id: "subnet-subnet-ExampleID1" outpost: controlPlaneOutpostARN: arn:aws:outposts:region-code:111122223333:outpost/op-uniqueid controlPlaneInstanceType: m5.large EOFEine vollständige Liste aller verfügbaren Optionen und Standardwerte finden Sie unter AWS-Outposts-Support
und Konfigurationsdateischema in der eksctl-Dokumentation.
-
-
Erstellen Sie den Cluster mit der Konfigurationsdatei, die Sie im vorherigen Schritt erstellt haben.
eksctlerstellt eine VPC und ein Subnetz auf Ihrem Outpost, in dem Sie den Cluster bereitstellen können.eksctl create cluster -f outpost-control-plane.yamlDie Clusterbereitstellung dauert mehrere Minuten. Während der Cluster erstellt wird, werden mehrere Ausgabezeilen angezeigt. Die letzte Ausgabezeile ähnelt der folgenden Beispielzeile.
[✓] EKS cluster "my-cluster" in "region-code" region is readyTipp
Sie können die meisten Optionen, die beim Erstellen eines Clusters mit
eksctlangegeben werden können, über den Befehleksctl create cluster --helpanzeigen. Verwenden Sie eineconfig-Datei, um alle verfügbaren Optionen anzuzeigen. Weitere Informationen finden Sie unter Verwenden von Config-Dateienund im Config-Datei-Schema in der eksctl-Dokumentation. Auf GitHub finden Sie Beispiele für Config-Dateien. Der
eksctl-Befehl hat automatisch einen Zugriffseintrag für den IAM-Prinzipal (Benutzer oder Rolle) erstellt, der den Cluster erstellt hat, und dem IAM-Prinzipal Administratorberechtigungen für Kubernete -Objekte im Cluster gewährt. Wenn der Cluster-Ersteller keinen Administratorzugriff auf Kubernetes-Objekte im Cluster haben soll, fügen Sie der vorherigen Konfigurationsdatei den folgenden Text hinzu:bootstrapClusterCreatorAdminPermissions: false(auf der gleichen Ebene wiemetadata,vpcundoutpost). Wenn Sie die Option hinzugefügt haben, müssen Sie nach der Cluster-Erstellung einen Zugriffseintrag für mindestens einen IAM-Prinzipal erstellen. Andernfalls kann kein IAM-Prinzipal auf Kubernetes-Objekte im Cluster zugreifen.
AWS-Managementkonsole
So erstellen Sie einen Cluster mit der AWS-Managementkonsole
-
Sie benötigen eine vorhandene VPC und ein Subnetz, die den Anforderungen von Amazon EKS entsprechen. Weitere Informationen finden Sie unter Erstellung einer VPC und von Subnetzen für Amazon-EKS-Cluster in AWS Outposts.
-
Wenn Sie bereits eine lokale Cluster-IAM-Rolle haben oder Ihren Cluster mit
eksctlerstellen, können Sie diesen Schritt überspringen. Standardmäßig erstellteksctleine Rolle für Sie.-
Führen Sie den folgenden Befehl aus, um eine JSON-Datei für eine IAM-Vertrauensrichtlinie zu erstellen.
cat >eks-local-cluster-role-trust-policy.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } EOF -
Erstellen Sie die Amazon-EKS-Cluster-IAM-Rolle. Um eine IAM-Rolle zu erstellen, muss dem IAM-Prinzipal, der die Rolle erstellt, die folgende
iam:CreateRole-Aktion (Berechtigung) zugewiesen werden.aws iam create-role --role-name myAmazonEKSLocalClusterRole --assume-role-policy-document file://"eks-local-cluster-role-trust-policy.json" -
Fügen Sie der Rolle die von Amazon EKS verwaltete Richtlinie mit dem Namen AmazonEKSLocalOutpostClusterPolicy hinzu. Um eine IAM-Richtlinie an einen IAM-Prinzipal anzuhängen, muss der Prinzipal, der die Richtlinie anhängt, eine der folgenden IAM-Aktionen (Berechtigungen) zugewiesen werden:
iam:AttachUserPolicyoderiam:AttachRolePolicy.aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy --role-name myAmazonEKSLocalClusterRole
-
-
Öffnen Sie die Amazon-EKS-Konsole
. -
Stellen Sie oben im Konsolenbildschirm sicher, dass Sie eine unterstützte AWS-Region ausgewählt haben.
-
Wählen Sie Cluster hinzufügen und dann Erstellen aus.
-
Füllen Sie auf der Seite Configure cluster (Cluster konfigurieren) die folgenden Felder aus oder wählen Sie sie aus:
-
Standort der Kubernetes-Steuerebene – Wählen Sie AWS Outposts.
-
Outpost-ID – Wählen Sie die ID des Outposts, auf dem Sie Ihre Steuerebene erstellen möchten.
-
Instance Type (Instance-Typ) – Wählen Sie einen Instance-Typ aus. Es werden nur die in Ihrem Outpost verfügbaren Instance-Typen angezeigt. In der Dropdown-Liste beschreibt jeder Instance-Typ, für wie viele Knoten der Instance-Typ empfohlen wird. Bevor Sie einen Instance-Typ auswählen, lesen Sie Wählen Sie Instance-Typen und Platzierungsgruppen für Amazon-EKS-Cluster in AWS Outposts basierend auf Kapazitätsüberlegungen aus.. Alle Replikate werden mit demselben Instance-Typ bereitgestellt. Sie können den Instance-Typ nicht mehr ändern, nachdem der Cluster erstellt wurde. Drei Steuerebenen-Instances werden bereitgestellt. Sie können diese Nummer nicht ändern.
-
Name – Ein Name für Ihren Cluster. Er muss in Ihrem AWS-Konto eindeutig sein. Der Name darf nur alphanumerische Zeichen (wobei die Groß- und Kleinschreibung beachtet werden muss) und Bindestriche enthalten. Es muss mit einem alphanumerischen Zeichen beginnen und darf nicht länger als 100 Zeichen sein. Der Name muss innerhalb der AWS-Region und des AWS-Kontos eindeutig sein, in der/dem Sie den Cluster erstellen. Der Name muss innerhalb der AWS-Region und des AWS-Kontos eindeutig sein, in der/dem Sie den Cluster erstellen.
-
Kubernetes-Version – Wählen Sie die Kubernetes-Version aus, die Sie für Ihren Cluster verwenden möchten. Wir empfehlen, die frühere Version auszuwählen, es sei denn, Sie müssen eine ältere Version verwenden.
-
Cluster-Servicerolle – Wählen Sie die IAM-Rolle des Amazon-EKS-Clusters, die Sie in einem früheren Schritt erstellt haben, damit die Kubernetes-Steuerebene AWS-Ressourcen verwalten kann.
-
Kubernetes-Cluster-Administratorzugriff: Wenn der IAM-Prinzipal (Rolle oder Benutzer), der den Cluster erstellt, Administratorzugriff auf die Kubernetes-Objekte im Cluster haben soll, übernehmen Sie die Standardeinstellung (zulassen). Amazon EKS erstellt einen Zugriffseintrag für den IAM-Prinzipal und erteilt Cluster-Administratorberechtigungen für den Zugriffseintrag. Weitere Informationen zu Zugriffseinträgen finden Sie unter IAM-Benutzern mit EKS-Zugriffseinträgen Zugriff auf Kubernetes gewähren.
Wenn nicht der Prinzipal, der den Cluster erstellt, sondern ein anderer IAM-Prinzipal Administratorzugriff auf Kubernetes-Cluster-Objekte haben soll, wählen Sie die Verweigerungsoption aus. Nach der Cluster-Erstellung kann jeder IAM-Prinzipal, der über IAM-Berechtigungen zum Erstellen von Zugriffseinträgen verfügt, Zugriffseinträge für beliebige IAM-Prinzipale hinzufügen, die Zugriff auf Kubernetes-Cluster-Objekte benötigen. Weitere Informationen zu den erforderlichen IAM-Berechtigungen finden Sie in der Service-Authorization-Referenz unter Von Amazon Elastic Kubernetes Service definierte Aktionen. Wenn Sie die Verweigerungsoption auswählen und keine Zugriffseinträge erstellen, können keine IAM-Prinzipale auf die Kubernetes-Objekte im Cluster zugreifen.
-
Tags – (Optional) Fügen Sie Ihrem Cluster beliebige Tags hinzu. Weitere Informationen finden Sie unter Organisation von Amazon-EKS-Ressourcen mit Tags. Wenn Sie mit dieser Seite fertig sind, wählen Sie Weiter aus.
-
-
Wählen Sie auf der Seite Specify networking (Netzwerk angeben) die Werte für die folgenden Felder aus:
-
VPC – Wählen Sie eine vorhandene VPC aus. Die VPC muss über eine ausreichende Anzahl von IP-Adressen für den Cluster, alle Knoten und andere Kubernetes-Ressourcen, die Sie erstellen möchten, verfügen. Ihr VPC muss die Anforderungen in den VPC-Anforderungen und -Überlegungen erfüllen.
-
Subnetze – Standardmäßig sind alle im vorherigen Feld angegebenen Subnetze in der VPC vorausgewählt. Die von Ihnen ausgewählten Subnetze müssen die in den Subnetz-Anforderungen und -Überlegungen beschriebenen Anforderungen erfüllen.
-
Security groups (Sicherheitsgruppen) – (Optional) Geben Sie eine oder mehrere Sicherheitsgruppen an, die Amazon EKS den erstellten Netzwerkschnittstellen zuordnen soll. Amazon EKS erstellt automatisch eine Sicherheitsgruppe, die die Kommunikation zwischen Ihrem Cluster und Ihrer VPC ermöglicht. Amazon EKS verknüpft diese Sicherheitsgruppe und alle, die Sie wählen, mit den erstellten Netzwerkschnittstellen. Weitere Informationen zu der Cluster-Sicherheitsgruppe, die Amazon EKS erstellt, finden Sie unter Anforderungen der Amazon-EKS-Sicherheitsgruppe für Cluster anzeigen. Sie können die Regeln in der von Amazon EKS erstellten Cluster-Sicherheitsgruppe ändern. Wenn Sie Ihre eigenen Sicherheitsgruppen hinzufügen möchten, können Sie die ausgewählten nach der Cluster-Erstellung nicht ändern. Damit On-Premises-Hosts mit dem Cluster-Endpunkt kommunizieren können, müssen Sie eingehenden Datenverkehr von der Cluster-Sicherheitsgruppe zulassen. Bei Clustern, die nicht über eine eingehende und ausgehende Internetverbindung verfügen (auch als private Cluster bezeichnet), müssen Sie eine der folgenden Maßnahmen ergreifen:
-
Fügen Sie die Sicherheitsgruppe hinzu, die mit den erforderlichen VPC-Endpunkten verbunden ist. Weitere Informationen zu den erforderlichen Endpunkten finden Sie unter Verwendung von -Schnittstellen-VPC-Endpunkten im Subnetz-Zugriff auf AWS-Services.
-
Ändern Sie die Sicherheitsgruppe, die Amazon EKS erstellt hat, um Datenverkehr von der Sicherheitsgruppe zuzulassen, die den VPC-Endpunkten zugeordnet ist. Wenn Sie mit dieser Seite fertig sind, wählen Sie Weiter aus.
-
-
-
Auf der Seite Beobachtbarkeit konfigurieren können Sie optional auswählen, welche Metriken und Optionen zur Steuerebenen-Protokollierung Sie aktivieren möchten. Standardmäßig sind alle Protokollierungstypen deaktiviert.
-
Weiteren Informationen zur Prometheus-Metrik-Option finden Sie unter Schritt 1: Prometheus-Metriken aktivieren.
-
Weitere Informationen zu den Optionen für die Steuerebenen-Protokollierung finden Sie unter Übermittlung von Steuerebenen-Protokollen an CloudWatch Logs. Wenn Sie mit dieser Seite fertig sind, wählen Sie Weiter aus.
-
-
Überprüfen Sie auf der Seite Review and create (Überprüfen und erstellen) die Informationen, die Sie auf den vorherigen Seiten eingegeben oder ausgewählt haben. Wenn Sie Änderungen vornehmen müssen, wählen Sie Edit (Bearbeiten). Wenn Sie zufrieden sind, klicken Sie auf Erstellen. Das Feld Status zeigt CREATING (WIRD ERSTELLT) an, während der Cluster bereitgestellt wird.
Die Clusterbereitstellung dauert mehrere Minuten.
Anzeigen Ihres lokalen Amazon-EKS-Clusters
-
Nachdem Ihr Cluster erstellt wurde, können Sie die erstellten Instances der Amazon-EC2-Steuerebene anzeigen.
aws ec2 describe-instances --query 'Reservations[*].Instances[*].{Name:Tags[?Key==`Name`]|[0].Value}' | grep my-cluster-control-planeEine Beispielausgabe sieht wie folgt aus.
"Name": "my-cluster-control-plane-id1" "Name": "my-cluster-control-plane-id2" "Name": "my-cluster-control-plane-id3"Jede Instance ist mit
node-role.eks-local.amazonaws.com/control-planegekennzeichnet, sodass auf den Instances der Steuerebene keine Workloads geplant werden. Weitere Informationen zu Taints finden Sie unter Taints und Toleranzenin der Kubernetes-Dokumentation. Amazon EKS überwacht kontinuierlich den Status lokaler Cluster. Wir führen automatische Verwaltungsaktionen durch, z. B. Sicherheits-Patches und das Reparieren fehlerhafter Instances. Wenn lokale Cluster von der Cloud getrennt werden, führen wir Aktionen durch, um sicherzustellen, dass der Cluster bei der erneuten Verbindung wieder in einen fehlerfreien Zustand versetzt wird. -
Wenn Sie Ihren Cluster mit
eksctlerstellt haben, können Sie diesen Schritt überspringen.eksctlschließt diesen Schritt für Sie ab. Aktivieren Siekubectl, um mit Ihrem Cluster zu kommunizieren, indem Sie einen neuen Kontext zur Dateikubectlconfighinzufügen. Anweisungen zum Erstellen und Aktualisieren der Datei finden Sie unter kubectl mit einem EKS-Cluster durch Erstellen einer kubeconfig-Datei verbinden.aws eks update-kubeconfig --region region-code --name my-clusterEine Beispielausgabe sieht wie folgt aus.
Added new context arn:aws:eks:region-code:111122223333:cluster/my-cluster to /home/username/.kube/config -
Um eine Verbindung zum Kubernetes-API-Server Ihres lokalen Clusters herzustellen, müssen Sie Zugriff auf das lokale Gateway für das Subnetz haben oder eine Verbindung innerhalb der VPC herstellen. Weitere Informationen zum Verbinden eines Outpost-Racks mit Ihrem On-Premises-Netzwerk finden Sie unter So funktionieren lokale Gateways für Racks im AWS-Benutzerhandbuch. Wenn Sie direktes VPC-Routing verwenden und das Outpost-Subnetz eine Route zu Ihrem lokalen Gateway hat, werden die privaten IP-Adressen der -Instances der Kubernetes-Steuerebene automatisch über Ihr lokales Netzwerk übertragen. Der Kubernetes-API-Server-Endpunkt des lokalen Clusters wird in Amazon Route 53 (Route 53) gehostet. Der API-Service-Endpunkt kann von öffentlichen DNS-Servern in die privaten IP-Adressen der Kubernetes API-Server aufgelöst werden.
Die Instances der Kubernetes-Steuerebenen lokaler Cluster sind mit statischen Elastic-Network-Schnittstellen mit festen privaten IP-Adressen konfiguriert, die sich während des Cluster-Lebenszyklus nicht ändern. Rechner, die mit dem Kubernetes-API-Server interagieren, verfügen möglicherweise nicht über eine Verbindung zu Route 53, wenn die Netzwerkverbindung unterbrochen ist. In diesem Fall empfehlen wir,
/etc/hostsmit den statischen privaten IP-Adressen für den weiteren Betrieb zu konfigurieren. Wir empfehlen außerdem, lokale DNS-Server einzurichten und diese mit Ihrem Outpost zu verbinden. Weitere Informationen finden Sie in der AWS-Outposts-Dokumentation. Führen Sie den folgenden Befehl aus, um zu bestätigen, dass die Kommunikation mit Ihrem Cluster hergestellt wurde.kubectl get svcEine Beispielausgabe sieht wie folgt aus.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 28h -
(Optional) Testen Sie die Authentifizierung bei Ihrem lokalen Cluster, wenn er sich in einem von der AWS Cloud getrennten Status befindet. Detaillierte Anweisungen finden Sie unter Vorbereitung lokaler Amazon-EKS-Cluster in AWS Outposts für Netzwerkunterbrechungen.
Interne Ressourcen
Amazon EKS erstellt die folgenden Ressourcen in Ihrem Cluster. Die Ressourcen sind für den internen Gebrauch von Amazon EKS bestimmt. Damit Ihr Cluster ordnungsgemäß funktioniert, sollten Sie diese Ressourcen nicht bearbeiten oder ändern.
-
Die folgenden Spiegel-Pods
: -
aws-iam-authenticator-node-hostname -
eks-certificates-controller-node-hostname -
etcd-node-hostname -
kube-apiserver-node-hostname -
kube-controller-manager-node-hostname -
kube-scheduler-node-hostname
-
-
Die folgenden selbstverwalteten Add-Ons:
-
kube-system/coredns -
kube-system/kube-proxy(wird erst erstellt, wenn Sie Ihren ersten Knoten hinzugefügt haben) -
kube-system/aws-node(wird erst erstellt, wenn Sie Ihren ersten Knoten hinzugefügt haben). Lokale Cluster verwenden das Amazon VPC-CNI-Plugin für das Kubernetes-Plugin für die Cluster-Vernetzung. Ändern Sie nicht die Konfiguration für Steuerebene-Instances (Pods mit dem Namenaws-node-controlplane-*). Es gibt Konfigurationsvariablen, die Sie verwenden können, um den Standardwert zu ändern, wenn das Plugin neue Netzwerkschnittstellen erstellt. Weitere Informationen finden Sie in der Dokumentationauf GitHub.
-
-
Die folgenden Services:
-
default/kubernetes -
kube-system/kube-dns
-
-
Eine
PodSecurityPolicynamenseks.system -
Eine
ClusterRolenamenseks:system:podsecuritypolicy -
Eine
ClusterRoleBindingnamenseks:system -
Zusätzlich zur Cluster-Sicherheitsgruppe erstellt Amazon EKS eine Sicherheitsgruppe in Ihrem AWS-Konto mit dem Namen
eks-local-internal-do-not-use-or-edit-. Diese Sicherheitsgruppe ermöglicht den freien Datenverkehr zwischen Kubernetes-Komponenten, die in Instances der Steuerebene ausgeführt werden.cluster-name-uniqueid
Empfohlene nächste Schritte:
-
Gewähren Sie IAM-Entitäten Zugriff auf Ihren Cluster. Wenn Sie möchten, dass die Entitäten Kubernetes-Ressourcen in der Amazon-EKS-Konsole anzeigen können, gewähren Sie ihnen die Erforderlichen Berechtigungen.
-
Machen Sie sich mit dem vertraut, was während Netzwerktrennungen passiert.
-
Erwägen Sie, einen Backup-Plan für Ihr
etcdzu erstellen. Amazon EKS unterstützt keine automatisierte Sicherung und Wiederherstellung vonetcdfür lokale Cluster. Weitere Informationen finden Sie unter Sicherung eines etcd-Clustersin der Kubernetes-Dokumentation. Die beiden Hauptoptionen sind die Verwendung von etcdctlzur Automatisierung der Erstellung von Snapshots oder die Verwendung der Amazon-EBS-Speicher-Volume-Sicherung.