IBM Cloud File Storage for VPCの管理
クラスタに永続ストレージを設定する場合、ストレージを要求する Kubernetes 永続ボリューム要求(PVC)、ポッドにマウントされPVCに記述される Kubernetes 永続ボリューム(PV)、ファイル共有の3つの主要コンポーネントがあります。 ストレージの作成方法によっては、3 つのコンポーネントすべてを個別に削除しなければならない場合があります。
アドオンには以下の制限が適用されます。
- クラスターと VPC は同じリソース グループに含めることをお勧めします。 クラスターと VPC が別々のリソース グループにある場合は、ファイル共有をプロビジョニングする前に、独自のストレージ クラスを作成し、VPC リソース グループ ID を指定する必要があります。 詳細については、独自のストレージクラスを作成する。
- クラスターバージョンで新しいセキュリティグループルールが導入されました1.25以降。 これらのルールの変更により、セキュリティグループを同期してから使用する必要があります。File Storage for VPC 。 詳細については、追加File Storage for VPCアプリへ。
- バージョンで新しいストレージクラスが追加されました2.0アドオンの。 古いストレージ クラスを使用する新しいファイル共有をプロビジョニングすることはできなくなります。 古いストレージ クラスを使用する既存のボリュームは引き続き機能しますが、古いクラスを使用して作成されたボリュームを拡張することはできません。 詳細については、新しいストレージクラスへの移行。
File Storage for VPC クラスター・アドオンの更新
アカウントにログインします。 該当する場合は、適切なリソース・グループをターゲットにします。 クラスターのコンテキストを設定します。
-
クラスター ID を取得します。
ibmcloud ks cluster ls
-
利用可能なアドオンのバージョンを確認する。
ibmcloud ks cluster addon versions
-
アドオンを無効にします。
ibmcloud ks cluster addon disable vpc-file-csi-driver --cluster CLUSTER
-
新しいバージョンのアドオンを有効にします。
ibmcloud ks cluster addon enable vpc-file-csi-driver --cluster CLUSTER --version VERSION
-
以下のコマンドを実行して、アドオンが有効になっていることを確認します。
kubectl get deploy -n kube-system | grep file
ibm-vpc-file-csi-controller 2/2 2 2 13m
kubectl get ds -n kube-system | grep file
ibm-vpc-file-csi-node 2 2 2 2 2 <none> 14m
kubectl get pods -n kube-system | grep file
ibm-vpc-file-csi-controller-7899db784-kc29g 5/5 Running 0 14m ibm-vpc-file-csi-controller-7899db784-mp5jt 5/5 Running 0 14m ibm-vpc-file-csi-node-bfqdz 4/4 Running 0 14m ibm-vpc-file-csi-node-n7jbx 4/4 Running 0 14m
コンフィグマップでリソースとリクエストの上限を設定する
-
以下のコマンドを実行して、configmap を編集します。
kubectl edit cm addon-vpc-file-csi-driver-configmap -n kube-system
出力例。
apiVersion: v1 data: CSIBlockDriverCPULimit: 300m CSIBlockDriverCPURequest: 75m CSIBlockDriverMemoryLimit: 600Mi CSIBlockDriverMemoryRequest: 150Mi CSIDriverRegistrarCPULimit: 40m CSIDriverRegistrarCPURequest: 10m CSIDriverRegistrarMemoryLimit: 80Mi CSIDriverRegistrarMemoryRequest: 20Mi CSILivenessProbeCPULimit: 20m CSILivenessProbeCPURequest: 5m CSILivenessProbeMemoryLimit: 40Mi CSILivenessProbeMemoryRequest: 10Mi CSINodeDriverCPULimit: 120m CSINodeDriverCPURequest: 30m CSINodeDriverMemoryLimit: 300Mi CSINodeDriverMemoryRequest: 75Mi CSIProvisionerCPULimit: 80m CSIProvisionerCPURequest: 20m CSIProvisionerMemoryLimit: 160Mi CSIProvisionerMemoryRequest: 40Mi CSIResizerCPULimit: 80m CSIResizerCPURequest: 20m CSIResizerMemoryLimit: 160Mi CSIResizerMemoryRequest: 40Mi EIT_ENABLED_WORKER_POOLS: "" ENABLE_EIT: "false" SET_DEFAULT_STORAGE_CLASS: "" SecretSidecarCPULimit: 60m SecretSidecarCPURequest: 15m SecretSidecarMemoryLimit: 80Mi SecretSidecarMemoryRequest: 20Mi kind: ConfigMap metadata: annotations: revision: "2" version: v2.0 creationTimestamp: "2025-06-19T11:23:13Z" labels: app.kubernetes.io/name: ibm-vpc-file-csi-driver name: addon-vpc-file-csi-driver-configmap
-
必要に応じてパラメータを編集し、ファイルを保存する。
アドオンの無効化
vpc-file-csi-driver
を無効にすると、転送中の暗号化パッケージがワーカー・ノードから削除されます。
-
以下のコマンドを実行してアドオンを無効にする。
ibmcloud ks cluster addon disable --addon vpc-file-csi-driver --cluster CLUSTER
-
ポッドが削除されたことを確認します。
kubectl get pods -n kube-system | grep file
ストレージ削除オプションについて
タグ付けは、バージョン 1.2ではサポートされていませんでした。 これは、 --force-delete-storage
オプションを指定してクラスターを削除すると、ファイル共有の削除に影響します。 クラスターを削除する前に、バージョン 1.2 のアドオンで作成されたすべての PVC をクリーンアップしてください。
IBM Cloud アカウントから永続ストレージを削除する方法は、ストレージをプロビジョンした方法と、どのコンポーネントを既に削除したかによって異なります。
- クラスタを削除すると永続ストレージは削除されますか?
- クラスターの削除中に、永続ストレージの削除を選択できます。 ただし、ストレージをプロビジョンした方法によっては、ストレージの削除にすべてのストレージ・コンポーネントが含まれない場合があります。
reclaimPolicy: Delete
を設定するストレージクラスでストレージを動的にプロビジョニングした場合、クラスターを削除する と、PVC、PV、およびストレージインスタンスは自動的に削除されます。 静的にプロビジョニングされたストレージ、またはreclaimPolicy: Retain
を設定するストレージクラスでプロビジョニングしたストレージの場合、クラスタを削除するとPVCとPVは削除されますが、ストレージインスタンスとデータは残ります。 ストレージ・インスタンスは引き続き課金されます。 また、クラスターを正常でない状態で削除した場合は、ストレージを削除することを選択していても、ストレージがまだ存在している可能性があります。 - クラスターを維持したい場合、ストレージを削除するにはどうすればよいですか?
reclaimPolicy: Delete
を設定するストレージ・クラスを使用してストレージを動的にプロビジョンした場合、PVC を削除することにより、永続ストレージの削除プロセスを開始できます。 PVC、PV、およびストレージ・インスタンスは自動的に削除されます。 静的にプロビジョニングされたストレージ、またはreclaimPolicy: Retain
を設定するストレージクラスでプロビジョニングしたストレージについては、さらなる課金を避けるために、PVC、PV、およびストレージインスタンスを手動で削除する必要があります。- ストレージを削除した後、課金はどのように停止されますか?
- 削除するストレージ・コンポーネントとそのタイミングによっては、請求処理サイクルが即時に停止しない場合があります。 PVC と PV を削除しても、IBM Cloud アカウントのストレージ・インスタンスを削除しなかった場合は、そのインスタンスがまだ存在するので課金されます。
PVC、PV、およびストレージ・インスタンスを削除すると、ストレージのプロビジョン時に選択した billingType
およびストレージの削除方法に応じて、請求処理サイクルが停止します。
-
IBM Cloud コンソールまたはCLIから永続ストレージインスタンスを手動でキャンセルすると、課金は次のように停止します:
- 時間単位のストレージの場合: 課金は即座に停止されます。 ストレージが取り消された後も、最大で 72 時間、コンソールに引き続きそのストレージ・インスタンスが表示される可能性があります。
- 月単位のストレージの場合: 即時取り消しまたは確定日に取り消しのいずれかを選択できます。 いずれの場合も、現在の請求処理サイクルの終わりまで課金され、次の請求処理サイクルで課金が停止します。 ストレージを取り消した後も、最大 72 時間、コンソールまたは CLI に引き続きそのストレージ・インスタンスが表示される可能性があります。
- 即時キャンセル: ストレージを即時に削除するには、このオプションを選択します。 お客様もお客様のユーザーも、ストレージの使用やデータのリカバリーをすることとができなくなります。
- 確定日: 次の確定日にストレージを取り消すには、このオプションを選択します。 ストレージ・インスタンスは次回の確定日までアクティブのままになり、この日付までは引き続き使用できます (例えば、チームにデータのバックアップを作成する時間を与えることができます)。
-
reclaimPolicy: Delete
を設定するストレージ・クラスを使用してストレージを動的にプロビジョンし、PVC の削除を選択すると、PV およびストレージ・インスタンスは即時に削除されます。 時間単位で課金されるストレージの場合、請求処理は即時に停止します。 月単位で課金されるストレージの場合、その月の最後まで引き続き請求されます。 ストレージが削除されて請求処理が停止した後も、最大で 72 時間、コンソールまたは CLI に引き続きそのストレージ・インスタンスが表示される可能性があります。
- 永続的ストレージを削除する前に注意すべきことは?
- 永続ストレージをクリーンアップすると、保管されているすべてのデータが削除されます。 データのコピーが必要な場合は、バックアップを作成してください。
- ストレージインスタンスを削除した。 自分のインスタンスがまだ表示されるのはなぜですか?
- 永続ストレージを削除した後、削除の処理が完了して、そのストレージが IBM Cloud コンソールまたは CLI に表示されなくなるまでに、最大 72 時間かかる可能性があります。
永続ストレージのクリーンアップ
永続ストレージに対する追加料金が発生することを回避するために、PVC、PV、およびストレージ・インスタンスを IBM Cloud アカウントから削除します。
始める前に
- 保持するデータをすべてバックアップしたことを確認します。
- アカウントにログインします。 該当する場合は、適切なリソース・グループをターゲットにします。 クラスターのコンテキストを設定します。
永続データをクリーンアップするには、次の手順を実行します。
-
クラスターの PVC をリストし、PVC の
NAME
、STORAGECLASS
、および PVC にバインドされていてVOLUME
として表示されている PV の名前をメモします。kubectl get pvc
出力例
NAME STATUS VOLUME CAPACITY ACCESSMODES STORAGECLASS AGE claim1 Bound pvc-06886b77-102b-11e8-968a-f6612bb731fb 20Gi RWO class 78d claim2 Bound pvc-457a2b96-fafc-11e7-8ff9-b6c8f770356c 4Gi RWX class 105d claim3 Bound pvc-1efef0ba-0c48-11e8-968a-f6612bb731fb 24Gi RWX class 83d
-
ストレージ・クラスの
ReclaimPolicy
とbillingType
を確認します。kubectl describe storageclass <storageclass_name>
回収ポリシーが
Delete
の場合は、PVC を削除すると、PV と物理ストレージも削除されます。 回収ポリシーがRetain
の場合、またはストレージ・クラスを指定せずにストレージをプロビジョンした場合は、PVC を削除しても、PV と物理ストレージは削除されません。 PVC、PV、および物理ストレージを個別に削除する必要があります。ストレージの課金が月単位の場合は、課金サイクルの終了前にストレージを削除しても、その月の月額料金が課金されます。
-
PVC をマウントするすべてのポッドを削除します。 PVC をマウントするポッドをリストします。 CLI 出力でポッドが返されない場合は、PVC を使用するポッドがありません。
kubectl get pods --all-namespaces -o=jsonpath='{range .items[*]}{"\n"}{.metadata.name}{":\t"}{range .spec.volumes[*]}{.persistentVolumeClaim.claimName}{" "}{end}{end}' | grep "<pvc_name>"
出力例
depl-12345-prz7b: claim1
-
PVC を使用するポッドを削除します。 ポッドがデプロイメントの一部である場合は、デプロイメントを削除します。
kubectl delete pod <pod_name>
-
ポッドが削除されたことを確認します。
kubectl get pods
-
PVC を削除します。
kubectl delete pvc <pvc_name>
-
PV の状況を確認します。 先ほど取得した PV の名前を、
VOLUME
として使用します。 PVC を削除すると、PVC にバインドされている PV はリリースされます。 PV の状態は、ストレージをプロビジョンした方法に応じて、PV が自動的に削除された場合はDeleting
状態になり、PV を手動で削除する必要がある場合はReleased
状態になります。 注: 自動的に削除される PV の場合、削除が終わる前に一時的に状況がReleased
と表示されることがあります。 数分後にコマンドを再実行し、PV が削除されたことを確認してください。kubectl get pv <pv_name>
-
PV が削除されていない場合は、手動で PV を削除します。
kubectl delete pv <pv_name>
-
PV が削除されたことを確認します。
kubectl get pv
-
共有をリストします。
ibmcloud is shares
-
各ファイル共有をリストし、関連するクラスター ID を見つけます。
ibmcloud is share SHARE | grep CLUSTER-ID
-
共有を削除します。
ibmcloud is share-delete (SHARE1 SHARE2 ...)