我是Kubernetes的新手,正在尝试学习calico网络。我遵循此文档(https://docs.aws.amazon.com/eks/latest/userguide/calico.html),并尝试为在后端到客户端之间流动的流量创建网络策略:
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
namespace: stars
name: backend-client
spec:
podSelector:
matchLabels:
role : client
ingress:
- from:
- namespaceSelector:
matchLabels:
role: backend
ports:
- protocol: TCP
port: 9000我完成了文档中的所有10个步骤,并尝试通过创建一个策略进行测试,该策略将使用上述策略将流量从后端发送到客户端。
当我应用该策略时,没有错误,但我看不到两者之间的流量/连接。
请告诉我出了什么问题。
发布于 2019-04-22 16:59:30
单独创建NetworkPolicy无助于确保NetworkPolicy的实施。我们应该配置Calico这样的网络插件,它与Kubernetes集成在一起,并执行必要的操作以实现给定网络策略的目的
https://kubernetes.io/docs/concepts/services-networking/network-policies/说
网络策略是由网络插件实施的,因此您必须使用支持NetworkPolicy的网络解决方案-简单地创建资源而不使用控制器来实施它将没有任何效果。
发布于 2018-10-02 22:12:58
我认为您需要将策略放在client名称空间而不是stars名称空间中。我不相信在stars命名空间中有任何带有role: client的pods。您指定的pod选择器仅适用于策略所在的命名空间中的pod。
虽然我不认为它是直接的,因为它可能是Kubernetes Network Policy docs,但提到NetworkPolicy应用in the given namespace。如果你还没有的话,我建议你去看看。
我希望这能有所帮助。
https://stackoverflow.com/questions/52599653
复制相似问题