Profilanwendbarkeit: Stufe 2
Verwenden Sie Netzwerkrichtlinien, um den Datenverkehr im Cluster-Netzwerk zu isolieren.
Das Ausführen verschiedener Anwendungen auf demselben Kubernetes-Cluster birgt das
Risiko, dass eine kompromittierte Anwendung eine benachbarte Anwendung angreift. Die
Netzwerksegmentierung ist wichtig, um sicherzustellen, dass Container nur mit denjenigen
kommunizieren können, mit denen sie sollen. Eine Netzwerkrichtlinie ist eine Spezifikation,
wie Auswahlen von Pods miteinander und mit anderen Netzwerkknoten kommunizieren dürfen.
Netzwerkrichtlinien sind auf Namespaces beschränkt. Wenn eine Netzwerkrichtlinie in
einem bestimmten Namespace eingeführt wird, wird jeglicher Verkehr, der nicht durch
die Richtlinie erlaubt ist, verweigert. Wenn jedoch keine Netzwerkrichtlinien in einem
Namespace vorhanden sind, wird der gesamte Verkehr in die und aus den Pods in diesem
Namespace zugelassen.
HinweisStandardmäßig werden keine Netzwerkrichtlinien erstellt.
|
Auswirkung
Sobald Netzwerkrichtlinien innerhalb eines bestimmten Namensraums verwendet werden,
wird der Verkehr, der nicht ausdrücklich durch eine Netzwerkrichtlinie erlaubt ist,
verweigert. Daher ist es wichtig sicherzustellen, dass beim Einführen von Netzwerkrichtlinien
legitimer Verkehr nicht gesperrt wird.
Prüfung
Führen Sie die folgenden Befehle aus und überprüfen Sie die
NetworkPolicy-Objekte, die im Cluster erstellt wurden.Befehlszeilenausdruck, um Namespaces mit 1 oder mehr festgelegten Netzwerk-Richtlinien
anzuzeigen:
kubectl get ns -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}{end}' | while read ns; do count=$(kubectl get networkpolicy -n "$ns" --no-headers 2>/dev/null | wc -l | tr -d ' ') if [ "$count" -gt 0 ]; then echo -e "${ns}\t${count}" fi done
Befehlszeile zum Anzeigen von Namespaces mit 0 festgelegten Netzwerk-Richtlinien:
for ns in $(kubectl get ns -o jsonpath='{.items[*].metadata.name}'); do count=$(kubectl get networkpolicy -n "$ns" --no-headers 2>/dev/null | wc -l | tr -d ' ') if [ "$count" -eq 0 ]; then echo -e "${ns}\t${count}" fi done
Wiederherstellung
Befolgen Sie die Dokumentation und erstellen Sie
NetworkPolicy-Objekte nach Bedarf. Siehe: GKE-Dokumentation für weitere Informationen.
