永続ボリューム要求の削除
Compute Cloud@Customerで、PVCを削除するには、まずそのPVCを使用しているすべてのポッドを削除します。ポッドがまだPVCを使用している間にPVCを削除しようとすると、PVCは終了状態でスタックし、削除されません。そのPVCを使用しているすべてのポッドが削除されると、PVCは削除されます。
-
PVCを使用しているすべてのポッドをリストします。
JSONオブジェクトを問い合せるためのJQコマンドライン・ユーティリティがインストールされていることを確認します。
次のコマンドを使用して、削除するPVCに関連付けられているすべてのネームスペースのポッドをリストします。
$ kubectl get pods --all-namespaces -o=json | jq -c '.items[] | {name: .metadata.name, namespace: .metadata.namespace, claimName: .spec | select(has("volumes")).volumes[] | select(has("persistentVolumeClaim")).persistentVolumeClaim.claimName} | select(.claimName != null)' {"name":"pod1_name","namespace":"namespace1_name","claimName":"claim1_name"} {"name":"pod2_name","namespace":"namespace1_name","claimName":"claim1_name"} {"name":"pod3_name","namespace":"namespace2_name","claimName":"claim2_name"}
現在のネームスペースでのみポッドをリストするには、
--all-namespaces
オプションを省略しない点を除き、前述のコマンドと同じコマンドを使用します。 -
PVCを使用しているすべてのポッドを削除します。
削除する
claimName
に関連付けられているkubectl get pods
コマンドでレポートされるポッド名を使用します。$ kubectl delete pod pod1_name pod2_name
-
PVCを削除します。
$ kubectl delete pvc claim1_name
-
(オプション) PVを削除します。
Persistent Volume Reclaim PolicyがDeleteの場合、このPVに関連付けられているすべてのPVCが削除されると、PVは自動的に削除されます。
すべてのPVCをリストするには、
kubectl get pvc
コマンドを使用します。「Persistent Volume Reclaim Policy」が「Retain」の場合、次のコマンドを使用してPVを削除できます。
$ kubectl delete pv pv_name