Kubernetes calico networkpolicy

问题描述 投票:0回答:2

我是Kubernetes的新手,并试图学习印花布网络。我正在关注此文档(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个步骤,并尝试通过创建一个策略来测试,该策略将使用上述策略将流量从后端发送到客户端。

当我应用策略时没有错误,但我没有看到两者之间的流量/连接。

请告诉我有什么问题。

kubernetes amazon-eks project-calico
2个回答
1
投票

单独创建NetworkPolicy无助于确保强制实施NetworkPolicy。我们应该配置像Calico这样的网络插件,它与Kubernetes集成并执行必要的操作以实现给定网络策略的意图

https://kubernetes.io/docs/concepts/services-networking/network-policies/

“网络策略是由网络插件实现的,因此您必须使用支持NetworkPolicy的网络解决方案 - 只需在没有控制器的情况下创建资源来实现它将无效。”


0
投票

我相信你需要将你的策略放在client命名空间而不是stars命名空间。我不相信星空命名空间中有任何带有role: client的pod。您指定的pod选择器仅适用于策略所在的命名空间中的pod。

虽然我不认为它是直接的,但Kubernetes Network Policy docs确实提到了NetworkPolicy应用in the given namespace。如果你还没有,我建议你检查一下。

我希望有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.