【问题标题】:Network Policy in KubernetesKubernetes 中的网络策略
【发布时间】:2021-04-28 04:34:46
【问题描述】:

我正在使用 kubernetes 集群将 Nodejs 应用程序与 mongodb 连接起来。我想确保 mongo POD 仅与 Nodejs POD 通信并拒绝任何其他 POD 流量。当我应用默认拒绝策略,然后按应用应用允许策略时不起作用。

我提出了以下政策 - 为什么它们不起作用?

默认拒绝政策:

kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
  name: default-deny
  namespace: default
spec:
  podSelector:
    matchLabels: {}

网络政策:

kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
  name: access-nodejs
  namespace: default
spec:
  podSelector:
    matchLabels:
      app: nodejs-mongo
  ingress:
    - from:
      - podSelector:
          matchLabels:
            run: mongo

【问题讨论】:

  • 您忘记提问了吗?同样在您的情况下,您似乎允许 Mongo 连接到 Nodejs,而我怀疑它应该是反向的,对吧?
  • 是的,对,除此之外,我的政策看起来还不错吗?我在想而不是app: nodejs 有没有办法在pod上指定网络策略,以便mongo POD只能与nodejs POD通信?
  • @VasiliAngapov 当我应用默认拒绝策略时,我无法访问该应用程序,这意味着我的允许访问网络策略不起作用,您能帮我解决这个问题吗?
  • 请向您发布整个清单,并将更改从以下答案应用到您的默认拒绝政策。

标签: kubernetes kubernetes-ingress kubernetes-pod kubernetes-networkpolicy


【解决方案1】:

拒绝所有政策应如下所示:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default-deny-ingress
spec:
  podSelector: {}
  policyTypes:
  - Ingress

【讨论】:

    【解决方案2】:

    我应用了您的政策,它对我有用。但是,您不必指定全部拒绝策略。一旦您创建了允许 pod 接受来自一组特定 pod 的流量的网络策略,它将受到它的限制。这样一来,您的设置就会变得更简单,并且需要的故障排除更少。

    因此,在您的情况下,您可以创建一个允许从特定 pod 进行通信的网络策略。确保您使用正确的标签来选择目标 pod 和可以接受来自其的流量的 pod。

    请记住,NetworkPolicy 应用于特定的命名空间,并且仅选择特定 Namespace 中的 Pod。

    可用于接受来自与其选择器匹配的 pod 的流量的示例策略:

    kind: NetworkPolicy
    apiVersion: networking.k8s.io/v1
    metadata:
      name: backend-access
    spec:
      podSelector:
        matchLabels:
          app: restricted-access #it selects pods that are targeted by this policy
      ingress:
        - from:
          - podSelector:
              matchLabels:
                app: allowed-traffic #selects pods that communicate with pods
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-24
      • 2020-08-10
      • 2018-08-13
      • 2021-09-11
      • 2022-01-23
      • 2021-04-02
      • 2021-09-05
      • 2020-01-01
      相关资源
      最近更新 更多