如果我们在一个命名空间中为例如应用程序空间,pod名称:podbox创建了一个pod
如果吊舱上没有任何标签,我们可以应用网络政策吗?
以黄色突出显示的名称空间选择器字段如何工作?
这是否意味着只允许在该命名空间中使用标签为project = myproject的任何pod?
答案 0 :(得分:2)
netpol中有2个使用标签选择器的地方。
是标签选择器。角色= db
该选择器确定netpol将应用于哪个pod。另外,请记住netpol是一个命名空间对象(您可以通过执行kubectl api-resources进行检查)。因此,由于metadata.namespace的值为默认值,因此此策略将应用于默认名称空间中具有labe = db
的任何pod2)。 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