BA网络策略-CKA

时间:2020-09-28 11:37:43

标签: kubernetes

如果我们在一个命名空间中为例如应用程序空间,pod名称:podbox创建了一个pod 如果吊舱上没有任何标签,我们可以应用网络政策吗? enter image description here

以黄色突出显示的名称空间选择器字段如何工作?

这是否意味着只允许在该命名空间中使用标签为project = myproject的任何pod?

1 个答案:

答案 0 :(得分:2)

netpol中有2个使用标签选择器的地方。

  1. .spec.podselector.MatchLabels
在上面的示例中,

是标签选择器。角色= db

该选择器确定netpol将应用于哪个pod。另外,请记住netpol是一个命名空间对象(您可以通过执行kubectl api-resources进行检查)。因此,由于metadata.namespace的值为默认值,因此此策略将应用于默认名称空间中具有labe = db

的任何pod

2)。 spec.ingress [*]。namespaceSelector.matchLabels

中的可选名称空间选择器

在示例中,您显示的是project = myproject。 (这可能在spec.egress [*]。namespaceSelector.matchLabels的出口端)

此标签选择器表示允许来自谁的流量(对于入口示例)

因此,在上面的示例中,允许使用标签为project = myproject的名称空间

请记住,您也可以标记ns。

例如:kubectl标签ns project project = myproject

ns项目的yaml如下所示:

apiVersion: v1
kind: Namespace
metadata:
 name: project
 labels:
   project: myproject