1.14.6. 了解网络策略
Red Hat OpenShift Service Mesh 会在 Service Mesh control plane 和应用程序命名空间中自动创建和管理大量 NetworkPolicies
资源。这是为了确保应用程序和 control plane 可以相互通信。
例如,如果您已将 OpenShift Container Platform 集群配置为使用 SDN 插件,Red Hat OpenShift Service Mesh 会在每个成员项目中创建 NetworkPolicy
资源。这可让从其他网格成员和 control plane 对网格中的所有 pod 的入站网络数据。这也限制了到成员项目的入站网络数据。如果需要来自非成员项目的入站网络数据,则需要创建一个 NetworkPolicy
来允许这些流量通过。如果您从 Service Mesh 中删除命名空间,则此 NetworkPolicy
资源会从项目中删除。
1.14.6.1. 禁用自动 NetworkPolicy 创建
如果要禁用 NetworkPolicy
资源自动创建和管理,例如强制实现公司安全策略,或者允许直接访问网格中的 pod,您可以这样做。您可以编辑 ServiceMeshControlPlane
,并将 spec.security.manageNetworkPolicy
设置为 false
。
当您禁用了 spec.security.manageNetworkPolicy
,Red Hat OpenShift Service Mesh 不会创建 任何 NetworkPolicy
对象。系统管理员负责管理网络并修复可能导致的任何问题。
先决条件
- 安装了 Red Hat OpenShift Service Mesh Operator 2.1.1 或更高版本。
-
ServiceMeshControlPlane
资源更新至 2.1 或更高版本。
流程
-
在 OpenShift Container Platform web 控制台中,点击 Operators
Installed Operators。 -
从 Project 菜单中选择安装 Service Mesh control plane 的项目,如
istio-system
。 -
点 Red Hat OpenShift Service Mesh Operator。在 Istio Service Mesh Control Plane 栏中,点
ServiceMeshControlPlane
的名称,如basic-install
。 -
在 Create ServiceMeshControlPlane Details 页中,点
YAML
修改您的配置。 将
ServiceMeshControlPlane
字段spec.security.manageNetworkPolicy
设置为false
,如下例所示。apiVersion: maistra.io/v2 kind: ServiceMeshControlPlane spec: security: manageNetworkPolicy: false
- 点击 Save。