Kubernetes calico网络政策

时间:2018-10-01 22:19:05

标签: kubernetes amazon-eks project-calico

我是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个步骤,并尝试通过创建一个策略来进行测试,该策略将使用上述策略将流量从后端发送到客户端。

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

请让我知道出了什么问题。

2 个答案:

答案 0 :(得分:0)

我认为您需要将策略放在client命名空间中,而不是stars命名空间中。我不认为stars命名空间中有任何带有role: client的Pod。您指定的Pod选择器仅适用于该策略所在的名称空间中的Pod。

尽管我不认为它像Kubernetes Network Policy docs那样直接,但确实提到了NetworkPolicy适用于in the given namespace。如果您还没有的话,建议您检查一下。

我希望有帮助。

答案 1 :(得分:0)

仅创建NetworkPolicy将无助于确保实施NetworkPolicy。我们应该配置与Caliber集成的网络插件(如Calico),并执行必要的操作以实现给定网络策略的意图。

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

“网络策略是由网络插件实现的,因此您必须使用支持NetworkPolicy的网络解决方案-仅创建资源而无需控制器即可实现”。