如何解决为什么网络策略入口不适用于我的情况
我用2个吊舱进行了部署:
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: nginx
name: nginx
spec:
replicas: 2
selector:
matchLabels:
app: nginx1
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
app: nginx1
spec:
containers:
- image: nginx
name: nginx
resources: {}
ports:
- containerPort: 80
status: {}
然后使用clusterip公开它,然后创建如下的网络策略:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: test-network-policy
namespace: default
spec:
podSelector:
matchLabels:
app: nginx1
policyTypes:
- Ingress
ingress:
- from:
- podSelector:
matchLabels:
role: frontend
但是当我使用不包含标签(role = frontend)的busybox pod通过wget请求它时,我仍然得到nginx的html页面。
我想知道为什么吗?
任何帮助都会非常有用。谢谢:)
解决方法
如果您的k8s集群是使用不支持网络策略的Container Network Interface (CNI)
插件部署的,则不会对其产生影响。来自k8s docs:
网络策略由网络插件实施。要使用网络策略,您必须使用支持NetworkPolicy 的网络解决方案。在没有实现该控制器的控制器的情况下创建NetworkPolicy资源将无效。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。