第 15 章 单节点 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 池。

其他资源