7.18.2.3. hostpath 프로비전 프로그램을 사용하여 로컬 스토리지 활성화

hostpath 프로비전 프로그램을 배포하고 가상 머신에서 로컬 스토리지를 사용하도록 설정하려면 먼저 HostPathProvisioner 사용자 정의 리소스를 만들어야 합니다.

사전 요구 사항

  • 각 노드에 hostpath 프로비전 프로그램에서 생성하는 PV(영구 볼륨)에 대한 백업 디렉터리를 생성합니다.

    중요

    / 파티션은 RHCOS(Red Hat Enterprise Linux CoreOS)에서 읽기 전용이므로 백업 디렉터리는 파일 시스템의 루트 디렉터리에 있지 않아야 합니다. 예를 들어 /var/<directory_name>은 사용할 수 있지만 /< directory_name> 은 사용할 수 없습니다.

  • SELinux 컨텍스트 container_file_t를 각 노드의 PV 백업 디렉터리에 적용합니다. 예를 들면 다음과 같습니다.

    $ sudo chcon -t container_file_t -R <backing_directory_path>
    참고

    RHCOS(Red Hat Enterprise Linux CoreOS) 8 작업자를 사용하는 경우 MachineConfig 매니페스트를 사용하여 SELinux를 구성해야 합니다.

절차

  1. HostPathProvisioner 사용자 정의 리소스 파일을 만듭니다. 예를 들면 다음과 같습니다.

    $ touch hostpathprovisioner_cr.yaml
  2. spec.pathConfig.path 값이 hostpath 프로비전 프로그램으로 PV를 생성할 디렉터리가 되도록 파일을 편집합니다. 예를 들면 다음과 같습니다.

    apiVersion: hostpathprovisioner.kubevirt.io/v1beta1
    kind: HostPathProvisioner
    metadata:
      name: hostpath-provisioner
    spec:
      imagePullPolicy: IfNotPresent
      pathConfig:
        path: "<backing_directory_path>" 1
        useNamingPrefix: false 2
    1
    프로비전 프로그램으로 PV를 생성할 백업 디렉터리를 지정합니다. 이 디렉토리는 파일 시스템의 루트 디렉토리(/)에 있으면 안 됩니다.
    2
    생성된 PV에 바인딩된 PVC(영구 볼륨 클레임) 이름을 디렉터리 이름의 접두부로 사용하려면 이 값을 true로 변경하십시오.
    참고

    백업 디렉터리를 만들지 않은 경우 프로비전 프로그램에서 백업 디렉터리를 만들려고 합니다. container_file_t SELinux 컨텍스트를 적용하지 않은 경우 Permission denied 오류가 발생할 수 있습니다.

  3. openshift-cnv 네임스페이스에 사용자 정의 리소스를 만듭니다.

    $ oc create -f hostpathprovisioner_cr.yaml -n openshift-cnv