8.4. 为项目编辑出口防火墙
作为集群管理员,您可以修改现有出口防火墙的网络流量规则。
8.4.1. 编辑 EgressNetworkPolicy 对象
作为集群管理员,您可以更新一个项目的出口防火墙。
先决条件
- 使用 OpenShift SDN 网络插件的集群。
-
安装 OpenShift 命令行界面 (CLI),通常称为
oc
。 - 您需要使用集群管理员身份登陆到集群。
流程
要编辑项目的现有出口网络策略对象,请完成以下步骤:
查找项目的 EgressNetworkPolicy 对象的名称。将
<project>
替换为项目的名称。$ oc get -n <project> egressnetworkpolicy
可选,如果您在创建出口网络防火墙时没有保存 EgressNetworkPolicy 对象的副本,请输入以下命令来创建副本。
$ oc get -n <project> \ 1 egressnetworkpolicy <name> \ 2 -o yaml > <filename>.yaml 3
输入以下命令替换 EgressNetworkPolicy 对象。将
<filename>
替换为包含更新的 EgressNetworkPolicy 对象的文件名称。$ oc replace -f <filename>.yaml
8.4.2. EgressNetworkPolicy 自定义资源 (CR) 对象
以下 YAML 描述了一个 EgressNetworkPolicy CR 对象:
kind: EgressNetworkPolicy apiVersion: v1 metadata: name: <name> 1 spec: egress: 2 ...
8.4.2.1. EgressNetworkPolicy 规则
以下 YAML 描述了一个出口防火墙规则对象。egress
键需要一个包括一个或多个对象的数组。
egress: - type: <type> 1 to: 2 cidrSelector: <cidr> 3 dnsName: <dns-name> 4
8.4.2.2. EgressNetworkPolicy CR 对象示例
以下示例定义了几个出口防火墙策略规则:
kind: EgressNetworkPolicy apiVersion: v1 metadata: name: default-rules 1 spec: egress: 2 - type: Allow to: cidrSelector: 1.2.3.0/24 - type: Allow to: dnsName: www.example.com - type: Deny to: cidrSelector: 0.0.0.0/0