ストレージクラスを管理する
既存のストレージクラスを表示したり、デフォルトのストレージクラスを設定したり、ストレージクラスバックエンドを識別したり、ストレージクラスを削除したりできます。
既存のストレージクラスを表示します
-
既存の Kubernetes ストレージクラスを表示するには、次のコマンドを実行します。
kubectl get storageclass
-
Kubernetes ストレージクラスの詳細を表示するには、次のコマンドを実行します。
kubectl get storageclass <storage-class> -o json
-
Astra Trident の同期されたストレージクラスを表示するには、次のコマンドを実行します。
tridentctl get storageclass
-
Astra Trident の同期されたストレージクラスの詳細を表示するには、次のコマンドを実行します。
tridentctl get storageclass <storage-class> -o json
デフォルトのストレージクラスを設定する
Kubernetes 1.6 では、デフォルトのストレージクラスを設定する機能が追加されています。永続ボリューム要求( PVC )に永続ボリュームが指定されていない場合に、永続ボリュームのプロビジョニングに使用するストレージクラスです。
-
ストレージクラスの定義でアノテーションをtrueに設定して、デフォルトのストレージクラスを定義し `storageclass.kubernetes.io/is-default-class`ます。仕様に応じて、それ以外の値やアノテーションがない場合は 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 インストーラバンドルにも例があります。
クラスタ内のデフォルトのストレージクラスは一度に1つだけにしてください。Kubernetes では、技術的に複数のストレージを使用することはできますが、デフォルトのストレージクラスがまったくない場合と同様に動作します。 |
ストレージクラスのバックエンドを特定します
ここでは、Astra 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>`は、ストレージクラスに置き換えてください。
このストレージクラスで作成された永続ボリュームには変更はなく、 Astra Trident によって引き続き管理されます。
Astra Tridentでは、作成するボリュームに空白が適用され fsType`ます。iSCSIバックエンドの場合は、StorageClassで強制することを推奨します `parameters.fsType 。既存のストレージクラスを削除し、指定したで再作成してください parameters.fsType 。
|