6.4. 编辑网络策略
作为集群管理员,您可以编辑命名空间的现有网络策略。
6.4.1. 删除 NetworkPolicy 对象
您可以编辑命名空间中的 NetworkPolicy 对象。
先决条件
-
集群使用支持 NetworkPolicy 对象的默认 CNI 网络供应商,如设置了
mode: NetworkPolicy
的 OpenShift SDN 网络供应商。此模式是 OpenShift SDN 的默认模式。 -
已安装 OpenShift CLI(
oc
)。 -
使用具有
cluster-admin
权限的用户登陆到集群。
流程
可选:列出当前 NetworkPolicy 对象。
如果要列出特定命名空间中的策略对象,请输入以下命令。将
<namespace>
替换为一个项目的命名空间。$ oc get networkpolicy -n <namespace>
如果要列出整个集群的策略对象,请输入以下命令:
$ oc get networkpolicy --all-namespaces
编辑 NetworkPolicy 对象
如果将 NetworkPolicy 保存在一个文件中,编辑该文件并进行必要的更改,然后输入以下命令。将
<policy-file>
替换为包含对象定义的文件名称。$ oc apply -f <policy-file>.yaml
如果需要直接更新 NetworkPolicy 对象,可以输入以下命令。将
<policy-name>
替换为 NetworkPolicy 对象的名称,<namespace>
替换为对象存在的项目的名称。$ oc edit <policy-name> -n <namespace>
确认 NetworkPolicy 对象已更新。将
<namespace>
替换为对象存在的项目的名称。$ oc get networkpolicy -n <namespace> -o yaml
6.4.2. 示例 NetworkPolicy 对象
下文解释了示例 NetworkPolicy 对象:
kind: NetworkPolicy apiVersion: extensions/v1beta1 metadata: name: allow-27107 1 spec: podSelector: 2 matchLabels: app: mongodb ingress: - from: - podSelector: 3 matchLabels: app: app ports: 4 - protocol: TCP port: 27017