IBM Cloud Docs
Portworx の削除

Portworx の削除

Portworx ボリュームストレージ・ノード、または Portworx クラスター全体が不要になった場合は、それらを削除してください。

アプリからの Portworx ボリュームの削除

Portworx クラスターからアプリにストレージを追加した場合は、3 つの主要なコンポーネントが存在します。これらのコンポーネントは、そのストレージを要求した Kubernetes 永続ボリューム請求 (PVC)、ポッドにマウントされて PVC 内で記述されている Kubernetes 永続ボリューム (PV)、および Portworx クラスターの物理ディスク上のスペースをブロックする Portworx ボリュームです。 アプリからストレージを削除するには、すべてのコンポーネントを削除する必要があります。

  1. クラスターの 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
    
  2. ストレージ・クラスの ReclaimPolicy を確認します。

    kubectl describe storageclass <storageclass_name>
    

    回収ポリシーが Delete の場合は、PVC を削除すると、Portworx クラスター内の物理ストレージ上のデータと PV も削除されます。 回収ポリシーが Retain の場合、またはストレージ・クラスを指定せずにストレージをプロビジョンした場合は、PVC を削除しても、PV とデータは削除されません。 PVC、PV、およびデータを個別に削除する必要があります。

  3. PVC をマウントするすべてのポッドを削除します。

    1. 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 を使用するポッドがありません。

    2. PVC を使用するポッドを削除します。

      ポッドがデプロイメントの一部である場合は、デプロイメントを削除します。

      kubectl delete pod <pod_name>
      
    3. ポッドが削除されたことを確認します。

      kubectl get pods
      
  4. PVC を削除します。

    kubectl delete pvc <pvc_name>
    
  5. PV の状況を確認します。 先ほど取得した PV の名前を、VOLUME として使用します。

    kubectl get pv <pv_name>
    

    PVC を削除すると、PVC にバインドされている PV はリリースされます。 PV の状態は、ストレージをプロビジョンした方法に応じて、PV が自動的に削除された場合は Deleting 状態になり、PV を手動で削除する必要がある場合は Released 状態になります。 : 自動的に削除される PV の場合、削除が終わる前に一時的に状況が Released と表示されることがあります。 数分後にコマンドを再実行し、PV が削除されたことを確認してください。

  6. PV が削除されていない場合は、手動で PV を削除します。

    kubectl delete pv <pv_name>
    
  7. PV が削除されたことを確認します。

    kubectl get pv
    
  8. 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
    
  9. 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 とコンテナーを再始動すると、データ・ボリュームを再度使用できます。

始める前に: アカウントにログインします。 該当する場合は、適切なリソース・グループをターゲットにします。 クラスターのコンテキストを設定します。

  1. ibmcloud-storage-utilities リポジトリーを複製します。
    git clone https://github.com/IBM/ibmcloud-storage-utilities.git
    
  2. ディレクトリーを px-utils/px_cleanup ディレクトリーに変更します。
    cd ibmcloud-storage-utilities/px-utils/px_cleanup
    
  3. px_cleanup.shスクリプトを実行して、クラスターから DaemonSet を削除します。
    sh ./px_cleanup.sh
    

クラスターからの Portworx の削除

Portworxの課金を停止するには、クラスターから Portworx インストールを削除し、 IBM Cloud アカウントから Portworx サービス・インスタンスを削除する必要があります。

以下のステップでは、すべてのストレージ・ボリュームとそれらのボリューム上のデータを含めて、クラスターから Portworx を削除します。

  1. Portworx の資料に従って、 Portworxをアンインストールします

  2. Portworx ボリューム接続、PVC、および PV をクリーンアップします。

    1. ボリューム接続をリストします。

      kubectl get volumeattachments
      
    2. Portworx ボリューム接続を削除します。

      kubectl delete volumeattachments ATTACHMENT-NAME
      
    3. px-do-not-delete という名前で始まる PVC を削除します。

      kubectl delete pvc px-do-not-delete-*** -n PORTWOX-NAMESPACE
      
    4. Portworx 用に作成され、 Released 状態になっている PV を削除します。

      kubectl delete pv PV-NAME
      
  3. IBM Cloud アカウントから Portworx サービス・インスタンスを削除します。

    1. IBM Cloud のリソース・リストで、作成した Portworx サービスを見つけます。
    2. アクション・メニューから、削除をクリックします。
    3. **「削除」**をクリックして、サービス・インスタンスを削除することを確認します。