12장. CSI(Container Storage Interface) 구성 요소 배치 관리

각 클러스터는 infrastorage 노드와 같은 다수의 전용 노드로 구성됩니다. 그러나 사용자 정의 테인트가 있는 인프라 노드는 노드에서 OpenShift Data Foundation 영구 볼륨 클레임(PVC)을 사용할 수 없습니다. 따라서 이러한 노드를 사용하려면 허용 오차를 설정하여 노드에서 csi-plugins 를 가져올 수 있습니다. 자세한 내용은 https://access.redhat.com/solutions/4827161 을 참조하십시오.

절차

  1. configmap을 편집하여 사용자 정의 테인트에 대한 허용 오차를 추가합니다. 편집기를 종료하기 전에 저장하셔야 합니다.

    $ oc edit configmap rook-ceph-operator-config -n openshift-storage
  2. configmap 을 표시하여 추가된 톨러레이션을 확인합니다.

    $ oc get configmap rook-ceph-operator-config -n openshift-storage -o yaml

    테인트, nodetype=infra:NoSchedule 에 추가된 허용 오차의 출력 예:

    apiVersion: v1
    data:
    [...]
      CSI_PLUGIN_TOLERATIONS: |
        - key: nodetype
          operator: Equal
          value: infra
          effect: NoSchedule
        - key: node.ocs.openshift.io/storage
          operator: Equal
          value: "true"
          effect: NoSchedule
    [...]
    kind: ConfigMap
    metadata:
    [...]
    참고

    Tolerations 값 필드에 있는 문자열이 아닌 모든 값에 이중 따옴표가 있는지 확인합니다. 예를 들어 true 유형의 부울인 값 true 및 int 유형의 1 은 "true" 및 "1"로 입력되어야 합니다.

  3. csi-cephfsplugin-* 및 csi-rbdplugin-* Pod가 인프라 노드에서 자체적으로 시작되지 않으면 rook-ceph-operator 를 다시 시작합니다.

    $ oc delete -n openshift-storage pod <name of the rook_ceph_operator pod>

    예:

    $ oc delete -n openshift-storage pod rook-ceph-operator-5446f9b95b-jrn2j
    
    pod "rook-ceph-operator-5446f9b95b-jrn2j" deleted

검증 단계

csi-cephfsplugin-* 및 csi-rbdplugin-* Pod가 인프라 노드에서 실행 중인지 확인합니다.