kubernetes - Kubernetes NetworkPolicy 限制服务的出口流量
问题描述
是否可以只允许特定服务的出口流量?这是我天真的尝试这样做:
kind: NetworkPolicy
metadata:
name: default-deny-all-egress
namespace: default
spec:
podSelector: {}
egress:
- ports:
- protocol: TCP
port: 53
- protocol: UDP
port: 53
to:
- podSelector:
matchLabels:
k8s-app: kube-dns
policyTypes:
- Egress
解决方案
不,据我所知,您只能使用podSelector
. 但是,如果您可以访问集群,我认为您仍然可以为所需的 pod 手动添加额外的标签并使用podSelector
创建出口策略NetworkPolicy
为您提供了良好的结构模板。以下策略允许 pod 出站流量到同一命名空间中与 pod 选择器匹配的其他 pod。
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
name: allow-egress-same-namespace
namespace: default
spec:
podSelector:
matchLabels:
color: blue
egress:
- to:
- podSelector:
matchLabels:
color: red
ports:
- port: 80
我知道您可以使用namespaceSelector进行入口,如下所示。不确定您是否可以将其与出口一起使用-尚未尝试过。但是要从其他命名空间访问 pod,您应该以某种方式将其指向配置中
namespaceSelector:
matchLabels:
shape: square
推荐阅读
- javascript - 为什么我的按钮会在单击时调用函数使我的页面重新加载
- react-native - React Native Flatlist 中的网格视图
- keycloak - 限制前端客户端与领域中的组/角色的连接
- bash - 从bash中的嵌套json键中提取值
- java - Android中的onNavigationItemSelected
- react-native - 使用 arrayUnion 会导致内存泄漏
- swift - 我应该在 websocket 关闭完成处理程序中使用 unowned self 吗?
- jquery - JQuery 转换 CSS 和无效的 CSS 属性
- c# - 在 ObservableCollection 中绑定 bool 值
> to ListBox DataTemplate CheckBox 使程序崩溃 - c# - 错误 XA2006:无法解析对“System.Configuration.IConfigurationSectionHandler”的引用(在程序集“System.Web”中定义