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 minimalen Rechte sollte angewendet werden, um zu steuern, wie der Datenverkehr zwischen Pods in einem Azure Kubernetes Service (AKS) Cluster fließen kann. Angenommen, Sie möchten wahrscheinlich den Datenverkehr direkt zu Back-End-Anwendungen sperren. 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 für die erforderlichen Front-End-Dienste zugänglich, 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 Netzwerk-Richtlinienregeln sind als YAML-Manifeste definiert. Netzwerk-Richtlinien 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 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.
Wenn Network Policy verwendet wird, muss ein Cluster mindestens 2 Knoten vom Typ n1-standard-1 oder höher haben. Die empfohlene Mindestgröße des Clusters für die Ausführung von Network Policy enforcement beträgt 3 n1-standard-1-Instanzen.
Die Aktivierung der Network Policy enforcement verbraucht zusätzliche Ressourcen in den Knoten. Insbesondere erhöht sie 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 ist:
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.