【问题标题】:BA network policy-CKABA网络策略-CKA
【发布时间】:2020-09-28 19:38:30
【问题描述】:

如果我们在一个命名空间中创建了一个 pod,例如 app-space,则 pod 名称:busybox 如果 pod 上没有任何标签,我们可以应用网络策略吗?

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

这是否意味着任何带有标签 project=myproject 的 pod 都只能在该命名空间中使用?

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    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 label ns project project=myproject

    ns 项目的 yaml 将如下所示:

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

    【讨论】:

    • 如果没有为其他 pod 提供标签怎么办:我们如何在 namespaceselector 中按名称选择其他命名空间?
    猜你喜欢
    • 1970-01-01
    • 2021-04-28
    • 2021-09-14
    • 1970-01-01
    • 1970-01-01
    • 2011-02-04
    • 2021-12-02
    • 2022-01-23
    • 2019-08-03
    相关资源
    最近更新 更多