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

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

Machine API 지원 없이 환경 간에 일관성을 유지하는 것이 중요합니다. 이로 인해 모든 경우에 worker 또는 infra로 라벨이 지정된 특수 카테고리가 있거나 두 역할을 모두 갖는 것이 좋습니다. 자세한 내용은 8.3절. “인프라 노드 수동 생성” 섹션을 참조하십시오.

8.1. 인프라 노드 분석

OpenShift Data Foundation과 함께 사용할 인프라 노드에는 몇 가지 속성이 있습니다. 노드가 RuntimeClass 인타이틀먼트를 사용하지 않도록 하려면 infra node-role 레이블이 필요합니다. infra node-role 라벨은 OpenShift Data Foundation을 실행하는 노드에 OpenShift Data Foundation 자격만 필요하다는 것을 확인합니다.

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

인프라 노드가 OpenShift Data Foundation 리소스만 예약하려면 NoSchedule 효과를 사용하여 OpenShift Data Foundation 테인트를 추가해야 합니다.

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

이 레이블은 Gradle 노드를 infra 노드로 식별하므로 journalctl 서브스크립션 비용이 적용되지 않습니다. 테인트를 사용하면 비 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: ""