8.3. 在网络图中生成网络策略(2.0 预览)

RHACS 可让您根据环境中实际观察到的网络通信流自动生成网络策略。

您可以从网络图生成网络策略。

生成的策略应用到当前所选集群中存在的所有部署。它们还会允许在基准发现期间内观察到的所有网络流量。

流程

  1. 在 RHACS 门户中,进入到 Network Graph (2.0 preview)
  2. 选择一个集群,然后选择一个或多个命名空间。
  3. 在网络图标头中,选择 Simulate 网络策略。RHACS 为所选集群中存在的所有部署生成策略。
  4. 可选:在打开的信息面板中,如果您不希望在 RHACS 生成的策略中限定 端口和协议,请选择 Exclude 端口 & amp; 协议。
  5. 选择 Generate and simulate network policies。生成的网络策略配置 YAML 文件在同一个面板中打开,网络图则显示策略的影响。

    警告

    直接应用网络策略可能会导致运行应用程序出现问题。在将网络策略应用到生产工作负载之前,始终在开发环境或测试集群中下载并测试网络策略。

8.3.1. 在网络图中保存生成的策略(2.0 预览)

您可以从 RHACS 下载并保存生成的网络策略。使用此选项将策略提交到 Git 等版本控制系统中。

流程

  • 生成网络策略后,点 Network Policy Simulator 面板中的 Download YAML 图标。

8.3.2. 在网络图中测试生成的策略(2.0 预览)

下载 RHACS 生成的网络策略后,您可以通过将其应用到集群来测试它们。

流程

  1. 要使用保存的 YAML 文件创建策略,请运行以下命令:

    $ oc create -f "<generated_file>.yml" 1
    1
    如果使用 Kubernetes,请输入 kubectl 而不是 oc
  2. 如果生成的策略造成问题,您可以通过运行以下命令来删除它们:

    $ oc delete -f "<generated_file>.yml" 1
    1
    如果使用 Kubernetes,请输入 kubectl 而不是 oc
警告

直接应用网络策略可能会导致运行应用程序出现问题。在将网络策略应用到生产工作负载之前,始终在开发环境或测试集群中下载并测试网络策略。

8.3.3. 在网络图中应用生成的策略(2.0 预览)

您无法从网络图中的网络图表(2.0 preview)应用生成的网络策略。作为自动化流程的一部分应用 Kubernetes 网络策略。

8.3.4. 在网络图中恢复到之前应用的策略(2.0 预览)

您可以删除策略并恢复到之前应用的策略。

流程

  1. 在 RHACS 门户中,进入到 Network Graph (2.0 preview)
  2. 从顶栏的菜单中选择集群名称。
  3. 选择一个或多个命名空间和部署。
  4. 选择 Simulate 网络策略
  5. 选择 View active YAMLS
  6. Actions 菜单中,选择 Revert 规则到之前应用的 YAML

    警告

    直接应用网络策略可能会导致运行应用程序出现问题。在将网络策略应用到生产工作负载之前,始终在开发环境或测试集群中下载并测试网络策略。

8.3.5. 删除网络图中自动生成的所有策略 (2.0 预览)

您可以使用 RHACS 从您创建的集群中删除所有自动生成的策略。

流程

  • 运行以下命令:

    $ oc get ns -o jsonpath='{.items[*].metadata.name}' | \
    xargs -n 1 oc delete networkpolicies -l \
    'network-policy-generator.stackrox.io/generated=true' -n 1
    1
    如果使用 Kubernetes,请输入 kubectl 而不是 oc