Menu Close

4.6.3. FlexVolume 드라이버 설치

OpenShift Container Platform 확장에 사용되는 FlexVolume 드라이버는 노드에서만 실행됩니다. FlexVolumes를 구현하려면 호출할 작업 목록 및 설치 경로만 있으면 됩니다.

사전 요구 사항

  • FlexVolume 드라이버는 다음 작업을 구현해야 합니다.

    init

    드라이버를 초기화합니다. 이는 모든 노드를 초기화하는 동안 호출됩니다.

    • 인수: 없음
    • 실행 위치: 노드
    • 예상 출력: 기본 JSON
    Mount

    디렉터리에 볼륨을 마운트합니다. 여기에는 장치를 검색한 다음 장치를 마운트하는 등 볼륨을 마운트하는 데 필요한 모든 항목이 포함됩니다.

    • 인수: <mount-dir> <json>
    • 실행 위치: 노드
    • 예상 출력: 기본 JSON
    unmount

    디렉터리에서 볼륨의 마운트를 해제합니다. 여기에는 마운트 해제 후 볼륨을 정리하는 데 필요한 모든 항목이 포함됩니다.

    • 인수: <mount-dir>
    • 실행 위치: 노드
    • 예상 출력: 기본 JSON
    mountdevice
    개별 Pod가 마운트를 바인딩할 수 있는 디렉터리에 볼륨의 장치를 마운트합니다.

이 호출은 FlexVolume 사양에 지정된 "시크릿"을 전달하지 않습니다. 드라이버에 시크릿이 필요한 경우 이 호출을 구현하지 마십시오.

  • 인수: <mount-dir> <json>
  • 실행 위치: 노드
  • 예상 출력: 기본 JSON

    unmountdevice
    디렉터리에서 볼륨의 장치를 마운트 해제합니다.
  • 인수: <mount-dir>
  • 실행 위치: 노드
  • 예상 출력: 기본 JSON

    • 다른 모든 작업은 {"status": "Not supported"}1의 종료 코드와 함께 JSON을 반환해야 합니다.

절차

FlexVolume 드라이버를 설치하려면 다음을 수행합니다.

  1. 실행 가능한 파일이 클러스터의 모든 노드에 있는지 확인합니다.
  2. 볼륨 플러그인 경로(/etc/kubernetes/kubelet-plugins/volume/exec/<vendor>~<driver>/<driver>)에 실행 가능 파일을 배치합니다.

예를 들어, foo 스토리지용 FlexVolume 드라이버를 설치하려면 실행 파일을 /etc/kubernetes/kubelet-plugins/volume/exec/openshift.com~foo/foo에 배치합니다.