第 7 章 管理网络策略


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

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

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

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

7.1. 网络图

7.1.1. 关于网络图

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

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

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

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

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

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

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

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

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

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

7.1.1.3. 涉及内部实体的连接

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

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

以下情况可能会导致连接被归类为涉及内部实体的 :

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

内部实体通过以下图形中所示的图标表示。点 内部实体 显示这些实体的流。

图 7.4. 内部实体示例

7.1.2. 访问控制和权限

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

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

  • 读取 部署
  • 读取 网络Graph
  • read NetworkPolicy

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

其他资源

7.1.3. 查看部署信息

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

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

流程

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

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

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

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

流程

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

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

7.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