第 20 章 单节点 OpenShift 上的工作负载分区
在资源有限制的环境中,如单节点 OpenShift 部署,使用工作负载分区来隔离 OpenShift Container Platform 服务、集群管理工作负载和基础架构 pod,以便在保留的一组 CPU 上运行。
对于在单节点 OpenShift 中的集群管理,需要最少保留的 CPU 数量是四个 CPU Hyper-Threads (HT)。使用工作负载分区,您可以注解一组集群管理 pod 和一组典型的附加 Operator,以包含在集群管理工作负载分区中。这些 pod 通常在大小为最小要求的 CPU 配置中运行。除了最小集群管理 pod 之外,额外的其他 Operator 或工作负载则需要将额外的 CPU 添加到工作负载分区中。
工作负载分区使用标准 Kubernetes 调度功能将用户工作负载与平台工作负载隔离。
以下是工作负载分区所需的配置概述:
-
使用
/etc/crio/crio.conf.d/01-workload-partitioning
的工作负载分区将 OpenShift Container Platform 基础架构 pod 固定到定义的cpuset
配置。 性能配置集将集群服务(如 systemd 和 kubelet)固定到
spec.cpu.reserved
字段中定义的 CPU。注意使用 Node Tuning Operator,您可以配置性能配置集,为节点上的完整工作负载分区配置固定系统级别的应用程序。
-
您在性能配置集
spec.cpu.reserved
字段中指定的 CPU,工作负载分区cpuset
字段必须匹配。
工作负载分区为每个定义的 CPU 池,或工作负载类型增加了一个扩展的 <workload-type>.workload.openshift.io/cores
资源。kubelet 根据相应资源内分配给池的 pod 公告资源和 CPU 请求。启用工作负载分区时,<workload-type>.workload.openshift.io/cores
资源允许访问主机的 CPU 容量,而不仅仅是默认的 CPU 池。
其他资源
- 有关单节点 OpenShift 集群的推荐工作负载分区配置,请参阅 Workload partitioning。