第 8 章 管理网络策略


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

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

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

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

本文档描述了网络图(1.0),它在 RHACS 4.0 中已弃用,并计划在以后的发行版本中删除。它还描述了 RHACS 3.74 和 4.0 中提供的网络图(2.0 预览)。

8.1. 网络图(2.0 预览)

网络图(2.0 预览)在 RHACS 3.74 和 4.0 中提供,它是一个技术预览功能。

8.1.1. 关于网络图(2.0 预览)

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

重要

网络图 2.0 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

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

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

您还可以从网络图形视图模拟网络策略。如需更多信息,请参阅"从网络图模拟网络策略",以了解版本 1.0 或 2.0 preview。

  • 点击图形中的项目可让您查看有关组件或执行操作,如将网络流添加到您的基准中。
  • 打开图例提供了有关使用中的符号及其含义的信息。图例显示表示网络图中命名空间、部署和连接的符号的说明文本。
  • 从下拉列表中选择额外的显示选项,控制图形是否显示图标,如网络策略状态徽标、活动外部流量徽标以及用于边缘连接的端口和协议标签。
  • RHACS 检测到网络流量的变化,如加入或离开节点。如果检测到更改,网络图会显示可用更新数量的通知。为了避免中断您的关注,图不会自动更新。点通知来更新图形。
在网络图中的外部实体和连接 (2.0 预览)

网络图视图显示受管集群和外部源之间的网络连接。另外,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. 网络图示例

当您点击图形中的项目时,带有 collapsible 部分的 rearranged 侧面板会显示该项目的信息。您可以点以下项目:

  • Deployments
  • 命名空间
  • 外部实体
  • CIDR 块
  • 外部组

侧面板根据您选择的图形中的项目显示相关信息。标头中项目名称旁边的 DNS 标签(本例中为"postgres"表示它是部署还是命名空间。以下示例演示了部署模式。

图 8.2. 部署示例的侧面板

在 Namespace 模式中,侧面板包含一个搜索栏和一个部署列表。您可以单击部署来查看其信息。在 Namespace 模式中,侧面板还包括 Network policies 选项卡。在此选项卡中,您可以查看、复制到剪贴板,或导出该命名空间中定义的任何网络策略,如下例所示。

图 8.3. 一个命名空间的侧面板示例

8.1.2. 查看部署信息

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

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

流程

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

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

8.1.2.1. 在网络图中查看网络策略(2.0 预览)

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

流程

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

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

8.1.3. 在网络图中配置 CIDR 块(2.0 预览)

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

流程

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

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

      注意

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

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

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

8.1.4. 从网络图模拟网络策略(2.0 预览)

您当前的网络策略可能允许不需要的网络通信。要模拟一组新网络策略的影响,请使用网络策略模拟器。有关使用网络策略模拟器生成策略的详情,请参考"在网络图(2.0 preview)中生成网络策略"。

流程

  1. 在 RHACS 门户中,进入到 Network Graph (2.0 preview)
  2. 选择一个集群,然后选择一个或多个命名空间。
  3. 在网络图标头中,选择 Simulate 网络策略
  4. 可选:通过点 Generate and simulate network policies 来生成带有网络策略的 YAML 文件。如需更多信息,请参阅"在网络图形(2.0 preview)中生成网络策略"。
  5. 上传要在模拟中使用的网络策略的 YAML 文件。网络图视图显示您提议的网络策略将达到什么。执行以下步骤:

    1. Upload YAML,然后选择 文件。
    2. Open。系统会显示一条消息,以指示上传的策略的处理状态。
  6. 您可以通过点 View active YAMLS 选项卡来查看与当前网络策略对应的活跃 YAML 文件,然后从下拉列表中选择策略。您还可以执行以下操作:

    • 点适当的按钮复制或下载显示的 YAML 文件。
    • 使用 Actions 菜单从活跃流量重建规则,或将规则恢复到之前应用的 YAML。如需更多信息,请参阅"从网络图形(2.0 preview)中生成网络策略"。

      警告

      直接应用网络策略可能会导致运行应用程序出现问题。在将网络策略应用到生产工作负载之前,始终在开发环境或测试集群中下载并测试网络策略。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat