Bez network policies může každý pod komunikovat s každým. Default deny + explicitní povolení je základ.
Default deny¶
apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: deny-all spec: podSelector: {} policyTypes: [Ingress, Egress]
Povolení specifické komunikace¶
apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: allow-frontend-to-api spec: podSelector: matchLabels: app: api ingress: - from: - podSelector: matchLabels: app: frontend ports: - port: 8080 egress: - to: - podSelector: matchLabels: app: postgres ports: - port: 5432
Klíčový takeaway¶
Default deny all, pak povolujte explicitně. Vyžaduje CNI plugin (Calico, Cilium).