问题:
我试图使我的API能够进入我的外部托管数据库,同时需要其他所有东西的白名单。
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
name: server-allow-external
spec:
podSelector:
matchLabels:
component: api
ingress:
- from:
- namespaceSelector: {}
- podSelector:
matchLabels: frontend
- ipBlock:
cidr: 172.17.0.0/16我在这里试过各种组合。网络插件策略,将外部DB映射到基于集群的服务,等等,我没有运气。
注意:是的,我允许所有命名空间通信。
上面的代码是我从逻辑上来修复problem...but的地方,它仍然不能工作。我也有一个负载均衡器,坐在这之外,如果这可能会有影响?
代码:
我有一个前端,它依赖于后端API (全部在默认名称空间中)。然后是外部数据库。我实现了一个默认的拒绝策略:
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
name: default-deny-all
namespace: default
spec:
podSelector: {}
ingress: []然后我允许从网上访问前台:
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
name: allow-external
spec:
podSelector:
matchLabels:
component: frontend
ingress:
- from: []发布于 2019-06-26 06:18:44
为外部服务器配置网络策略。你必须修复定义入口处的部分。
只需将分段添加到matchLabels - component: frontend
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
name: server-allow-external
spec:
podSelector:
matchLabels:
component: api
ingress:
- from:
- namespaceSelector: {}
- podSelector:
matchLabels:
component: frontend
- ipBlock:
cidr: 172.17.0.0/16希望能帮上忙。
https://stackoverflow.com/questions/56608052
复制相似问题