Portworx の削除
Portworx ボリューム、ストレージ・ノード、または Portworx クラスター全体が不要になった場合は、それらを削除してください。
アプリからの Portworx ボリュームの削除
Portworx クラスターからアプリにストレージを追加した場合は、3 つの主要なコンポーネントが存在します。これらのコンポーネントは、そのストレージを要求した Kubernetes 永続ボリューム請求 (PVC)、ポッドにマウントされて PVC 内で記述されている Kubernetes 永続ボリューム (PV)、および Portworx クラスターの物理ディスク上のスペースをブロックする Portworx ボリュームです。 アプリからストレージを削除するには、すべてのコンポーネントを削除する必要があります。
-
クラスターの PVC をリストし、PVC の NAME、および PVC にバインドされていて VOLUME として表示されている PV の名前をメモします。
kubectl get pvc
出力例
NAME STATUS VOLUME CAPACITY ACCESSMODES STORAGECLASS AGE px-pvc Bound pvc-06886b77-102b-11e8-968a-f6612bb731fb 20Gi RWO px-high 78d
-
ストレージ・クラスの
ReclaimPolicy
を確認します。kubectl describe storageclass <storageclass_name>
回収ポリシーが
Delete
の場合は、PVC を削除すると、Portworx クラスター内の物理ストレージ上のデータと PV も削除されます。 回収ポリシーがRetain
の場合、またはストレージ・クラスを指定せずにストレージをプロビジョンした場合は、PVC を削除しても、PV とデータは削除されません。 PVC、PV、およびデータを個別に削除する必要があります。 -
PVC をマウントするすべてのポッドを削除します。
-
PVC をマウントするポッドをリストします。
kubectl get pods --all-namespaces -o=jsonpath='{range .items[*]}{"\n"}{.metadata.name}{":\t"}{range .spec.volumes[*]}{.persistentVolumeClaim.claimName}{" "}{end}{end}' | grep "<pvc_name>"
出力例
blockdepl-12345-prz7b: claim1-block-bronze
CLI 出力でポッドが返されない場合は、PVC を使用するポッドがありません。
-
PVC を使用するポッドを削除します。
ポッドがデプロイメントの一部である場合は、デプロイメントを削除します。
kubectl delete pod <pod_name>
-
ポッドが削除されたことを確認します。
kubectl get pods
-
-
PVC を削除します。
kubectl delete pvc <pvc_name>
-
PV の状況を確認します。 先ほど取得した PV の名前を、VOLUME として使用します。
kubectl get pv <pv_name>
PVC を削除すると、PVC にバインドされている PV はリリースされます。 PV の状態は、ストレージをプロビジョンした方法に応じて、PV が自動的に削除された場合は
Deleting
状態になり、PV を手動で削除する必要がある場合はReleased
状態になります。 注: 自動的に削除される PV の場合、削除が終わる前に一時的に状況がReleased
と表示されることがあります。 数分後にコマンドを再実行し、PV が削除されたことを確認してください。 -
PV が削除されていない場合は、手動で PV を削除します。
kubectl delete pv <pv_name>
-
PV が削除されたことを確認します。
kubectl get pv
-
Portworx ボリュームが削除されたことを確認します。 クラスター内のいずれかの Portworx ポッドにログインして、ボリュームをリスト表示します。 使用可能な Portworx ポッドを確認するには、
kubectl get pods -n kube-system | grep portworx
を実行します。kubectl exec <portworx-pod> -it -n kube-system -- /opt/pwx/bin/pxctl volume list
-
Portworx ボリュームが削除されていない場合は、このボリュームを手動で削除します。
kubectl exec <portworx-pod> -it -n kube-system -- /opt/pwx/bin/pxctl volume delete <volume_ID>
Portworx クラスターからのワーカー・ノードの削除、または Portworx クラスター全体の削除
Portworx を使用しなくなった場合、Portworx クラスターからワーカー・ノードを除外したり、Portworx クラスター全体を削除したりすることができます。
Portworx クラスターを削除すると、Portworx クラスター内のすべてのデータが削除されます。 必ず、 データのスナップショットを作成し、このスナップショットをクラウドに保存してください。
- Portworx クラスターからワーカー・ノードを削除する: Portworx を実行しておりデータを Portworx クラスターに保管しているワーカー・ノードを削除する場合は、既存のポッドを残りのワーカー・ノードにマイグレーションしてから、そのノードから Portworx をアンインストールする必要があります。 詳しくは、 Kubernetesでの Portworx ノードの廃止を参照してください。
- Portworx DaemonSet の削除: Portworx DaemonSet を削除すると、Portworx コンテナーがワーカー・ノードから削除されます。 ただし、ワーカー・ノードとストレージ・デバイス上に Portworx 構成ファイルは残り、データ・ボリュームもそのまま残ります。 同じ構成ファイルを使用して Portworx DaemonSet とコンテナーを再始動すると、データ・ボリュームを再度使用できます。 詳しくは、 Portworx DaemonSet の削除を参照してください。
- クラスターから Portworx を削除します。 クラスターから Portworx とすべてのデータを削除するには、クラスターから Portworx の削除 の手順に従います。
Portworx DaemonSet の削除
Portworx DaemonSet を削除すると、Portworx コンテナーがワーカー・ノードから削除されます。 ただし、ワーカー・ノードとストレージ・デバイス上に Portworx 構成ファイルは残り、データ・ボリュームもそのまま残ります。 同じ構成ファイルを使用して Portworx DaemonSet とコンテナーを再始動すると、データ・ボリュームを再度使用できます。
始める前に: アカウントにログインします。 該当する場合は、適切なリソース・グループをターゲットにします。 クラスターのコンテキストを設定します。
ibmcloud-storage-utilities
リポジトリーを複製します。git clone https://github.com/IBM/ibmcloud-storage-utilities.git
- ディレクトリーを
px-utils/px_cleanup
ディレクトリーに変更します。cd ibmcloud-storage-utilities/px-utils/px_cleanup
px_cleanup.sh
スクリプトを実行して、クラスターから DaemonSet を削除します。sh ./px_cleanup.sh
クラスターからの Portworx の削除
Portworxの課金を停止するには、クラスターから Portworx インストールを削除し、 IBM Cloud アカウントから Portworx サービス・インスタンスを削除する必要があります。
以下のステップでは、すべてのストレージ・ボリュームとそれらのボリューム上のデータを含めて、クラスターから Portworx を削除します。
-
Portworx の資料に従って、 Portworxをアンインストールします。
-
Portworx ボリューム接続、PVC、および PV をクリーンアップします。
-
ボリューム接続をリストします。
kubectl get volumeattachments
-
Portworx ボリューム接続を削除します。
kubectl delete volumeattachments ATTACHMENT-NAME
-
px-do-not-delete
という名前で始まる PVC を削除します。kubectl delete pvc px-do-not-delete-*** -n PORTWOX-NAMESPACE
-
Portworx 用に作成され、
Released
状態になっている PV を削除します。kubectl delete pv PV-NAME
-
-
IBM Cloud アカウントから Portworx サービス・インスタンスを削除します。
- IBM Cloud のリソース・リストで、作成した Portworx サービスを見つけます。
- アクション・メニューから、削除をクリックします。
- **「削除」**をクリックして、サービス・インスタンスを削除することを確認します。