Know-How
Network Policies v Kubernetes
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).