Profilanwendbarkeit: Stufe 1
Wenn Sie moderne, auf Microservices basierende Anwendungen in Kubernetes ausführen,
möchten Sie oft steuern, welche Komponenten miteinander kommunizieren können. Das
Prinzip der geringsten Privilegien sollte angewendet werden, um zu bestimmen, wie
der Datenverkehr zwischen Pods in einem Azure Kubernetes Service (AKS)-Cluster fließen
kann. Die Netzwerkrichtlinienfunktion in Kubernetes ermöglicht es Ihnen, Regeln für
eingehenden und ausgehenden Datenverkehr zwischen Pods in einem Cluster zu definieren.
Standardmäßig können alle Pods in einem AKS Cluster ohne Einschränkungen Datenverkehr
senden und empfangen. Um die Sicherheit zu verbessern, können Sie Regeln definieren,
die den Datenverkehr steuern. Back-End-Anwendungen sind oft nur den erforderlichen
Front-End-Diensten ausgesetzt, zum Beispiel. Oder Datenbankkomponenten sind nur für
die Anwendungsebenen zugänglich, die mit ihnen verbunden sind.
Netzwerkrichtlinie ist eine Kubernetes-Spezifikation, die Zugriffsrichtlinien für
die Kommunikation zwischen Pods definiert. Mit Netzwerkrichtlinien definieren Sie
eine geordnete Reihe von Regeln zum Senden und Empfangen von Datenverkehr und wenden
diese auf eine Sammlung von Pods an, die mit einem oder mehreren Label-Selektoren
übereinstimmen. Diese Netzwerkrichtlinienregeln werden als YAML-Manifeste definiert.
Netzwerkrichtlinien können als Teil eines umfassenderen Manifests enthalten sein,
das auch eine Bereitstellung oder einen Dienst erstellt.
HinweisStandardmäßig ist die Netzwerkrichtlinie deaktiviert.
|
Auswirkung
Netzwerkrichtlinie erfordert das Netzwerkrichtlinien-Add-on. Dieses Add-on wird automatisch
hinzugefügt, wenn ein Cluster mit Netzwerkrichtlinie erstellt wird, muss jedoch für
einen bestehenden Cluster hinzugefügt werden, bevor die Netzwerkrichtlinie aktiviert
werden kann.
Das Aktivieren/Deaktivieren der Netzwerk-Richtlinie verursacht ein rollierendes 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.
Wenn Network Policy verwendet wird, muss ein Cluster mindestens 2 Knoten vom Typ
n1-standard-1 oder höher haben. Die empfohlene Mindestgröße für einen Cluster, um Policy enforcement
auszuführen, sind 3 n1-standard-1-Instanzen.Das Aktivieren der Network Policy enforcement verbraucht zusätzliche Ressourcen in
den Knoten. Insbesondere erhöht es den Speicherbedarf des
kube-system-Prozesses um etwa 128 MB und erfordert ungefähr 300 Millicores an 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>
az aks show --name ${CLUSTER_NAME} --resource-group ${RESOURCE_GROUP} --query
"networkProfile.networkPolicy"
Wiederherstellung
Verwenden Sie Calico oder eine andere Netzwerk-Policy-Engine, um Ihren Datenverkehr
zu segmentieren und zu isolieren.
