7장. Red Hat OpenShift Data Foundation 전용 작업자 노드를 사용하는 방법

Red Hat OpenShift Container Platform 서브스크립션에는 OpenShift Data Foundation 서브스크립션이 필요합니다. 그러나 인프라 노드를 사용하여 OpenShift Data Foundation 리소스를 예약하는 경우 OpenShift Container Platform 서브스크립션 비용을 절감할 수 있습니다.

Machine API를 지원하거나 사용하지 않는 환경에서 일관성을 유지하는 것이 중요합니다. 이로 인해 모든 경우 작업자 또는 infra로 레이블이 지정된 특수 범주의 노드를 사용하는 것이 좋습니다. 자세한 내용은 7.3절. “인프라 노드 수동 생성” 섹션을 참조하십시오.

7.1. 인프라 노드 분석

OpenShift Data Foundation에서 사용할 인프라 노드에는 몇 가지 속성이 있습니다. 노드가 RHOCP 인타이틀먼트를 사용하지 않도록 infra -role 레이블이 필요합니다. infra node-role 레이블은 OpenShift Data Foundation을 실행하는 노드에 대해 OpenShift Data Foundation 자격만 필요한지 확인해야 합니다.

  • node-role.kubernetes.io/infra로 레이블이 지정됩니다.

NoSchedule effect가 있는 OpenShift Data Foundation 테인트를 추가하는 것도 인프라 노드가 OpenShift Data Foundation 리소스만 예약하도록 합니다.

  • node.ocs.openshift.io/storage="true"로 테인트됨

레이블은 Descheduler 서브스크립션 비용이 적용되지 않도록 RHOCP 노드를 인프라 노드로 식별합니다. 테인트는 테인트된 노드에서 비 OpenShift Data Foundation 리소스를 예약할 수 없도록 합니다.

참고

노드에 스토리지 테인트를 추가하려면 openshift-dns daemonset 와 같은 다른 daemonset Pod에 대한 허용 오차 처리가 필요할 수 있습니다. 허용 오차를 관리하는 방법에 대한 자세한 내용은 기술 자료 문서를 참조하십시오. https://access.redhat.com/solutions/6592171.

OpenShift Data Foundation 서비스를 실행하는 데 사용할 인프라 노드에 필요한 테인트 및 레이블의 예:

    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: ""