Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

8.10.3. 为新项目设置默认 NetworkPolicy

集群管理员可修改默认项目模板,以便在创建新项目时自动创建默认 NetworkPolicy 对象 (一个或多个)。要做到这一点:

  1. 创建自定义项目模板,并将主模板配置为使用它。
  2. 使用 default 标签标记 default 项目:

    重要

    如果您使用上一步中的默认标签标记了 default 项目,则跳过这一步。集群管理员角色需要向命名空间添加标签。

    $ oc label namespace default name=default
  3. 编辑模板以包含所需的 NetworkPolicy 对象:

    $ oc edit template project-request -n default
    注意

    要将 NetworkPolicy 对象包含在现有模板中,请使用 oc edit 命令。目前,无法使用 oc patch 将对象添加到 Template 资源中。

    1. objects 数组中添加每个默认策略作为元素:

      objects:
      ...
      - apiVersion: networking.k8s.io/v1
        kind: NetworkPolicy
        metadata:
          name: allow-from-same-namespace
        spec:
          podSelector:
          ingress:
          - from:
            - podSelector: {}
      - apiVersion: networking.k8s.io/v1
        kind: NetworkPolicy
        metadata:
          name: allow-from-default-namespace
        spec:
          podSelector:
          ingress:
          - from:
            - namespaceSelector:
                matchLabels:
                  name: default
      ...