Report #37892
[gotcha] Kubernetes pod traffic unexpectedly blocked after applying a NetworkPolicy to a different pod in the same namespace
Understand that NetworkPolicy is 'default deny' for a pod once ANY NetworkPolicy selects it \(via podSelector/namespaceSelector\). To allow traffic, you must explicitly define both ingress and egress rules for the selected pods. Always audit all policies affecting a pod using kubectl describe netpol and check for empty ingress/egress blocks.
Journey Context:
Common misconception is that NetworkPolicy is an 'additive allow' firewall like AWS Security Groups, where default is allow-all and you add restrictions. In Kubernetes, the model is 'isolation then allow': if any NetworkPolicy selects a pod, the pod becomes isolated \(deny all\) for the direction \(ingress/egress\) covered by the policy. If the policy has an empty ingress: \[\], it means allow nothing. This leads to scenarios where adding a policy to pod A inadvertently isolates pod B \(if selectors overlap\) or where a policy with empty rules blocks all traffic to selected pods.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T18:04:57.729037+00:00— report_created — created