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":를 사용하여 JSON을 반환해야 합니다: "지원되지 않음"}
코드1
을 종료합니다.
-
다른 모든 작업은
절차
FlexVolume 드라이버를 설치하려면 다음을 수행합니다.
- 실행 가능한 파일이 클러스터의 모든 노드에 있는지 확인합니다.
-
볼륨 플러그인 경로(
/etc/kubernetes/kubelet-plugins/volume/exec/<vendor>~<driver>/<driver>
)에 실행 가능 파일을 배치합니다.
예를 들어, foo
스토리지용 FlexVolume 드라이버를 설치하려면 실행 파일을 /etc/kubernetes/kubelet-plugins/volume/exec/openshift.com~foo/foo
에 배치합니다.