标准答案

  1. 入站和出站策略分别控制 ingress 与 egress,规则通常采用允许列表语义。
  2. 选择 Pod 后可能改变默认拒绝行为,DNS、监控、Service、外部依赖和回调都要显式放行。
  3. namespaceSelector 与 podSelector 的组合语义要按 YAML 层级确认,不能只看标签名称。
  4. 验证要从 Pod 内测试 DNS、TCP、TLS 和业务协议,并确认网络插件真正支持所需能力。

题目解析

NetworkPolicy 以 Pod、namespace、IP 块和端口表达允许的 ingress/egress,具体执行依赖网络插件是否支持对应能力。一个 Pod 被某方向策略选中后,常见语义是该方向进入默认拒绝,再由规则逐项放行;namespaceSelector 与 podSelector 的层级组合必须按实际 YAML 解析。

策略设计要列出业务、DNS、监控、服务发现、证书、回调和故障恢复所需的所有路径,并从 Pod 内验证 DNS、TCP、TLS 和业务请求。NetworkPolicy 不替代应用认证授权,错误的默认拒绝还可能让探针和观测失效,因此变更要分阶段和可回滚。

常见误区

  • 误区:写了 NetworkPolicy 就认为一定生效。改正:确认 CNI 支持、策略选中的 Pod 和实际连接测试。
  • 误区:只允许业务端口却忘记 DNS。改正:明确放行 DNS、监控和其他必要控制面路径。

作者信息