Profilanwendbarkeit: Stufe 1 - Cluster / Steuerungsebene
Stellen Sie sicher, dass die Netzwerk-Richtlinie aktiviert und entsprechend festgelegt
ist, wenn Sie einen Amazon EKS-Cluster erstellen, da die bei der Erstellung ausgewählte
Netzwerk-Richtlinienoption später nicht mehr geändert werden kann. Amazon EKS unterstützt
Calico-Netzwerk-Richtlinien, 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 verweigern, und fungieren
effektiv als Firewall auf Pod-Ebene, die den Datenverkehr zwischen Quellen innerhalb
eines Clusters einschränkt. Standardmäßig ist der Pod-zu-Pod-Datenverkehr innerhalb
eines Clusters unbeschränkt, es sei denn, es wird eine Netzwerk-Richtlinie 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
Netzwerkrichtlinie ausgewählt wurden, weiterhin alle Datenverkehr akzeptieren. Netzwerkrichtlinien
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 Netzwerkrichtlinie erfordert das Netzwerkrichtlinien-Add-on,
das automatisch enthalten ist, wenn ein neuer Cluster mit Netzwerkrichtlinie eingerichtet
wird, aber manuell zu bestehenden Clustern hinzugefügt werden muss. Der Prozess des
Aktivierens oder Deaktivierens der Netzwerkrichtlinie löst ein Rolling-Update aller
Cluster-Knoten aus, eine langwierige Operation, die andere Cluster-Operationen bis
zum Abschluss blockiert. Darüber hinaus verbraucht die Durchsetzung der Netzwerkrichtlinie
zusätzliche Knotenressourcen, wodurch der Speicherbedarf des kube-system-Prozesses
um etwa 128 MB erhöht wird und etwa 300 Millicores der CPU benötigt werden.
Auswirkung
Die 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 Netzwerk-Richtlinie 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 rund 300 Millicores an CPU.
Prüfung
Überprüfen Sie, ob das Folgende nicht null ist und mit der entsprechenden Gruppen-ID
festgelegt ist:
export CLUSTER_NAME=<your cluster name>
aws eks describe-cluster --name ${CLUSTER_NAME} --query "cluster.resourcesVpcConfig.clusterSecurityGroupId"
Wiederherstellung
Verwenden Sie Calico oder eine andere Netzwerk-Policy-Engine, um Ihren Datenverkehr
zu segmentieren und zu isolieren.
