Ansichten:
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.
Hinweis
Hinweis
Standardmäß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.