Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Konfigurieren Sie das Amazon VPC CNI-Plugin für Kubernetes für Sicherheitsgruppen für Amazon EKS Pods

Fokusmodus
Konfigurieren Sie das Amazon VPC CNI-Plugin für Kubernetes für Sicherheitsgruppen für Amazon EKS Pods - Amazon EKS

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.

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.

Wenn Sie Pods mit EC2 Amazon-Instances verwenden, müssen Sie das Amazon VPC CNI-Plugin für Kubernetes für Sicherheitsgruppen konfigurieren

Wenn Sie nur Fargate Pods verwenden und keine EC2 Amazon-Knoten in Ihrem Cluster haben, finden Sie weitere Informationen unterVerwenden Sie eine Sicherheitsgruppenrichtlinie für einen Amazon EKS-Pod.

  1. Überprüfen Sie Ihre aktuelle Version des Amazon VPC CNI-Plug-ins für Kubernetes mit dem folgenden Befehl:

    kubectl describe daemonset aws-node --namespace kube-system | grep amazon-k8s-cni: | cut -d : -f 3

    Eine Beispielausgabe sieht wie folgt aus.

    v1.7.6

    Wenn Ihr Amazon VPC CNI-Plug-In für Kubernetes eine ältere Version als ist1.7.7, aktualisieren Sie das Plugin auf Version oder höher. 1.7.7 Weitere Informationen finden Sie unter Pods mit dem Amazon VPC CNI zuweisen IPs

  2. Fügen Sie die von Amazon EKSVPCResource Controller verwaltete IAM-Richtlinie zur Cluster-Rolle hinzu, die Ihrem Amazon EKS-Cluster zugeordnet ist. Die Richtlinie ermöglicht es der Rolle, Netzwerkschnittstellen, ihre privaten IP-Adressen sowie deren An- und Abkopplung an und von Netzwerk-Instances zu verwalten.

    1. Rufen Sie den Namen Ihrer Cluster-IAM-Rolle ab und speichern Sie ihn in einer Variablen. Ersetzen Sie my-cluster mit dem Namen Ihres Clusters.

      cluster_role=$(aws eks describe-cluster --name my-cluster --query cluster.roleArn --output text | cut -d / -f 2)
    2. Fügen Sie der Rolle die -Richtlinie an.

      aws iam attach-role-policy --policy-arn arn:aws: iam::aws:policy/AmazonEKSVPCResourceController --role-name $cluster_role
  3. Aktivieren Sie das Amazon VPC CNI-Add-on zur Verwaltung von Netzwerkschnittstellen für Pods, indem Sie die ENABLE_POD_ENI Variable true in der auf setzen. aws-node DaemonSet Sobald diese Einstellung auf gesetzt isttrue, erstellt das Add-on für jeden Knoten im Cluster eine cninode benutzerdefinierte Ressource. Der VPC-Ressourcen-Controller erstellt und verknüpft eine spezielle Netzwerkschnittstelle, die als Trunk-Netzwerkschnittstelle mit der Beschreibung aws-k8s-trunk-eni bezeichnet wird.

    kubectl set env daemonset aws-node -n kube-system ENABLE_POD_ENI=true
    Anmerkung

    Die Trunk-Netzwerkschnittstelle ist in der maximalen Anzahl von Netzwerkschnittstellen enthalten, die vom Instance-Typ unterstützt werden. Eine Liste der maximalen Anzahl von Netzwerkschnittstellen, die von jedem Instance-Typ unterstützt werden, finden Sie unter IP-Adressen pro Netzwerkschnittstelle pro Instance-Typ im EC2 Amazon-Benutzerhandbuch. Wenn an Ihren Knoten bereits die maximale Anzahl an Standardnetzwerkschnittstellen angeschlossen ist, reserviert der VPC-Ressourcencontroller einen Speicherplatz. Sie müssen Ihre laufenden Pods soweit herunterskalieren, dass der Controller eine Standard-Netzwerkschnittstelle trennen und löschen, die Trunk-Netzwerkschnittstelle erstellen und sie mit der Instance verbinden kann.

  4. Mit dem folgenden Befehl können Sie ermitteln, welche Ihrer Knoten über eine benutzerdefinierte Ressource vom Typ CNINode verfügen. Wenn No resources found zurückgegeben wird, warten Sie einige Sekunden und versuchen Sie es dann erneut. Der vorherige Schritt erfordert einen Neustart des Amazon VPC CNI-Plug-ins für Kubernetes Pods, was mehrere Sekunden dauert.

    kubectl get cninode -A NAME FEATURES ip-192-168-64-141.us-west-2.compute.internal [{"name":"SecurityGroupsForPods"}] ip-192-168-7-203.us-west-2.compute.internal [{"name":"SecurityGroupsForPods"}]

    Wenn Sie VPC-CNI-Versionen verwenden, die älter als 1.15 sind, wurden anstelle der benutzerdefinierten CNINode-Ressource Knotenbezeichnungen verwendet. Mit dem folgenden Befehl können Sie sehen, auf welchen Ihrer Knoten die Knotenbezeichnung aws-k8s-trunk-eni gesetzt true ist. Wenn No resources found zurückgegeben wird, warten Sie einige Sekunden und versuchen Sie es dann erneut. Der vorherige Schritt erfordert einen Neustart des Amazon VPC CNI-Plug-ins für Kubernetes Pods, was mehrere Sekunden dauert.

    kubectl get nodes -o wide -l vpc.amazonaws.com/has-trunk-attached=true -

    Sobald die Trunk-Netzwerkschnittstelle erstellt ist, werden den Pods sekundäre IP-Adressen aus dem Trunk oder den Standard-Netzwerkschnittstellen zugewiesen. Die Trunk-Schnittstelle wird automatisch gelöscht, wenn der Knoten gelöscht wird.

    Wenn Sie in einem späteren Schritt eine Sicherheitsgruppe für einen Pod bereitstellen, erstellt der VPC-Ressourcencontroller eine spezielle Netzwerkschnittstelle, die so genannte Branch-Netzwerkschnittstelle, mit einer Beschreibung der Sicherheitsgruppen aws-k8s-branch-eni und ordnet sie ihr zu. Neben den an den Knoten angeschlossenen Standard- und Amtsnetzschnittstellen werden Nebenstellennetzschnittstellen erstellt.

    Wenn Sie Verfügbarkeits- oder Bereitschaftstests verwenden, müssen Sie außerdem TCP-Early-Demux deaktivieren, damit sie über TCP eine Verbindung zu Pods auf Zweignetzwerkschnittstellen herstellen kubelet können. Führen Sie den folgenden Befehl aus, um TCP-Early-Demux zu deaktivieren:

    kubectl patch daemonset aws-node -n kube-system \ -p '{"spec": {"template": {"spec": {"initContainers": [{"env":[{"name":"DISABLE_TCP_EARLY_DEMUX","value":"true"}],"name":"aws-vpc-cni-init"}]}}}}'
    Anmerkung

    Wenn Sie das Amazon VPC CNI-Plug-In für Kubernetes 1.11.0 oder eine neuere Version verwenden undstandard, wie im nächsten Schritt beschrieben, POD_SECURITY_GROUP_ENFORCING_MODE = setzen, müssen Sie den vorherigen Befehl nicht ausführen.

  5. Wenn Ihr Cluster die Calico-Netzwerkrichtlinie für Ihre Pods verwendetNodeLocal DNSCache, die über eigene Sicherheitsgruppen verfügen, oder wenn Sie über Kubernetes-Dienste des Typs verfügen NodePort und Instanzziele LoadBalancer verwenden möchten, Local für Pods, denen Sie Sicherheitsgruppen zuweisen möchten, verwenden möchten, müssen Sie Version 1.11.0 oder höher des Amazon VPC CNI-Plug-ins für Kubernetes verwenden und die folgende externalTrafficPolicy Einstellung aktivieren:

    kubectl set env daemonset aws-node -n kube-system POD_SECURITY_GROUP_ENFORCING_MODE=standard

    WICHTIG: Pod-Sicherheitsgruppenregeln werden nicht auf den Datenverkehr zwischen Pods oder zwischen Pods und Diensten wie kubelet oder angewendetnodeLocalDNS, die sich auf demselben Knoten befinden. Pods, die unterschiedliche Sicherheitsgruppen auf demselben Knoten verwenden, können nicht kommunizieren, da sie in unterschiedlichen Subnetzen konfiguriert sind und das Routing zwischen diesen Subnetzen deaktiviert ist. Ausgehender Datenverkehr von Pods zu Adressen außerhalb der VPC ist eine Netzwerkadresse, die in die IP-Adresse der primären Netzwerkschnittstelle der Instance übersetzt wird (sofern Sie dies nicht auch festgelegt AWS_VPC_K8S_CNI_EXTERNALSNAT=true haben). Für diesen Datenverkehr werden die Regeln in den Sicherheitsgruppen für die primäre Netzwerkschnittstelle verwendet und nicht die Regeln in den Sicherheitsgruppen des Pods. ** Damit diese Einstellung für bestehende Pods gilt, müssen Sie die Pods oder die Knoten, auf denen die Pods ausgeführt werden, neu starten.

  6. Informationen zur Verwendung einer Sicherheitsgruppenrichtlinie für Ihren Pod finden Sie unterVerwenden Sie eine Sicherheitsgruppenrichtlinie für einen Amazon EKS-Pod.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.