第 8 章 如何将专用 worker 节点用于 Red Hat OpenShift Container Storage

使用基础架构节点调度 Red Hat OpenShift Container Storage 资源可降低 Red Hat OpenShift Container Platform 订阅成本。具有 infra node-role 标签的 Red Hat OpenShift Container Platform (RHOCP) 节点都需要 OpenShift Container Storage 订阅,而不是 RHOCP 订阅。

务必要在不同环境中维持 Machine API 支持的一致性。因此,强烈建议在所有情形中都有特殊类别的节点标记为 worker 或 infra,或者同时具有这两个角色。如需更多信息,请参阅 第 8.3 节 “手动创建基础架构节点” 部分。

8.1. 基础架构节点分析

用于 OpenShift Container Storage 的基础架构节点有几个属性。需要 infra node-role 标签,以确保节点不使用 RHOCP 权利。infra node-role 标签负责确保运行 OpenShift Container Storage 的节点只需要 OpenShift Container Storage 权利。

  • 标记了 node-role.kubernetes.io/infra

还需要添加具有 NoSchedule effect 的 OpenShift Container Storage 污点,以便 infra 节点只调度 OpenShift Container Storage 资源。

  • 使用 node.ocs.openshift.io/storage="true" 污点

该标签将 RHOCP 节点识别为 infra 节点,以便不应用 RHOCP 订阅成本。该污点可防止将非 OpenShift Container Storage 资源调度到污点节点上。

用于运行 OpenShift Container Storage 服务的基础架构节点上的污点和标签示例:

    spec:
      taints:
      - effect: NoSchedule
        key: node.ocs.openshift.io/storage
        value: "true"
      metadata:
        creationTimestamp: null
        labels:
          node-role.kubernetes.io/worker: ""
          node-role.kubernetes.io/infra: ""
          cluster.ocs.openshift.io/openshift-storage: ""