Profilanwendbarkeit: Stufe 1 - Cluster / Steuerungsebene
Stellen Sie sicher, dass die Netzwerkrichtlinie aktiviert und entsprechend festgelegt
ist, wenn Sie einen Amazon EKS-Cluster erstellen, da die bei der Erstellung ausgewählte
Netzwerkrichtlinienoption später nicht geändert werden kann. Amazon EKS unterstützt
Calico-Netzwerkrichtlinien, eine Open-Source-Lösung, die Linux IPTables verwendet,
um Netzwerksicherheitsrichtlinien durchzusetzen. Diese Richtlinien werden in Regeln
übersetzt, die den Datenverkehr zwischen IP-Paaren erlauben oder verbieten und effektiv
als Pod-Level-Firewall fungieren, die den Datenverkehr zwischen Quellen innerhalb
eines Clusters einschränkt. Standardmäßig ist der Pod-zu-Pod-Datenverkehr innerhalb
eines Clusters uneingeschränkt, es sei denn, es wird eine Netzwerkrichtlinie implementiert,
die Labels verwendet, um bestimmte Pods auszuwählen.
Sobald eine Richtlinie auf ein Pod angewendet wird, sperrt sie alle Verbindungen,
die nicht ausdrücklich durch die Richtlinie erlaubt sind, während Pods, die von keiner
Netzwerk-Richtlinie ausgewählt wurden, weiterhin allen Datenverkehr akzeptieren. Netzwerk-Richtlinien
werden über die Kubernetes Network Policy API verwaltet und müssen von einem kompatiblen
Netzwerk-Plugin durchgesetzt werden; ohne dieses hat das Erstellen der Ressource allein
keine Wirkung. Das Aktivieren der Netzwerk-Richtlinie erfordert das Network Policy
Add-on, das automatisch enthalten ist, wenn ein neuer Cluster mit Netzwerk-Richtlinie
eingerichtet wird, aber manuell zu bestehenden Clustern hinzugefügt werden muss. Der
Prozess des Aktivierens oder Deaktivierens der Netzwerk-Richtlinie löst ein Rolling-Update
aller Cluster-Knoten aus, ein langwieriger Vorgang, der andere Cluster-Operationen
blockiert, bis er abgeschlossen ist. Darüber hinaus verbraucht die Durchsetzung der
Netzwerk-Richtlinie zusätzliche Knotenressourcen, was den Speicherbedarf des kube-system-Prozesses
um etwa 128 MB erhöht und etwa 300 Millicores der CPU erfordert.
Auswirkung
Netzwerkrichtlinie erfordert das Netzwerkrichtlinien-Add-on. Dieses Add-on wird automatisch
hinzugefügt, wenn ein Cluster mit Netzwerkrichtlinie erstellt wird, aber für einen
bestehenden Cluster muss es hinzugefügt werden, bevor die Netzwerkrichtlinie aktiviert
werden kann.
Das Aktivieren oder Deaktivieren der Netzwerkrichtlinie führt zu einem rollierenden
Update aller Clusterknoten, ähnlich wie bei einem Cluster-Upgrade. Dieser Vorgang
ist langwierig und wird andere Vorgänge im Cluster (einschließlich Löschen) sperren,
bis er abgeschlossen ist.
Das Aktivieren der Network Policy enforcement verbraucht zusätzliche Ressourcen in
den Knoten, erhöht den Speicherbedarf des kube-system Prozesses um etwa 128 MB und
erfordert ungefähr 300 Millicores CPU.
Prüfung
Überprüfen Sie, ob das Folgende nicht null ist und mit der entsprechenden Gruppen-ID
festgelegt wurde:
export CLUSTER_NAME=<your cluster name>
aws eks describe-cluster --name ${CLUSTER_NAME} --query "cluster.resourcesVpcConfig.clusterSecurityGroupId"
Wiederherstellung
Verwenden Sie Calico oder eine andere Netzwerkrichtlinien-Engine, um Ihren Datenverkehr
zu segmentieren und zu isolieren.
