스토리지 클래스를 관리합니다
기존 스토리지 클래스를 보고, 기본 스토리지 클래스를 설정하고, 스토리지 클래스 백엔드를 식별하고, 스토리지 클래스를 삭제할 수 있습니다.
기존 스토리지 클래스를 봅니다
-
기존 Kubernetes 스토리지 클래스를 보려면 다음 명령을 실행합니다.
kubectl get storageclass
-
Kubernetes 스토리지 클래스 세부 정보를 보려면 다음 명령을 실행합니다.
kubectl get storageclass <storage-class> -o json
-
Trident의 동기화된 스토리지 클래스를 보려면 다음 명령을 실행합니다.
tridentctl get storageclass
-
Trident의 동기화된 스토리지 클래스 세부 정보를 보려면 다음 명령을 실행합니다.
tridentctl get storageclass <storage-class> -o json
기본 스토리지 클래스를 설정합니다
Kubernetes 1.6에는 기본 스토리지 클래스를 설정하는 기능이 추가되었습니다. 사용자가 영구 볼륨 클레임(PVC)에 영구 볼륨을 지정하지 않는 경우 영구 볼륨을 프로비저닝하는 데 사용되는 스토리지 클래스입니다.
-
스토리지 클래스 정의에서 주석 'torageclass.Kubernetes.io/is-default-class'를 true로 설정하여 기본 스토리지 클래스를 정의합니다. 사양에 따라 다른 값이나 주석 부재는 FALSE로 해석됩니다.
-
다음 명령을 사용하여 기존 스토리지 클래스를 기본 스토리지 클래스로 구성할 수 있습니다.
kubectl patch storageclass <storage-class-name> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
-
마찬가지로 다음 명령을 사용하여 기본 스토리지 클래스 주석을 제거할 수 있습니다.
kubectl patch storageclass <storage-class-name> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'
또한 Trident 설치 프로그램 번들에는 이 주석을 포함하는 예제도 있습니다.
클러스터에는 한 번에 하나의 기본 스토리지 클래스만 있어야 합니다. Kubernetes에서 둘 이상의 작업을 수행하는 것을 기술적으로 금지하지는 않지만 기본 스토리지 클래스가 없는 것처럼 동작합니다. |
스토리지 클래스에 대한 백엔드를 식별합니다
다음은 Trident 백엔드 객체에 대해 출력하는 JSON으로 답변할 수 있는 질문의 tridentctl
예입니다. 이 jq
유틸리티는 먼저 설치해야 할 수 있는 유틸리티를 사용합니다.
tridentctl get storageclass -o json | jq '[.items[] | {storageClass: .Config.name, backends: [.storage]|unique}]'
스토리지 클래스를 삭제합니다
Kubernetes에서 스토리지 클래스를 삭제하려면 다음 명령을 실행합니다.
kubectl delete storageclass <storage-class>
'<storage-class>'은(는) 스토리지 클래스로 교체해야 합니다.
이 스토리지 클래스를 통해 생성된 영구 볼륨은 변경되지 않으며 Trident에서 계속 관리합니다.
Trident는 생성한 볼륨에 대해 빈 값을 fsType 적용합니다. iSCSI 백엔드의 경우 StorageClass에 적용하는 것이 좋습니다 parameters.fsType . 기존 StorageClasses를 삭제하고 지정된 대로 다시 parameters.fsType 생성해야 합니다.
|