4.10.7. Local Storage Operator Pod에서 허용 오차 사용

테인트를 노드에 적용하여 일반 워크로드를 실행하지 못하도록 할 수 있습니다. Local Storage Operator가 테인트된 노드를 사용하도록 허용하려면 Pod 또는 DaemonSet 정의에 허용 오차를 추가해야 합니다. 그러면 생성된 리소스가 이러한 테인트된 노드에서 실행될 수 있습니다.

LocalVolume 리소스를 통해 Local Storage Operator Pod에 허용 오차를 적용하고 노드 사양을 통해 노드에 테인트를 적용합니다. 노드의 테인트는 해당 테인트를 허용하지 않는 모든 Pod를 거절하도록 노드에 지시합니다. 다른 Pod에 없는 특정 테인트를 사용하면 Local Storage Operator Pod가 해당 노드에서도 실행될 수 있습니다.

중요

테인트 및 허용 오차는 key, value 및 effect로 구성되어 있습니다. 인수로는 key=value:effect로 표시됩니다. Operator는 이러한 매개 변수 중 하나를 비워두는 것을 허용합니다.

사전 요구 사항

  • Local Storage Operator가 설치되어 있습니다.
  • 로컬 디스크는 테인트와 함께 OpenShift Container Platform 노드에 연결되어 있습니다.
  • 테인트된 노드는 로컬 스토리지를 프로비저닝해야 합니다.

절차

테인트된 노드에서 스케줄링을 위해 로컬 볼륨을 구성하려면 다음을 수행하십시오.

  1. 다음 예와 같이 Pod를 정의하는 YAML 파일을 수정하고 LocalVolume 사양을 추가합니다.

      apiVersion: "local.storage.openshift.io/v1"
      kind: "LocalVolume"
      metadata:
        name: "local-disks"
        namespace: "openshift-local-storage"
      spec:
        tolerations:
          - key: localstorage 1
            operator: Equal 2
            value: "localstorage" 3
        storageClassDevices:
            - storageClassName: "localblock-sc"
              volumeMode: Block 4
              devicePaths: 5
                - /dev/xvdg
    1
    노드에 추가한 키를 지정합니다.
    2
    / 매개변수가 일치할 것을 요구하도록 Equal Operator를 지정합니다. Operator가 Exists인 경우 시스템은 키가 존재하는지 확인하고 값을 무시합니다. Operator가 Equal 이면 키와 값이 일치해야 합니다.
    3
    테인트된 노드의 로컬 값을 지정합니다.
    4
    볼륨 모드(파일 시스템 또는 블록)는 로컬 볼륨의 유형을 정의합니다.
    5
    선택할 로컬 스토리지 장치 목록이 포함된 경로입니다.
  2. 선택 사항: 테인트된 노드에만 로컬 영구 볼륨을 생성하려면 다음 예와 같이 YAML 파일을 수정하고 LocalVolume 사양을 추가합니다.

    spec:
      tolerations:
        - key: node-role.kubernetes.io/master
          operator: Exists

정의된 허용 오차가 결과 데몬 세트로 전달되어, 지정된 테인트를 포함하는 노드에 대해 디스크 제조 업체 및 프로비저너 Pod를 생성할 수 있습니다.