一、默认隔离策略apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: default-deny namespace: prod spec: podSelector: {} policyTypes: - Ingress - Egress 二、服务入站白名单(按标签与端口)apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: allow-api-from-gateway namespace: prod spec: podSelector: matchLabels: app: api ingress: - from: - namespaceSelector: matchLabels: role: edge podSelector: matchLabels: app: gateway ports: - protocol: TCP port: 8080 三、服务出站白名单(Egress)apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: allow-api-to-db namespace: prod spec: podSelector: matchLabels: app: api egress: - to: - namespaceSelector: matchLabels: role: core podSelector: matchLabels: app: db ports: - protocol: TCP port: 5432 policyTypes: - Egress 四、策略生成与校验(示意)type Rule = { ns: string; app: string; allowFrom?: { nsLabel: string; appLabel: string; port: number }[]; allowTo?: { nsLabel: string; appLabel: string; port: number }[] } function validPort(p: number): boolean { return Number.isInteger(p) && p > 0 && p < 65536 } 五、验收清单命名空间开启默认`Ingress/Egress`隔离;仅按标签与端口白名单放行。Egress策略限制到指定命名空间与服务端口;未声明的出站默认拒绝。与Service Mesh(mTLS/策略)互补使用;变更后逐一验证连通性与拒绝路径。

发表评论 取消回复