6.3. 创建 NetworkPolicy 对象

要定义细致的规则来描述集群中项目允许的 Ingress 网络流量,您可以创建 NetworkPolicy 对象。

先决条件

  • 使用 OpenShift SDN 网络插件的集群,并设置了 mode: NetworkPolicy。此模式是 OpenShift SDN 的默认模式。
  • 安装 OpenShift 命令行界面 (CLI),通常称为 oc
  • 您必须登录集群。

流程

  1. 创建策略规则:

    1. 创建一个 <policy-name>.yaml 文件,其中 <policy-name> 描述策略规则。
    2. 在刚才创建的文件中,定义一个策略对象,如下例所示:

      kind: NetworkPolicy
      apiVersion: networking.k8s.io/v1
      metadata:
        name: <policy-name> 1
      spec:
        podSelector:
        ingress: []
      1
      为策略对象指定一个名称。
  2. 运行以下命令来创建策略对象:

    $ oc create -f <policy-name>.yaml -n <project>

    在以下示例中,在名为 project1 的项目中创建一个新 NetworkPolicy 对象:

    $ oc create -f default-deny.yaml -n project1
    networkpolicy "default-deny" created