5.11. Azure File CSI Driver Operator

5.11.1. 개요

OpenShift Container Platform은 Microsoft Azure File Storage의 CSI(Container Storage Interface) 드라이버를 사용하여 PV(영구 볼륨)를 프로비저닝할 수 있습니다.

CSI Operator 및 드라이버를 사용할 때는 영구 스토리지CSI 볼륨 구성에 대해 숙지하는 것이 좋습니다.

Azure File 스토리지 자산에 마운트되는 CSI 프로비저닝 PV를 생성하기 위해 OpenShift Container Platform은 openshift-cluster-csi-drivers 네임스페이스에 기본적으로 Azure File CSI Driver Operator 및 Azure File CSI 드라이버를 설치합니다.

  • Azure File CSI Driver Operator 는 PVC(영구 볼륨 클레임)를 생성하는 데 사용할 수 있는 azurefile-csi 라는 스토리지 클래스를 제공합니다.
  • Azure File CSI 드라이버 를 사용하면 Azure File PV를 생성 및 마운트할 수 있습니다. Azure File CSI 드라이버는 필요에 따라 스토리지 볼륨을 생성할 수 있도록 하여 클러스터 관리자가 스토리지를 사전 프로비저닝할 필요가 없어 동적 볼륨 프로비저닝을 지원합니다.

Azure File CSI Driver Operator는 다음을 지원하지 않습니다.

  • 가상 하드 디스크(Virtual Hard Disk : VHD)
  • NFS(네트워크 파일 시스템): OpenShift Container Platform은 NFS 지원 스토리지 클래스를 배포하지 않습니다.
  • FIPS 모드가 활성화된 노드에서 실행

지원되는 기능에 대한 자세한 내용은 지원되는 CSI 드라이버 및 기능을 참조하십시오.

5.11.2. NFS 지원

OpenShift Container Platform은 다음과 같은 제한 사항이 있는 NFS(Network File System)를 사용하여 CSI(Azure File Container Storage Interface) Driver Operator를 지원합니다.

  • 컨트롤 플레인 노드에 예약된 Azure File NFS 볼륨을 사용하여 Pod를 생성하면 마운트가 거부됩니다.

    이 문제를 해결하려면 컨트롤 플레인 노드를 예약할 수 있고 작업자 노드에서 Pod를 실행할 수 있는 경우 nodeSelector 또는 Affinity를 사용하여 작업자 노드에서 Pod를 예약합니다.

  • FS 그룹 정책 동작:

    중요

    NFS를 사용하는 Azure File CSI는 Pod에서 요청한 fsGroupChangePolicy 를 준수하지 않습니다. NFS를 사용하는 Azure File CSI는 Pod에서 요청한 정책에 관계없이 기본 OnRootMismatch FS 그룹 정책을 적용합니다.

  • Azure File CSI Operator는 NFS의 스토리지 클래스를 자동으로 생성하지 않습니다. 수동으로 생성해야 합니다. 다음과 유사한 파일을 사용합니다.

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: <storage-class-name> 1
    provisioner: file.csi.azure.com 2
    parameters:
      protocol: nfs 3
      skuName: Premium_LRS  # available values: Premium_LRS, Premium_ZRS
    mountOptions:
      - nconnect=4
    1
    스토리지 클래스 이름입니다.
    2
    Azure File CSI 공급자를 지정합니다.
    3
    NFS를 스토리지 백엔드 프로토콜로 지정합니다.

5.11.3. CSI 정보

스토리지 벤더는 일반적으로 Kubernetes의 일부로 스토리지 드라이버를 제공합니다. CSI(Container Storage Interface) 구현을 통해 타사 공급자는 코어 Kubernetes 코드를 변경하지 않고도 표준 인터페이스를 사용하여 스토리지 플러그인을 제공할 수 있습니다.

CSI Operator는 in-tree 볼륨 플러그인에서 사용할 수 없는 볼륨 스냅샷과 같은 OpenShift Container Platform 사용자 스토리지 옵션을 제공합니다.