3.2. Red Hat OpenShift
通常,订阅服务会跟踪 Red Hat OpenShift 使用情况,如使用 Red Hat OpenShift Container Platform,如物理和虚拟系统上的集群大小。集群大小 是所有订阅的节点的总和。订阅的 节点是运行工作负载的计算或 worker 节点,而不是管理集群的 control plane 或基础架构节点。
除了按集群大小进行基于集群跟踪的一般规则外,此跟踪取决于以下几个因素:
- Red Hat OpenShift 产品
- 为该产品购买的订阅类型
- 该产品的版本
- 产品测量单位,由订阅条款定义,决定如何计算集群大小和总体使用情况
- 节点的结构,包括用于分配节点角色的任何标签,以及用于控制节点上 pod 放置的调度配置
但是,在一些其他 Red Hat OpenShift 产品和附加组件中,可以跟踪与不同类型的工作负载相关的资源消耗,如工作负载活动的数据传输和数据存储,或用于 control plane 资源消耗的实例可用性。
3.2.1. 对 Red Hat OpenShift 跟踪的各种因素的影响 复制链接链接已复制到粘贴板!
订阅服务跟踪和报告在物理和虚拟环境中完全管理及自我管理的 Red Hat OpenShift 产品的使用情况。由于 Red Hat OpenShift 主版本 3 和 4 之间的报告模型的变化,版本 3 的使用数据会在节点级别报告,而版本 4 的用量数据会在集群级别报告并聚合。以下信息更适用于版本 4 报告模型,数据在集群级别聚合。
监控堆栈工具和 OpenShift Cluster Manager 中发生用于计算 Red Hat OpenShift 使用量的许多工作。然后,这些工具会向订阅服务发送核心数或 vCPU 计数数据,以进行使用情况报告。内核和 vCPU 数据基于订阅的集群大小,该大小派生自正在处理工作负载的集群节点。
对于完全托管的 Red Hat OpenShift 产品,如 Red Hat OpenShift Dedicated 或 Red Hat OpenShift AI,使用计数通常是基于时间的,以内核小时或 vCPU 小时等单位计算。红帽管理环境的基础架构更加一致地提供给红帽,包括监控堆栈工具和 OpenShift Cluster Manager。订阅节点的数据(可以接受工作负载的节点)可发现,因为 是内核、vCPU 和其他有助于使用订阅服务数据的数据。
对于自我管理的 Red Hat OpenShift 产品,如 Red Hat OpenShift Container Platform Annual 和 Red Hat OpenShift Container Platform On-Demand,使用计数通常基于内核。客户设计环境的基础架构不太可预测,在某些情况下,使用计算的事实可能不太可访问,特别是在基于 x86 的虚拟化环境中。
由于其中有些事实可能无法访问,因此使用计数过程包含并发多线程(也称为超线程)的假设,这些事实在分析和报告虚拟 Red Hat OpenShift 集群用于 x86 架构的使用数据时应用。这些假设是必需的,因为有些供应商提供不向客户机公开并发多线程数据的虚拟机监控程序。
持续分析和客户反馈会对订阅服务和相关数据管道产生递增改进,这提高了超线程用例用量计数的准确性。当前在订阅服务报告中使用的基本假设是,并发多线程按每个内核 2 个线程的倍数进行。内部调查表明,这个因素是最常见的配置,适用于大多数客户。因此,假设每个内核有 2 个线程遵循常见的多线程最佳实践和错误,而客户中的少量客户(大约 10%),它们没有使用多线程。当从观察到的线程数量派生内核时,这个决定对于所有客户而言是最静默的。
有限的自我管理的 Red Hat OpenShift 产品可作为基于套接字的订阅提供。对于这些基于套接字的订阅,虚拟机监控程序向操作系统报告套接字数量,通常是 Red Hat Enterprise Linux CoreOS,套接字计数发送到订阅服务以进行使用跟踪。订阅服务使用用于 RHEL 的套接字对方法跟踪和报告基于套接字的订阅。
3.2.2. 基于核心的使用计数工作流自我管理的 Red Hat OpenShift 产品 复制链接链接已复制到粘贴板!
对于自我管理的 Red Hat OpenShift 产品,如 Red Hat OpenShift Container Platform Annual 和 Red Hat OpenShift Container Platform On-Demand,监控堆栈工具和 OpenShift Cluster Manager 发起的计数流程如下:
- 对于集群,检查节点类型和节点标签来确定哪些节点已订阅。订阅的节点是 可以接受工作负载的节点。只有订阅的节点才会为订阅服务提供用量计数。
检查节点的芯片架构,以确定架构是否基于 x86。如果构架是基于 x86,那么必须在用量计数期间考虑并发多线程(也称为超线程)。
- 如果芯片架构不是基于 x86 的,则监控堆栈会根据与订阅节点关联的内核计算使用量,并将核心数发送到订阅服务。
- 如果芯片架构是基于 x86,则监控堆栈会根据订阅节点上的线程数量来统计使用量。根据红帽对 vCPU 的定义,线程等于 vCPU。这个计数方法应用是否可以准确检测到多线程数据,多线程数据是模糊的还是缺失,或者多线程数据被特别设置为节点上的 false 值。根据 2 的倍数的全局多线程假设,线程数量除以 2,以确定内核数。然后,核心数将发送到订阅服务。
3.2.3. 与总集群大小相比,了解订阅的集群大小 复制链接链接已复制到粘贴板!
对于 Red Hat OpenShift,订阅服务不会只专注于集群的总大小和其中的节点。订阅服务侧重于集群的订阅部分,即正在处理工作负载的集群节点。因此,订阅服务报告 用于订阅的集群大小,而不是集群的整个大小。
3.2.4. 确定订阅的集群大小 复制链接链接已复制到粘贴板!
要确定订阅的集群大小,数据收集工具和订阅服务同时检查节点类型和节点标签。订阅服务使用此数据来确定哪些节点可以接受工作负载。所有非基础架构节点以及可以调度的 master 节点的总和被视为可用于工作负载。可用于工作负载使用的节点计为订阅的节点,贡献订阅的集群大小,并出现在订阅服务的使用情况报告中。
以下信息提供了有关节点标签如何影响这些节点的计数,并影响订阅的集群大小的更多详情。对内部和外部客户环境的分析显示这些标签和标签组合代表大多数客户配置。
| 节点标签 | 用量计数 | 例外 |
|---|---|---|
| worker | 是 | 除非 worker 标签与 infra 标签的组合 |
| worker + infra | 否 | 请参阅 备注 |
| 自定义标签 | 是 | 除非将自定义标签与 master、infra 或 control plane 标签结合使用 |
| 自定义标签 + master、infra、control plane (任意组合) | 否 | |
| Master + infra + control plane (任意组合) | 否 | 除非存在 master 标签 , 否则节点标记为可以调度 |
| 可调度 master + infra、control plane (任意组合) | 是 |
Red Hat OpenShift 监控堆栈工具的一个已知问题可能会导致 Red Hat OpenShift Container Platform 版本早于 4.12 的意外内核计数。对于这些版本,worker 节点的数量可以平均提升。
对于早于 4.12 的 OpenShift Container Platform 版本,Machine Config Operator 不支持在节点上分配 infra 和 worker 角色。根据订阅节点的原则,worker 节点的计数是正确的,这个计数将在 OpenShift Container Platform web 控制台中正确显示。
但是,当监控堆栈工具分析此数据并将其发送到 Hybrid Cloud 控制台中的订阅服务和其他服务时,Machine Config Operator 会忽略双角色,并将节点上的角色设置为 worker。因此,worker 节点数将在订阅服务和 OpenShift Cluster Manager 中提升。
3.2.5. 带有传统订阅的 Red Hat OpenShift Container Platform 复制链接链接已复制到粘贴板!
订阅服务会在集群的 CPU 内核数或套接字中跟踪 Red Hat OpenShift Container Platform 使用量,并将此数据聚合到帐户视图中,如以下版本支持来优化:
- 基于 Red Hat Enterprise Linux CoreOS 的节点或 Red Hat Enterprise Linux CoreOS 和基于 RHEL 的节点的混合环境的 RHOCP 4.1 及更新的版本
- RHOCP 3.11
对于 RHOCP 订阅使用情况,主要 3 和 4 版本之间存在报告模型。版本 3 使用量在节点级别考虑,版本 4 的使用量在集群级别被视为。
RHOCP 主要版本报告模型的差异还会导致在混合云控制台中订阅服务和相关服务计算使用量的一些区别。对于 RHOCP 版本 4,订阅服务遵循检查节点类型和节点标签的规则,以计算订阅的集群大小,如 确定订阅的集群大小 中所述。订阅服务可以识别并忽略了执行开销任务的集群的部分,且不接受工作负载。订阅服务只识别并跟踪接受工作负载的集群的部分。
但是,对于 RHOCP 版本 3.11,版本 3era 报告模型无法区分执行开销任务但不接受工作负载的集群的部分,因此报告模型无法找到订阅和非订阅的节点。因此,对于 RHOCP 版本 3.11,您可以假定订阅服务报告的大约 15% 的订阅数据是执行基础架构相关任务的非订阅节点的开销。这个百分比基于在 RHOCP 版本 3 中安装的集群开销的分析。在这种情况下,显示超过 15% 容量的使用量结果可能仍符合要求。
- RHOCP 或 OpenShift Dedicated 4.7 及更新的版本
订阅服务会在内核小时内跟踪 RHOCP 或 OpenShift Dedicated 4.7 及之后的版本中的使用量,这是一段时间内的 CPU 内核数的测量。对于 OpenShift Dedicated On-Demand 订阅,服务实例的可用性会在实例小时内消耗 control plane 资源。订阅服务最终将帐户中的所有集群核心小时和实例小时数据聚合到每月总计,即 Red Hat Marketplace 账单服务使用的时间单位。
如 RHOCP 4.1 及之后的版本所示,订阅服务只识别并跟踪包含计算节点的部分,也称为 worker 节点。
订阅服务会在 vCPU 小时和 control plane 小时内从预付费订阅跟踪 Red Hat OpenShift Service on AWS Hosted Control Planes (ROSA Hosted Control Planes)使用。
- vCPU 小时 是一个虚拟内核(由订阅条款定义)上计算活动的可用性,共用一小时,测量使用的量表的粒度。对于 ROSA Hosted Control Planes,计算活动的可用性是 ROSA Hosted Control Planes 订阅集群的 vCPU 可用。订阅的集群由订阅的节点组成,它们是非基础架构节点,以及可用于工作负载的可调度 master 节点(如果适用)。请注意,对于 ROSA Hosted Control Planes,可调度的 master 节点不适用,与其他也使用此测量的产品不同。可用于为订阅的集群运行工作负载的 vCPU 会对 vCPU 小时计数进行贡献。
- control plane 小时是 control plane 的可用性测量。使用 ROSA Hosted Control Planes 时,每个集群都有一个专用的 control plane,它在由红帽拥有的 ROSA Hosted Control Planes 服务帐户中隔离。
3.2.8. Red Hat OpenShift AI 带有现付按需订阅 复制链接链接已复制到粘贴板!
订阅服务在 vCPU 小时内跟踪 Red Hat OpenShift AI (RHOAI),这是一个虚拟内核(根据订阅条款定义的计算活动)的测量,共 1 小时,测量使用的量表的粒度。对于 RHOAI 付费订阅使用,计算活动的可用性是集群随时间可用的。
订阅服务最终将帐户中的所有集群 vCPU 小时数据聚合成每月总计,由计费服务用于云供应商市场的时间单位。
订阅服务在 vCPU 小时内跟踪 Red Hat Advanced Cluster Security for Kubernetes (RHACS),这是测量在一个虚拟内核(根据订阅条款定义)上的计算活动的可用性(根据订阅条款定义)。对于 RHACS 付费订阅使用,计算活动的可用性是集群随时间可用。
订阅服务聚合所有集群 vCPU 小时数据,然后将 RHACS 运行的每个集群的数据的总和(账单服务用于云供应商市场的时间单位)。
订阅服务在 vCPU 小时内跟踪 Red Hat Advanced Cluster Management for Kubernetes (RHACM)。vCPU 小时是一个虚拟内核(由订阅条款定义)上计算活动的可用性,共一小时,测量使用的量表的粒度。对于 RHACM 预付费订阅使用,计算活动的可用性是 RHACM 订阅集群的 vCPU 的可用性。
订阅的集群由订阅的节点组成,它们是非基础架构节点,以及可用于工作负载的可调度 master 节点(如果适用)。对于 RHACM,RHACM 集群和 RHACM 管理的集群都包含订阅的节点。可用于为订阅的集群运行工作负载的 vCPU 会对 vCPU 小时计数进行贡献。
订阅服务聚合 RHACM hub 集群中订阅节点的所有集群 vCPU 小时数据以及 RHACM 管理下订阅的节点,即云供应商市场的计费服务的时间单位。