NetworkPolicies
In NETWAYS Managed Kubernetes Clustern mit Cilium als konfiguriertem
Container Networking Interface (CNI) kann man Datenverkehr mit Hilfe von NetworkPolicies
absichern.
In Clustern mit flannel als konfiguriertem CNI ist
dies nicht möglich, da flannel keine Implementierung von NetworkPolicies bietet.
Anwendungsfälle
Möchte man den Zugriff auf Anwendungen im Cluster über das Netzwerk absichern und nur benötigten
Datenverkehr zulassen, sind NetworkPolicies das Mittel der Wahl.
Sie fungieren als Firewall und ermöglichen, den Zugriff auf bestimmte Anwendungen, Ports und Protokolle einzuschränken.
Eine simple NetworkPolicy kann wie folgt aussehen:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: egress-namespaces
spec:
podSelector:
matchLabels:
app: myapp
policyTypes:
- Egress
egress:
- to:
- namespaceSelector:
matchExpressions:
- key: namespace
operator: In
values: ["frontend", "backend"]
Diese NetworkPolicy erlaubt allen mit app=myapp gelabelten Pods, mit Anwendungen in den Namespaces
frontend und backend zu kommunizieren.
CiliumNetworkPolicies
Ergänzend zur Implementierung der Kubernetes-NetworkPolicies bietet Cilium eine eigene CustomResource (CR), die zusätzliche Funktionalität bietet: CiliumNetworkPolicies.
Zusätzliche Funktionalitäten sind unter Anderem:
- Inspektion von Datenverkehr auf L7
- Inspektion von DNS Verkehr
- Netzwerkregeln auf Node-Ebene
Für mehr Informationen verweisen wir auf die offizielle Cilium Dokumentation. Auch unsere MyEngineers® können Dir weiterhelfen.