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.
Cluster-Zugriff
Verwaltung des Zugriffs auf die Kubernetes API-Server-Endpunkte
Standardmäßig macht ein EKS-Cluster den Kubernetes-API-Server öffentlich verfügbar, jedoch nicht direkt innerhalb der VPC-Subnetze (public=true, private=false). Traffic, der innerhalb der VPC für den API-Server bestimmt ist, muss zuerst die VPC-Netzwerke (aber nicht das Netzwerk von Amazon) verlassen und dann erneut eintreten, um den API-Server zu erreichen.
Der Endpunktzugriff auf den Kubernetes-API-Server für einen Cluster kann bei der Erstellung des Clusters mithilfe der Cluster-Konfigurationsdatei für den öffentlichen und privaten Zugriff konfiguriert werden. Beispiel unten:
vpc: clusterEndpoints: publicAccess: <true|false> privateAccess: <true|false>
Bei der Konfiguration des Kubernetes-API-Endpunktzugriffs gibt es einige zusätzliche Einschränkungen:
-
EKS erlaubt keine Cluster, für die weder der private noch der öffentliche Zugriff aktiviert ist.
-
EKS ermöglicht zwar die Erstellung einer Konfiguration, bei der nur privater Zugriff aktiviert werden kann, aber eksctl unterstützt dies nicht bei der Clustererstellung, da es verhindert, dass eksctl die Worker-Knoten dem Cluster hinzufügen kann.
-
Wenn ein Cluster so aktualisiert wird, dass er nur privaten Kubernetes-API-Endpunktzugriff hat, bedeutet dies, dass Kubernetes-Befehle standardmäßig (z. B.
kubectl) sowieeksctl delete clustereksctl utils write-kubeconfig, und möglicherweise der Befehl innerhalb der Cluster-VPC ausgeführt werdeneksctl utils update-kube-proxymüssen.-
Dies erfordert einige Änderungen an verschiedenen AWS-Ressourcen. Weitere Informationen finden Sie unter Cluster-API-Serverendpunkt.
-
Sie können angeben
vpc.extraCIDRs, welche zusätzliche CIDR-Bereiche an die anhängen ControlPlaneSecurityGroup, sodass Subnetze außerhalb der VPC den Kubernetes-API-Endpunkt erreichen können. In ähnlicher Weise können Sie auch angeben, dass CIDR-Bereiche angehängtvpc.extraIPv6CIDRswerden. IPv6
-
Im Folgenden finden Sie ein Beispiel dafür, wie Sie den Kubernetes-API-Endpunktzugriff mit dem Unterbefehl konfigurieren könnten: utils
eksctl utils update-cluster-vpc-config --cluster=<clustername> --private-access=true --public-access=false
Um die Einstellung mithilfe einer ClusterConfig Datei zu aktualisieren, verwenden Sie:
eksctl utils update-cluster-vpc-config -f config.yaml --approve
Beachten Sie, dass der aktuelle Wert beibehalten wird, wenn Sie kein Kennzeichen übergeben. Wenn Sie mit den vorgeschlagenen Änderungen zufrieden sind, fügen Sie das approve Kennzeichen hinzu, um die Änderung am laufenden Cluster vorzunehmen.
Beschränkung des Zugriffs auf den EKS Kubernetes Public API-Endpunkt
Bei der Standarderstellung eines EKS-Clusters wird der Kubernetes-API-Server öffentlich verfügbar gemacht.
Diese Funktion gilt nur für den öffentlichen Endpunkt. Die Konfigurationsoptionen für den API-Serverendpunktzugriff werden nicht geändert, und Sie haben weiterhin die Möglichkeit, den öffentlichen Endpunkt zu deaktivieren, sodass Ihr Cluster nicht über das Internet zugänglich ist. (Quelle: https://github.com/aws/ containers-roadmap/issues/108 #issuecomment -552766489)
Um den Zugriff auf den öffentlichen API-Endpunkt beim Erstellen eines Clusters auf eine Reihe von zu beschränken, legen Sie das Feld fest: CIDRs publicAccessCIDRs
vpc: publicAccessCIDRs: ["1.1.1.1/32", "2.2.2.0/24"]
Um die Einschränkungen für einen vorhandenen Cluster zu aktualisieren, verwenden Sie:
eksctl utils update-cluster-vpc-config --cluster=<cluster> 1.1.1.1/32,2.2.2.0/24
Um die Einschränkungen mithilfe einer ClusterConfig Datei zu aktualisieren, legen Sie das neue CIDRs in fest vpc.publicAccessCIDRs und führen Sie Folgendes aus:
eksctl utils update-cluster-vpc-config -f config.yaml
Wichtig
Beim Setzen publicAccessCIDRs und Erstellen von Knotengruppen privateAccess sollte entweder auf gesetzt werden true oder die Knoten IPs sollten der Liste hinzugefügt werden. publicAccessCIDRs
Wenn Knoten aufgrund eines eingeschränkten Zugriffs nicht auf den Cluster-API-Endpunkt zugreifen können, schlägt die Clustererstellung fehl, context deadline exceeded da die Knoten nicht auf den öffentlichen Endpunkt zugreifen können und dem Cluster nicht beitreten können.
Um sowohl den API-Server-Endpunktzugriff als auch den öffentlichen Zugriff CIDRs für einen Cluster mit einem einzigen Befehl zu aktualisieren, führen Sie folgenden Befehl aus:
eksctl utils update-cluster-vpc-config --cluster=<cluster> --public-access=true --private-access=true --public-access-cidrs=1.1.1.1/32,2.2.2.0/24
Um die Einstellung mithilfe einer Konfigurationsdatei zu aktualisieren:
vpc: clusterEndpoints: publicAccess: <true|false> privateAccess: <true|false> publicAccessCIDRs: ["1.1.1.1/32"]
eksctl utils update-cluster-vpc-config --cluster=<cluster> -f config.yaml