Cluster-API-Server-Endpunkt - Amazon EKS

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.

Cluster-API-Server-Endpunkt

Dieses Thema hilft Ihnen, den privaten Zugriff für den Kubernetes-API-Server-Endpunkt Ihres Amazon-EKS-Clusters zu aktivieren und den öffentlichen Zugriff über das Internet einzuschränken oder vollständig zu deaktivieren.

Wenn Sie einen neuen Cluster erstellen, erstellt Amazon EKS einen Endpunkt für den verwalteten Kubernetes-API-Server, über den Sie mit Ihrem Cluster kommunizieren (mit Kubernetes-Verwaltungswerkzeugen wie kubectl). Standardmäßig ist dieser API-Server-Endpunkt öffentlich im Internet zugänglich und der Zugriff auf den API-Server wird durch eine Kombination aus AWS Identity and Access Management (IAM) und nativer Kubernetes Role Based Access Control (RBAC) gesichert. Dieser Endpunkt wird als öffentlicher Cluster-Endpunkt bezeichnet. Es gibt auch einen privaten Cluster-Endpunkt. Weitere Informationen zum privaten Cluster-Endpunkt finden Sie im folgenden Abschnitt Privater Cluster-Endpunkt.

IPv6-Cluster-Endpunkt-Format

EKS erstellt für neue IPv6-Cluster, die nach Oktober 2024 erstellt werden, einen eindeutigen Dual-Stack-Endpunkt im folgenden Format: Ein IPv6-Cluster ist ein Cluster, für den Sie in der Einstellung „IP-Familie (ipFamily)“ des Clusters IPv6 auswählen.

AWS

Öffentlicher/privater Endpunkt des EKS-Clusters: eks-cluster.region.api.aws

AWS GovCloud (US)

Öffentlicher/privater Endpunkt des EKS-Clusters: eks-cluster.region.api.aws

Amazon Web Services in China

Öffentlicher/privater Endpunkt des EKS-Clusters: eks-cluster.region.api.amazonwebservices.com.rproxy.govskope.ca.cn

Anmerkung

Der Dual-Stack-Cluster-Endpunkt wurde im Oktober 2024 eingeführt. Weitere Informationen zu IPv6-Clustern finden Sie unter Informationen zu IPv6-Adressen für Cluster, Pods und Services. Cluster, die vor Oktober 2024 erstellt wurden, verwenden stattdessen das folgende Endpunkt-Format.

IPv4-Cluster-Endpunkt-Format

EKS erstellt für jeden Cluster, der in der IP-Familieneinstellung (ipFamily) des Clusters IPv4 auswählt, einen eindeutigen Endpunkt im folgenden Format:

AWS

Öffentlicher/privater Endpunkt des EKS-Clusters eks-cluster.region.eks.amazonaws.com

AWS GovCloud (US)

Öffentlicher/privater Endpunkt des EKS-Clusters eks-cluster.region.eks.amazonaws.com

Amazon Web Services in China

Öffentlicher/privater Endpunkt des EKS-Clusters eks-cluster.region.amazonwebservices.com.rproxy.govskope.ca.cn

Anmerkung

Vor Oktober 2024 verwendeten IPv6-Cluster auch dieses Endpunkt-Format. Bei diesen Clustern werden sowohl beim öffentlichen als auch beim privaten Endpunkt nur IPv4-Adressen von diesem Endpunkt aufgelöst.

Privater Cluster-Endpunkt

Sie können den privaten Zugriff auf den Kubernetes-API-Server aktivieren, sodass die gesamte Kommunikation zwischen Ihren Knoten und dem API-Server innerhalb Ihrer VPC bleibt. Sie können einschränken, welche IP-Adressen über das Internet auf Ihren API-Server zugreifen dürfen, oder den Internetzugriff auf den API-Server vollständig deaktivieren.

Anmerkung

Da es sich bei diesem Endpunkt um den Kubernetes-API-Server und nicht um einen traditionellen AWS-PrivateLink-Endpunkt für die Kommunikation mit einer AWS-API handelt, wird er in der Amazon-VPC-Konsole nicht als Endpunkt angezeigt.

Wenn Sie den privaten Endpunktzugriff für Ihren Cluster aktivieren, erstellt Amazon EKS in Ihrem Namen eine privat gehostete Route-53-Zone und ordnet diese der VPC Ihres Clusters zu. Diese private gehostete Zone wird von Amazon EKS verwaltet und wird nicht in den Route-53-Ressourcen Ihres Kontos angezeigt. Damit die private gehostete Zone Datenverkehr ordnungsgemäß an Ihren API-Server weiterleiten kann, müssen enableDnsHostnames und enableDnsSupport für Ihre VPC auf true gesetzt sein und die DHCP-Optionen für Ihre VPC müssen AmazonProvidedDNS in ihrer Domainnamen-Serverliste enthalten. Weitere Informationen finden Sie unter Aktualisieren der DNS-Unterstützung für Ihre VPC im Amazon-VPC-Benutzerhandbuch.

Sie können Ihre Anforderungen für den Zugriff auf Ihre API-Server-Endpunkte definieren, wenn Sie einen neuen Cluster erstellen. Sie können den Zugriff auf die API-Server-Endpunkte für einen Cluster jederzeit aktualisieren.

Ändern des Cluster-Endpunktzugriffs

Verwenden Sie die Verfahren in diesem Abschnitt, um den Endpunktzugriff für einen bestehenden Cluster zu ändern. Die folgende Tabelle zeigt die unterstützten Kombinationen von API-Server-Endpunktzugriffen und das damit verbundene Verhalten.

Endpunkt für öffentlichen Zugriff Endpunkt für privaten Zugriff Behavior

Enabled

Disabled

  • Dies ist das Standardverhalten für neue Amazon-EKS-Cluster.

  • Kubernetes-API-Anfragen, die aus der VPC Ihres Clusters stammen (z. B. Knoten zur Steuerung der Steuerebenen-Kommunikation), verlassen zwar die VPC, aber nicht das Netzwerk von Amazon.

  • Ihr Cluster-API-Server ist über das Internet erreichbar. Optional können Sie die CIDR-Blöcke einschränken, die auf den öffentlichen Endpunkt zugreifen können. Wenn Sie den Zugriff auf bestimmte CIDR-Blöcke beschränken, wird empfohlen, auch den privaten Endpunkt zu aktivieren oder sicherzustellen, dass die von Ihnen angegebenen CIDR-Blöcke die Adressen enthalten, von denen Knoten und Fargate-Pods (wenn Sie sie verwenden) auf den öffentlichen Endpunkt zugreifen.

Enabled

Aktiviert

  • Kubernetes-API-Anfragen innerhalb der VPC Ihres Clusters (z. B. Knoten zur Steuerung der Steuerebenen-Kommunikation) verwenden den privaten VPC-Endpunkt.

  • Ihr Cluster-API-Server ist über das Internet erreichbar. Optional können Sie die CIDR-Blöcke einschränken, die auf den öffentlichen Endpunkt zugreifen können.

  • Wenn Sie Hybridknoten mit Ihrem Amazon-EKS-Cluster verwenden, wird davon abgeraten, sowohl den öffentlichen als auch den privaten Cluster-Endpunktzugriff zu aktivieren. Da Ihre Hybridknoten außerhalb Ihrer VPC ausgeführt werden, lösen sie den Cluster-Endpunkt in die öffentlichen IP-Adressen auf. Es wird empfohlen, für Cluster mit Hybridknoten entweder den öffentlichen oder den privaten Cluster-Endpunktzugriff zu verwenden

Disabled

Aktiviert

  • Der gesamte Datenverkehr zu Ihrem Cluster-API-Server muss aus der VPC des Clusters oder einem verbundenen Netzwerk stammen.

  • Es gibt keinen öffentlichen Zugriff auf Ihren API-Server aus dem Internet. Alle kubectl-Befehle müssen aus der VPC oder einem verbundenen Netzwerk stammen. Die Verbindungsoptionen finden Sie unter Zugriff auf einen privaten API-Server.

  • Der API-Server-Endpunkt des Clusters wird von öffentlichen DNS-Servern in eine private IP-Adresse von der VPC aufgelöst. In der Vergangenheit konnte der Endpunkt nur innerhalb der VPC aufgelöst werden.

    Wenn Ihr Endpunkt nicht in eine private IP-Adresse innerhalb der VPC für einen vorhandenen Cluster aufgelöst wird, können Sie:

    • Den öffentlichen Zugriff aktivieren und ihn dann erneut deaktivieren. Sie müssen dies nur einmal für einen Cluster tun und der Endpunkt wird von diesem Punkt an zu einer privaten IP-Adresse aufgelöst.

    • Aktualisieren Sie Ihren Cluster.

CIDR-Blöcke im öffentlichen Endpunkt (IPv6-Cluster)

Sie können IPv6 und IPv4-CIDR-Blöcke zum öffentlichen Endpunkt eines IPv6-Clusters hinzufügen, da der öffentliche Endpunkt Dual-Stack-fähig ist. Dies gilt nur für neue Cluster mit dem Wert ipFamily auf IPv6, die Sie im Oktober 2024 oder später erstellt haben. Sie können diese Cluster anhand des neuen Endpunkt-Domain-Namens api.aws identifizieren.

CIDR-Blöcke im öffentlichen Endpunkt (IPv4-Cluster)

Sie können dem öffentlichen Endpunkt eines IPv4-Clusters IPv4-CIDR-Blöcke hinzufügen. Sie können keine IPv6-CIDR-Blöcke zum öffentlichen Endpunkt eines IPv4-Clusters hinzufügen. Wenn Sie dies versuchen, gibt EKS die folgende Fehlermeldung zurück: The following CIDRs are invalid in publicAccessCidrs

CIDR-Blöcke im öffentlichen Endpunkt (IPv6-Cluster vor Oktober 2024 erstellt)

Sie können IPv4-CIDR-Blöcke zum öffentlichen Endpunkt der alten IPv6-Cluster hinzufügen, die Sie vor Oktober 2024 erstellt haben. Sie können diese Cluster anhand des eks.amazonaws.com.rproxy.govskope.ca-Endpunkts identifizieren. Sie können dem öffentlichen Endpunkt dieser alten IPv6-Cluster, die Sie vor Oktober 2024 erstellt haben, keine IPv6-CIDR-Blöcke hinzufügen. Wenn Sie dies versuchen, gibt EKS die folgende Fehlermeldung zurück: The following CIDRs are invalid in publicAccessCidrs

Zugriff auf einen privaten API-Server

Wenn Sie den öffentlichen Zugriff für den Kubernetes-API-Server-Endpunkt Ihres Clusters deaktiviert haben, können Sie nur über Ihre VPC oder ein verbundenes Netzwerk auf den API-Server zugreifen. Hier sind einige Möglichkeiten, um auf den Kubernetes-API-Server-Endpunkt zuzugreifen:

Verbundenes Netzwerk

Verbinden Sie Ihr Netzwerk über ein AWS-Transit-Gateway oder eine andere Konnektivitätsoption mit der VPC und verwenden Sie dann einen Computer im verbundenen Netzwerk. Sie müssen sicherstellen, dass Ihre Amazon-EKS-Steuerebenen-Sicherheitsgruppe Regeln enthält, die den eingehenden Datenverkehr auf Port 443 von Ihrem verbundenen Netzwerk zulassen.

Bastion-Host von Amazon EC

Sie können eine Amazon-EC2-Instance in einem öffentlichen Subnetz in der VPC Ihres Clusters starten und sich dann über SSH in dieser Instance anmelden, um kubectl-Befehle auszuführen. Weitere Informationen finden Sie unter Linux-Bastion-Hosts in AWS. Sie müssen sicherstellen, dass Ihre Amazon-EKS-Steuerebenen-Sicherheitsgruppe Regeln enthält, die den eingehenden Datenverkehr auf Port 443 von Ihrem Bastion-Host zulassen. Weitere Informationen finden Sie unter Anforderungen der Amazon-EKS-Sicherheitsgruppe für Cluster anzeigen.

Wenn Sie kubectl für Ihren Bastion-Host konfigurieren, stellen Sie sicher, dass Sie AWS-Anmeldeinformationen verwenden, die der RBAC-Konfiguration Ihres Clusters bereits zugeordnet sind. Fügen Sie alternativ zur RBAC-Konfiguration den IAM-Prinzipal hinzu, die Ihre Bastion verwenden wird (bevor Sie den öffentlichen Zugriff auf den Endpunkt entfernen). Weitere Informationen erhalten Sie unter Gewähren von Zugriff auf Kubernetes-APIs für IAM-Benutzer und Rollen und Nicht autorisiert oder Zugriff verweigert (kubectl).

AWS-Cloud9-IDE

AWS Cloud9 ist eine cloudbasierte integrierte Entwicklungsumgebung (IDE), mit der Sie Ihren Code vollständig mit einem Browser schreiben, ausführen und debuggen können. Sie können eine AWS-Cloud9-IDE im VPC Ihres Clusters erstellen und die IDE zur Kommunikation mit Ihrem Cluster verwenden. Weitere Informationen finden Sie unter Erstellung einer Umgebung in AWS Cloud9. Sie müssen sicherstellen, dass Ihre Amazon-EKS-Steuerebenen-Sicherheitsgruppe Regeln enthält, die den eingehenden Datenverkehr auf Port 443 von Ihrer IDE-Sicherheitsgruppe zulassen. Weitere Informationen finden Sie unter Anforderungen der Amazon-EKS-Sicherheitsgruppe für Cluster anzeigen.

Wenn Sie kubectl für Ihre AWS-Cloud9-IDE konfigurieren, stellen Sie sicher, dass Sie AWS-Anmeldeinformationen verwenden, die der RBAC-Konfiguration Ihres Clusters bereits zugeordnet sind. Fügen Sie alternativ zur RBAC-Konfiguration den IAM-Prinzipal hinzu, die Ihre IDE verwenden wird (bevor Sie den öffentlichen Zugriff auf den Endpunkt entfernen). Weitere Informationen erhalten Sie unter Gewähren von Zugriff auf Kubernetes-APIs für IAM-Benutzer und Rollen und Nicht autorisiert oder Zugriff verweigert (kubectl).

📝 Diese Seite auf GitHub bearbeiten