第 8 章 管理网络策略


Kubernetes 网络策略 是一种规范,如何允许 pod 组相互通信和其他网络端点。这些网络策略配置为 YAML 文件。通过只查看这些文件,通常很难确定应用的网络策略是否达到所需的网络拓扑。

Red Hat Advanced Cluster Security for Kubernetes (RHACS)从编配器收集所有定义的网络策略,并提供用来使这些策略更易于使用的工具。

为了支持网络策略强制,RHACS 提供以下工具:

  • 网络图
  • 网络策略生成器
  • 网络策略模拟器
  • 构建时网络策略生成器

8.1. 网络图

8.1.1. 关于网络图

网络图提供有关环境中部署、网络流和网络策略的高级信息。

RHACS 处理每个安全集群中的所有网络策略,以显示哪些部署可以相互联系,并可以访问外部网络。它还监控运行部署并跟踪它们之间的流量。您可以在网络图中查看以下项目:

内部实体
它们代表了在部署和属于专用地址空间( RFC 1918 中定义的)之间的连接。如需更多信息,请参阅"涉及内部实体的无效"。
外部实体
这些代表部署与不属于私有地址空间的 IP 地址之间的连接,如 RFC 1918 中定义的。如需更多信息,请参阅网络图中"外部实体和连接"。
网络组件
在顶部菜单中,您可以选择命名空间(由 NS 标签表示)和部署(由 D 标签表示)以显示所选集群的图形上(由 CL 标签表示)。您可以使用下拉列表并选择要过滤的条件来进一步过滤部署,如常见漏洞和暴露(CVE)、标签和镜像。
网络流
您可以为图形选择以下流之一:
活跃流量
选择此默认选项会显示观察到的流量,专注于您选择的命名空间或特定部署。您可以选择显示信息的时间段。
不活跃流
选择这个选项会显示网络策略允许的潜在流,帮助您识别实现更紧密隔离所需的缺少网络策略。您可以选择显示信息的时间段。
网络策略
您可以查看所选组件的现有策略,或查看没有策略的组件。您还可以从网络图形视图模拟网络策略。如需更多信息,请参阅"从网络图模拟网络策略"。

8.1.1.2. 网络图中的外部实体和连接

网络图视图显示受管集群和外部源之间的网络连接。另外,RHACS 会自动发现并突出显示公共无类别域间路由(CIDR)地址块,如 Google Cloud、AWS、Microsoft Azure、Oracle Cloud 和 Cloudflare。使用此信息,您可以识别具有活跃外部连接的部署,并决定是否从网络外部创建或接收未授权连接。

默认情况下,外部连接指向一个通用的 外部实体 图标和网络图中的不同 CIDR 地址块。但是,您可以通过点 Manage CIDR 块并取消选择自动发现的 CIDR 块 来选择不会显示 自动发现的 CIDR 块

RHACS 包括以下云供应商的 IP 范围:

  • Google Cloud
  • AWS
  • Microsoft Azure
  • Oracle Cloud
  • Cloudflare

RHACS 每 7 天获取和更新云供应商的 IP 范围,并每天更新 CIDR 块。如果您使用离线模式,可以通过安装新的支持软件包来更新这些范围。

下图提供了一个网络图示例。在本例中,根据用户选择的选项,图形描述了所选命名空间中的部署。在点部署等项目前,不会显示流量流。该图使用红色徽标来指示缺少策略的部署,从而允许所有网络流量。

8.1.1.3. 涉及内部实体的连接

网络图可用于识别与不属于任何已知部署或 CIDR 块的实体的活跃连接的部署。其中一些连接永远不会连接到集群外,并在集群的专用网络内进行。网络图表示它们作为与内部实体的连接或来自 内部实体

与内部实体的连接代表部署和属于私有地址空间的 IP 地址的连接,如 RFC 1918 中定义的。在某些情况下,Sensor 无法识别连接中涉及的一个或多个部署。在这种情况下,系统会分析 IP 地址,并确定连接是内部还是外部。

以下场景可能会导致连接被归类为涉及内部实体之一:

  • IP 地址更改或删除接受连接(服务器)的方启动连接(客户端)仍然会尝试到达它
  • 与编配器 API 通信的部署
  • 使用网络 CNI 插件进行通信的部署,如 Calico
  • 重启 Sensor,从而导致将 IP 地址映射到过去部署,例如当 Sensor 无法识别过去实体的 IP 地址或现有实体的过去 IP 地址时,
  • 一个连接涉及不是由编配器管理的实体(在某些情况下,可能被视为在 集群之外),而是使用来自 RFC 1918 中定义的私有地址空间中的 IP 地址。

内部实体通过图标表示,如下图所示。点 Internal entities 显示这些实体的流。

图 8.4. 内部实体示例

8.1.2. 访问控制和权限

要查看网络图形,用户必须至少具有授予 Network Graph Viewer 默认权限集的权限。

Network Graph Viewer 权限集授予以下权限:

  • 读取 部署
  • read NetworkGraph
  • 读取 NetworkPolicy

如需更多信息,请参阅"添加资源"部分中的"系统权限集"。

其他资源

8.1.3. 查看部署信息

网络图提供了 RHACS 发现的部署、命名空间和连接的可视化映射。点击图形中的部署,您可以查看部署的信息,包括以下详情:

  • 网络安全性,如流数、现有或缺少网络策略规则以及监听端口
  • 标签和注解
  • 端口配置
  • 容器信息
  • 入口和出口连接的异常和基准流,包括协议和端口号
  • 网络策略

流程

查看命名空间中的部署详情:

  1. 在 RHACS 门户中,进入 Network Graph 并从下拉列表中选择您的集群。
  2. Namespaces 列表,并使用搜索字段找到命名空间,或选择单独的命名空间。
  3. 单击 Deployments 列表,并使用搜索字段查找部署,或者选择要在网络图中显示的单个部署。
  4. 在网络图中,点部署来查看信息面板。
  5. Details,Flows,Baseline, 或 Network policies 标签页查看对应的信息。

8.1.4. 在网络图中查看网络策略

网络策略指定允许 pod 组相互通信和其他网络端点。Kubernetes NetworkPolicy 资源使用标签来选择 pod,并定义允许哪些流量从所选 pod 或所选 pod 的流量的规则。RHACS 在网络图中发现并显示所有 Kubernetes 集群、命名空间、部署和 pod 的网络策略信息。

流程

  1. 在 RHACS 门户中,进入 Network Graph 并从下拉列表中选择您的集群。
  2. Namespaces 列表并选择单独的命名空间,或使用搜索字段找到命名空间。
  3. Deployments 列表并选择单个部署,或使用 search 字段来定位部署。
  4. 在网络图中,点部署来查看信息面板。
  5. Details 选项卡中,在 Network security 部分中,您可以查看提供以下信息的网络策略规则的摘要信息:

    • 管理入口或出口流量的网络中是否存在策略
    • 如果您的网络缺少策略,因此允许所有入口或出口流量
  6. 要查看网络策略的 YAML 文件,您可以点策略规则,或者点击 Network policies 选项卡。

8.1.5. 在网络图中配置 CIDR 块

您可以指定自定义 CIDR 块,或者在网络图中配置自动发现的 CIDR 块的显示。

流程

  1. 在 RHACS 门户中,进入 Network Graph,然后选择 Manage CIDR Blocks。您可以执行以下操作:

    • 切换 自动发现的 CIDR 块,以便在网络图中隐藏自动发现的 CIDR 块。

      注意

      当您隐藏自动发现的 CIDR 块时,所有集群都会隐藏自动发现的 CIDR 块,而不仅适用于网络图中所选集群。

    • 通过执行以下步骤在图形中添加自定义 CIDR 块:

      1. 在字段中输入 CIDR 名称和 CIDR 地址。要添加额外的 CIDR 块,点 Add CIDR 块 并为每个块输入信息。
      2. 单击 Update Configuration 以保存更改。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat