【发布时间】: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