This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.12.3. 创建网络策略
作为具有 admin
角色的用户,您可以为命名空间创建网络策略。
12.3.1. 创建网络策略 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
要定义细致的规则来描述集群中命名空间允许的入口或出口网络流量,您可以创建一个网络策略。
注意
如果使用具有 cluster-admin
角色的用户登录,则可以在集群中的任何命名空间中创建网络策略。
先决条件
-
集群使用支持
NetworkPolicy
对象的集群网络供应商,如 OVN-Kubernetes 网络供应商或设置了mode: NetworkPolicy
的 OpenShift SDN 网络供应商。此模式是 OpenShift SDN 的默认模式。 -
已安装 OpenShift CLI(
oc
)。 -
您可以使用具有
admin
权限的用户登陆到集群。 - 您在网络策略要应用到的命名空间中。
流程
创建策略规则:
创建一个
<policy_name>.yaml
文件:touch <policy_name>.yaml
$ touch <policy_name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
<policy_name>
- 指定网络策略文件名。
在您刚才创建的文件中定义网络策略,如下例所示:
拒绝来自所有命名空间中的所有 pod 的入口流量
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
允许来自所有命名空间中的所有 pod 的入口流量
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建网络策略对象:
oc apply -f <policy_name>.yaml -n <namespace>
$ oc apply -f <policy_name>.yaml -n <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
<policy_name>
- 指定网络策略文件名。
<namespace>
- 可选: 如果对象在与当前命名空间不同的命名空间中定义,使用它来指定命名空间。
输出示例
networkpolicy.networking.k8s.io/default-deny created
networkpolicy.networking.k8s.io/default-deny created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
12.3.2. 示例 NetworkPolicy 对象 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
下文解释了示例 NetworkPolicy 对象: