首页 > 解决方案 > 如何解决我的 NetworkPolicy 不起作用的问题?

问题描述

我正在 k8s 中设置网络策略,但它没有按我的预期工作。

我的 k8s 启用了网络策略。它必须命名空间:

- proxy
- jupyter

在命名空间 jupyter 下,它有很多 jupyter pod,每个 jupyter pod 都有一个服务为其提供集群 IP。在命名空间代理下,我有一个节点代理将请求转发到每个 jupyter。结构是这样的:

- namespace proxy
   - pod node-proxy
- namespace jupyter
   - service a
   - pod a
   - service b
   - pod b
   - ...

我创建这样的网络策略:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default-deny
  namespace: jupyter
spec:
  podSelector: {}
  policyTypes:
  - Egress
  - Ingress
  Ingress:
  - from:
    - namespaceSelector:
        matchLabels:
          ns: proxy
    ports:
    - protocol: TCP
      port: 8888

我希望每个 jupyter pod 只能由节点代理访问。但是当我启用上面的 yaml 文件时,node-proxy 无法访问 jupyter。哪里不对了?

标签: kubernetes

解决方案


一个愚蠢的问题。我有一个错字。

Ingress:

长到

ingress:

推荐阅读