8.5. 推出设备选择


当使用 flightctl 执行推出部署时,您必须管理哪些设备参与推出部署以及可以接受的中断量。设备选择过程和推出中断预算概念可确保控制和可预测的推出部署。

在推出部署的过程中选择设备的流程和配置包括目标策略、批处理排序以及控制软件部署的成功标准。

8.5.1. 设备目标

rollout 仅适用于属于一个团队的设备。每个设备只能属于单个机。由于推出定义在团队级别完成,因此选择过程会根据标签标准决定团队内哪些设备参与批量推出部署。处理所有批处理后,所有团队设备都会推出。

  • 标签 :具有特定元数据标签的设备可用于推出部署。
  • fleet membership: Rollouts 仅适用于指定团队中的设备。

8.5.2. 设备选择策略

Red Hat Edge Manager 仅支持 BatchSequence 策略进行设备选择。此策略定义了根据特定标准在批处理中添加设备的步骤推出部署的过程。批处理是按顺序执行的。在每个批处理完成后,只有在上一个批处理的成功率满足或超过配置的成功阈值时,执行才会进入下一个批处理。

成功率由以下决定:

# of successful rollouts in the batch / # of devices in the batch >= success threshold
Copy to Clipboard Toggle word wrap

在批处理序列中,最终批处理是一个隐式批处理,未在批处理序列中指定。它选择已由序列中的显式批处理选择的团队中的所有设备。

8.5.3. 设备选择中的限制

BatchSequence 策略中的每个批处理都可以使用可选的 limit 参数来定义批处理中应包含多少个设备。您可以通过两种方式指定限制:

  • 绝对数字 :要选择的设备的固定数量。
  • 百分比 :要选择匹配的设备填充的百分比。

    • 如果您使用标签提供 选择器,则根据与团队中的标签标准匹配的设备数量来计算百分比。
    • 如果没有提供 选择器,则百分比将应用到该团队中的所有设备。

8.5.4. 成功阈值

successThreshold 定义继续推出部署所需的成功更新设备的百分比。如果成功率低于这个阈值,则推出部署可能会暂停,以防止进一步失败。

示例

下面显示了一个团队规格的 YAML 配置示例:

apiVersion: v1alpha1
kind: Fleet
metadata:
  name: default
spec:
  selector:
    matchLabels:
      fleet: default
  rolloutPolicy:
    deviceSelection:
      strategy: 'BatchSequence'
      sequence:
        - selector:
            matchLabels:
              site: madrid
          limit: 1  # Absolute number
        - selector:
            matchLabels:
              site: madrid
          limit: 80%  # Percentage of devices matching the label criteria within the fleet
        - limit: 50%  # Percentage of all devices in the fleet
        - selector:
            matchLabels:
              site: paris
        - limit: 80%
        - limit: 100%
    successThreshold: 95%
Copy to Clipboard Toggle word wrap

在本例中,有 6 个显式批处理和 1 个隐式批处理:

  • 第一个批处理选择一个具有标签 site:madrid 的 1 设备。
  • 使用具有标签 site:madrid 的所有设备的第二个批处理 80% 被选择在当前批处理中推出部署,或者之前已选择推出部署。
  • 在当前批处理中,选择第三个批处理 50% 的所有设备,或者之前选择用于推出部署的设备。
  • 在第四个批处理中,所有之前未选择的设备并且标签 site:paris 被选择。
  • 在当前批处理中选择了第五个批处理 80%,或者之前选择用于推出部署的设备。
  • 通过第 6 个批处理,所有设备的 100% 都可在当前批处理中推出部署,或者之前选择用于推出部署的设备。
  • 最后隐式批处理选择任何之前批处理中未选择的所有设备(might 为 none)。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat