配置某些网络资源时,应该注意一些限制。
标记和标签的限制
标记具有以下限制:
- 标记范围具有 128 个字符的限制。
- 标记值具有 256 个字符的限制。
- 每个对象最多可以具有 30 个标记。
当 Kubernetes 或 OpenShift 注释被复制到 NSX-T Data Center 范围和标记,并且超出限制时,这些限制可能会导致出现问题。例如,如果某个标记适用于交换机端口,而该标记被用于防火墙规则,则可能无法按预期方式应用该规则,因为注释键或值在复制到范围或标记时被截断。
标签具有以下限制:
- 每个 pod 不能超过 25 个标签。
- 每个命名空间不能超过 27 个标签。
- Ingress 控制器 pod 不能超过 24 个标签。
配置网络策略
网络策略使用标签选择器选择 pod 或命名空间。
NCP 的网络策略支持与 Kubernetes 所提供的支持一样,并且取决于 Kubernetes 版本。
- Kubernetes 1.11 - 可以指定以下规则选择器:
- podSelector:可选择创建网络策略的命名空间中的所有 pod。
- namespaceSelector:可选择所有命名空间。
- podSelector 和 namespaceSelector:可选择 namespaceSelector 选定的命名空间中的所有 pod。
- ipBlockSelector:如果 ipBlockSelector 与 namespaceSelector 或 podSelector 结合使用,则网络策略无效。ipBlockSelector 必须单独存在于策略规范中。
- Kubernetes 1.10 - 网络策略中的规则子句最多只能包含 namespaceSelector、podSelector 和 ipBlock 中的一个选择器。
Kubernetes API 服务器不对网络策略规范进行验证。可以创建无效的网络策略。NCP 将拒绝此类网络策略。如果更新网络策略以使其有效,NCP 仍不会处理该网络策略。必须删除该网络策略,然后使用有效的规范重新创建一个。