Zum Inhalt

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.

Weiterführende Informationen