IBM Cloud Docs
ローカル・ストレージ-ファイルおよびブロック

ローカル・ストレージ-ファイルおよびブロック

IBM Cloud Satellite® クラスターのローカル・ブロック・ボリュームまたはファイル・ボリュームを使用して永続ストレージをセットアップします。 Satellite ストレージ・テンプレートを使用して、ストレージ構成を作成できます。 ストレージ構成をクラスターに割り当てると、選択したストレージ・プロバイダーのストレージ・ドライバーがクラスターにインストールされます。

前提条件

ローカルストレージ構成を作成する前に、必要な利用可能ディスクを持つクラスタ内のワーカーノードを特定する必要があります。 そして、それらのワーカー・ノードだけにローカル・ストレージ・ドライバーをインストールするために、それらのワーカー・ノードにラベルを付けます。

  1. 以下の権限があることを確認してください。

    • 請求サービスの 「エディター」
    • Manager および Editor for Kubernetes サービス。
    • Satellite サービスの Satellite Link 管理者 および リーダー
  2. Satellite ロケーションを作成します

  3. Satellite クラスターを作成します

    • クラスターを作成するときに、 「 Satellite 構成のクラスター管理アクセスを有効にする」 オプションを選択していることを確認します。 クラスターの作成時に Satellite の管理者 (管理者) アクセス権限を有効にしない場合、ストレージをデプロイする前に、クラスターを再作成し、管理者アクセス権限を有効にする必要があります。
  4. ローカル・ストレージ・オペレーターをデプロイします。 ローカル・ファイル・ストレージまたはブロック・ストレージをセットアップするには、ローカル・ストレージ・オペレーターをデプロイする必要があります。

  5. ストレージ構成で使用するクラスター内のワーカー・ノードには、Satellite に必要なディスクのほかに、使用可能なローカル・ディスクが 1 台以上ある必要があります。 この追加のディスクは未フォーマットでなければなりません。

  6. ワーカー・ノードのデバイスの詳細を取得します。

  7. 使用可能なディスクがあるワーカー・ノードのうち、構成で使用するワーカー・ノードにラベルを付けます。 ローカル・ストレージ・ドライバーは、ラベルの付いたワーカー・ノードだけにインストールされます。

ローカルストレージ構成のデバイス詳細の取得

ローカル・ストレージ構成を作成する際、使用するデバイスを指定する必要があります。 以下の手順で取得したデバイス・パスを、構成の作成時にパラメーターとして指定します。

  1. クラスターにログインし、使用可能なワーカー・ノードのリストを取得します。 構成で使用するワーカー・ノードをメモします。

    oc get nodes
    
  2. ローカル・ストレージ構成で使用する各ワーカー・ノードにログインします。

    oc debug node/<node-name>
    
  3. ワーカー・ノードにデバッグ・ポッドがデプロイされている場合は、以下のコマンドを実行してワーカー・ノードの使用可能なディスクをリストします。

    1. ホスト・バイナリーを許可します。

      chroot /host
      
    2. デバイスをリストします。

      lsblk
      
    3. デバイスの詳細を取得します。 使用するデバイスが、未マウントかつ未フォーマットであることを確認します。

      fdisk -l
      
  4. ワーカー・ノードの使用可能なブロック・ストレージ・ディスクをリストします。 ローカル・ストレージ構成には、未マウントのディスクを使用する必要があります。 以下の lsblk コマンドの出力例では、nvme2n1 ディスクが未マウントであり、パーティションも作成されていません。

    NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    nvme0n1     259:3    0   100G  0 disk
    |-nvme0n1p1 259:4    0     1M  0 part
    `-nvme0n1p2 259:5    0   100G  0 part /
    nvme1n1     259:0    0    20G  0 disk
    nvme2n1     259:1    0    20G  0 disk
    nvme3n1     259:2    0 139.7G  0 disk /var/data
    
  5. ローカルストレージ構成に使用するワーカーノードごとに、前の手順を繰り返します。

ワーカー・ノードにラベルを付ける

構成で使用するディスクのデバイス・パスを取得したら、それらのディスクがあるワーカー・ノードにラベルを付けます。

  1. ワーカー・ノードの IP アドレスを取得します。

    oc get nodes
    
  2. 先ほど取得したワーカー・ノードにラベルを付けます。 ローカル・ストレージ・ドライバーは、このラベルの付いたワーカー・ノードにデプロイされます。 このコマンドの例の storage=local-block ラベルを使用することも、key=value 形式で独自のラベルを作成することもできます。

    oc label nodes <worker-IP> <worker-IP> <worker-IP> "storage=local-block"
    

    出力例

    node/<worker-IP> labeled
    node/<worker-IP> labeled
    node/<worker-IP> labeled
    
  3. 使用するワーカー・ノードにラベルが追加されていることを確認します。 以下のコマンドを実行してワーカー・ノードのラベルを表示し、前の手順で追加したラベルに絞り込みます。

    oc get nodes --show-labels | grep --color=always storage=local-block
    

コンソールでの構成の作成と割り当て

  1. パラメーターのリファレンスを確認します

  2. Locationsコンソールから、ストレージ構成を作成する場所を選択します。

  3. ストレージ > ストレージ構成の作成を選択します。

  4. 構成の名前を入力します。

  5. ストレージタイプを選択します。

  6. バージョンを選択し、「へ」をクリックします

  7. 選択した 「ストレージ・タイプ」 がカスタム・パラメーターを受け入れる場合は、 「パラメーター」 タブでそれらのパラメーターを入力します。

  8. 選択した ストレージ・タイプ にシークレットが必要な場合は、 「シークレット (Secrets)」 タブに入力します。

  9. ストレージ・クラスタブで、構成によってデプロイされたストレージ・クラスを確認するか、カスタム・ストレージ・クラスを作成します。

  10. サービスへの割り当てタブで、構成の割り当て先となるサービスを選択します。

  11. 完了をクリックして、ストレージ構成を割り当てます。

CLI での構成の作成

  1. 使用するテンプレート・バージョンの パラメーター・リファレンス を確認します。

  2. IBM Cloud CLI にログインします。

    ibmcloud login
    
  3. Satellite ロケーションをリストして、Managed from 列をメモします。

    ibmcloud sat location ls
    
  4. Satellite ロケーションの Managed from リージョンをターゲットにします。 例えば、wdc の場合は、us-east をターゲットにします。 詳しくは、Satellite リージョンを参照してください。

    ibmcloud target -r us-east
    
  5. default 以外のリソース・グループを使用する場合は、そのリソース・グループをターゲットにします。

    ibmcloud target -g <resource-group>
    
  6. 使用するテンプレート・バージョンについて、以下のいずれかのコマンド例をコピーします。 コマンドについて詳しくは、 コマンド・リファレンスibmcloud sat storage config create を参照してください。

    バージョン 1.0.0 の構成を作成するコマンドの例。

    ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-storage --template-version 1.0.0 --param "install-local-storage-file=INSTALL-LOCAL-STORAGE-FILE"  --param "auto-discover-devices-file=AUTO-DISCOVER-DEVICES-FILE"  [--param "file-nodes-label-key=FILE-NODES-LABEL-KEY"]  [--param "file-nodes-label-value=FILE-NODES-LABEL-VALUE"]  [--param "file-devicepath=FILE-DEVICEPATH"]  --param "fstype=FSTYPE"  --param "install-local-storage-block=INSTALL-LOCAL-STORAGE-BLOCK"  --param "auto-discover-devices-block=AUTO-DISCOVER-DEVICES-BLOCK"  [--param "block-nodes-label-key=BLOCK-NODES-LABEL-KEY"]  [--param "block-nodes-label-value=BLOCK-NODES-LABEL-VALUE"]  [--param "block-devicepath=BLOCK-DEVICEPATH"]
    
  7. 使用する設定に基づいて、コマンドをカスタマイズします。

  8. コマンドを実行してコンフィギュレーションを作成する。

  9. コンフィギュレーションが作成されたことを確認する。

    ibmcloud sat storage config get --config CONFIG
    

API での構成の作成

  1. API キーを生成してから、リフレッシュ・トークンを要求します。 詳しくは、API キーを使用した IBM Cloud IAM トークンの生成を参照してください。

  2. 使用するテンプレート・バージョンの パラメーター・リファレンス を確認します。

  3. 以下のいずれかの要求例をコピーし、使用する変数を置き換えます。

    バージョン 1.0.0 の構成を作成する要求の例。

    curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createStorageConfigurationByController" -H "accept: application/json" -H "Authorization: TOKEN" -H "Content-Type: application/json" -d "{ \"config-name\": \"string\", \"controller\": \"string\", \"storage-class-parameters\": [ { \"additionalProp1\": \"string\", \"additionalProp2\": \"string\", \"additionalProp3\": \"string\" } ], \"storage-template-name\": \"local-storage\", \"storage-template-version\": \"1.0.0\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"INSTALL-LOCAL-STORAGE-FILE\", { \"entry.name\": \"AUTO-DISCOVER-DEVICES-FILE\", { \"entry.name\": \"FILE-NODES-LABEL-KEY\", { \"entry.name\": \"FILE-NODES-LABEL-VALUE\", { \"entry.name\": \"FILE-DEVICEPATH\", { \"entry.name\": \"FSTYPE\", { \"entry.name\": \"INSTALL-LOCAL-STORAGE-BLOCK\", { \"entry.name\": \"AUTO-DISCOVER-DEVICES-BLOCK\", { \"entry.name\": \"BLOCK-NODES-LABEL-KEY\", { \"entry.name\": \"BLOCK-NODES-LABEL-VALUE\", { \"entry.name\": \"BLOCK-DEVICEPATH\",\"user-secret-parameters\": }
    

CLIで課題を作成する

  1. ストレージ構成をリストアップし、クラスタに割り当てるストレージ構成をメモしておきます。

    ibmcloud sat storage config ls
    
  2. ストレージを割り当てるクラスタ、クラスタグループ、またはサービスのIDを取得します。

    クラスターが Satellite Config に登録されていることを確認したり、グループを作成したりするには、Satellite Config で使用するためのクラスターのセットアップを参照してください。

    クラスター・グループをリストするコマンドの例。

    ibmcloud sat group ls
    

    クラスターをリストするコマンドの例。

    ibmcloud oc cluster ls --provider satellite
    

    Satellite サービスをリストするコマンドの例。

    ibmcloud sat service ls --location <location>
    
  3. 以前に取得したクラスター、グループ、またはサービスにストレージ構成を割り当てます。 詳しくは、ibmcloud sat storage assignment create コマンドを参照してください。

    クラスター・グループに構成を割り当てるコマンドの例。

    ibmcloud sat storage assignment create --group GROUP --config CONFIG --name NAME
    

    クラスターに構成を割り当てるコマンドの例。

    ibmcloud sat storage assignment create --cluster CLUSTER --config CONFIG --name NAME
    

    サービス・クラスターに構成を割り当てるコマンドの例。

    ibmcloud sat storage assignment create --service-cluster-id CLUSTER --config CONFIG --name NAME
    
  4. 割り当てが作成されたことを確認します。

    ibmcloud sat storage assignment ls (--cluster CLUSTER | --config CONFIG | --location LOCATION | --service-cluster-id CLUSTER)
    

API でのストレージ割り当ての作成

  1. 以下のいずれかの要求例をコピーします。

    構成をクラスターに割り当てる要求の例。

    curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createAssignmentByCluster" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d "{ \"channelName\": \"CONFIGURATION-NAME\", \"cluster\": \"CLUSTER-ID\", \"controller\": \"LOCATION-ID\", \"name\": \"ASSIGNMENT-NAME\"}"
    

    クラスター・グループに構成を割り当てる要求の例。

    curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createAssignment" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d "{ \"channelName\": \"CONFIGURATION-NAME\", \"cluster\": \"string\", \"groups\": [ \"CLUSTER-GROUP\" ], \"name\": \"ASSIGNMENT-NAME\"}"
    
  2. 変数を自分の詳細に置き換え、要求を実行します。

  3. 割り当てをリストして、割り当てが作成されたことを確認します。

    curl -X GET "https://containers.cloud.ibm.com/global/v2/storage/satellite/getAssignments" -H "accept: application/json" -H "Authorization: Bearer TOKEN"
    

コンソールでのストレージ割り当ての更新

Satellite コンソール を使用して、割り当てに最新のパッチ更新を適用できます。

  1. Satellite コンソール「ロケーション」 ページで、ロケーションを選択します。

  2. 「ストレージ」 タブをクリックして、構成を表示します。

  3. 更新したい設定をクリックします。

  4. 「情報」 (i) アイコンをクリックして、最新のリビジョンまたはパッチを適用します。

  5. オプション: ストレージ割り当ての自動パッチ更新を有効にします。 自動パッチ更新を有効にすると、割り当てに常に最新のセキュリティー・フィックスが適用されます。

自動パッチ更新を有効にした場合でも、メジャー更新を手動で適用する必要があります。

CLI での割り当ての手動アップグレード

最新のストレージ・テンプレート・リビジョンを使用するように割り当てをアップグレードします。

  1. Satellite ストレージ割り当てをリストし、アップグレードする Satellite 割り当てを書き留めます。

    ibmcloud sat storage assignment ls
    
  2. Satellite ストレージ・テンプレートをリストして、使用可能な最新バージョンを確認します。

    ibmcloud sat storage template ls
    
  3. Satellite 割り当てをアップグレードします。

    割り当てをアップグレードするコマンドの例。

    ibmcloud sat storage assignment upgrade --assignment ASSIGNMENT
    

CLI での構成および割り当ての自動パッチ更新の有効化

sat storage assignment autopatch enable CLI を使用して、割り当ての自動パッチ更新を有効にすることができます。 自動パッチ更新を有効にすると、最新のストレージ・テンプレート・リビジョン (パッチ) が自動的に適用されます。 ただし、メジャー更新は手動で適用する必要があります。

  1. Satellite ストレージ構成をリストします。 コンフィギュレーションIDをメモしておく。

    ibmcloud sat storage assignment ls
    
  2. 以下のいずれかのコマンド例を実行して、ご使用の構成とその関連割り当てに対して自動パッチ更新を有効にします。 前のステップで取得したコンフィグレーションIDを入力します。

    割り当ての自動パッチ更新を有効にするコマンドの例。

    ibmcloud sat storage assignment autopatch enable --config CONFIG  (--all | --assignment ASSIGNMENT-ID [--assignment ASSIGNMENT-ID])
    

    指定された構成下のすべてのストレージ割り当てに対して自動パッチ更新を有効にするコマンド例。

    ibmcloud sat storage assignment autopatch enable --config CONFIG --all
    

    特定の構成下のすべての割り当てに対して自動パッチ更新を無効にするコマンドの例。

    ibmcloud sat storage assignment autopatch disable --config CONFIG --all
    

    単一の割り当ておよび特定の構成に対して自動パッチ更新を無効にするコマンドの例。

    ibmcloud sat storage assignment autopatch disable --config CONFIG --assignment ASSIGNMENT-ID
    

    複数の割り当ておよび特定の構成に対する自動パッチ更新を無効にするコマンド例。

    ibmcloud sat storage assignment autopatch disable --config CONFIG --assignment ASSIGNMENT-ID --assignment ASSIGNMENT-ID
    

CLI での構成の手動アップグレード

Satelliteストレージ構成をアップグレードして、同じメジャーバージョン内で最新のストレージテンプレートリビジョンを取得することができます。

  1. Satellite ストレージ構成をリストし、アップグレードする Satellite 構成を書き留めます。

    ibmcloud sat storage config ls
    
  2. Satellite 構成をアップグレードします。 更新されるのは構成のみであることに注意してください。 この構成を使用する割り当てをアップグレードする場合は、--include-assignmentsオプションを指定するか、assignment updateコマンドを使用して各割り当てを手動で更新することができます。

    構成を最新リビジョンにアップグレードするためのコマンド例。

    ibmcloud sat storage config upgrade --config CONFIG [--include-assignments]
    

    構成とその関連割り当てを最新リビジョンにアップグレードするためのサンプル・コマンド。

    ibmcloud sat storage config upgrade --config CONFIG --include-assignments
    

API での構成と割り当てのアップグレード

/v2/storage/satellite/updateAssignment API を使用して、新しいクラスターまたはクラスター・グループで割り当てを更新できます。 改訂の更新を適用するには、 updateConfigVersiontrue に設定します。

  1. 以下の要求例をコピーし、更新するクラスター・グループおよび割り当ての変数を置き換えます。

    curl -X PATCH "https://containers.cloud.ibm.com/global/v2/storage/satellite/updateAssignment" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d "{ \"groups\": [ \"CLUSTER-GROUPS\" ], \"name\": \"ASSIGNMENT-NAME\", \"updateConfigVersion\": true, \"uuid\": \"ASSIGNMENT-ID\"}"
    
  2. 要求を実行します。

  3. 更新を確認するために割り当ての詳細を取得します。

    curl -X GET "https://containers.cloud.ibm.com/global/v2/storage/satellite/getAssignment?uuid=ASSIGNMENT-ID" -H "accept: application/json" -H "Authorization: Bearer TOKEN"
    

API での割り当ての自動パッチ更新の有効化

/v2/storage/satellite/setAssignmentAutoupgrade API を使用して、割り当ての自動パッチ更新を有効にすることができます。 自動パッチ更新を有効にすると、最新のストレージ・テンプレート・リビジョン (パッチ) が自動的に適用されます。 ただし、メジャー更新は手動で適用する必要があります。

  1. 以下の要求例をコピーし、更新するクラスター・グループおよび割り当ての変数を置き換えます。

    curl -X PATCH "https://containers.cloud.ibm.com/global/v2/storage/satellite/setAssignmentAutoupgrade" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d { "config": "string", "controller": "string", "autopatch": boolean,"assignment" : { "all": boolean, "uuid": ["string", "string", ...], } }
    
  2. 要求を実行します。

  3. 割り当ての詳細を取得して、アップグレードを検証します。

    curl -X GET "https://containers.cloud.ibm.com/global/v2/storage/satellite/getAssignment?uuid=ASSIGNMENT-ID" -H "accept: application/json" -H "Authorization: Bearer TOKEN"
    

ローカル・ストレージを使用するアプリのデプロイ

ローカル・ストレージ構成を作成してクラスタに割り当てたら、ローカル・ブロック・ストレージを使用するアプリを作成できます。

永続ボリュームにラベルを追加して、PVC を特定の永続ボリュームにマップできます。 詳しくは、Kubernetes documentation for selectorsを参照のこと。

  1. 以下の PVC の YAML ファイルを local-pvc.yaml という名前でローカル・マシンに保存します。

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: local-pvc
    spec:
      accessModes:
      - ReadWriteOnce
      volumeMode: Block
      resources:
      requests:
        storage: 20Gi # Important: Ensure that size of your claim is not larger than the local disk.
      storageClassName: sat-local-block-gold
    
  2. クラスター内に PVC を作成します。

    oc create -f local-pvc.yaml
    
  3. PVC が作成されたことを確認します。 volumeBindingMode ストレージ・クラスの sat-local-block-goldwaitForFirstConsumer であることに注意してください。

    oc get pvc | grep local
    

    ストレージを搭載したワーカー・ノードにポッドが確実にスケジュールされるようにする、またはストレージを必要とするアプリが他のポッドからプリエンプトされないようにするには、nodeAffinity を指定し、ポッドの優先度をセットアップしてください。 詳細については、ポッドの優先順位と先取りノードアフィニティの設定に関するKubernetesのドキュメントを参照してください。

  4. ローカル・ストレージの PVC を使用するアプリ・ポッドをデプロイします。 以下のサンプル・アプリの YAML を app.yaml という名前のファイルにしてローカル・マシンに保存します。 この例では、nodeAffinity specは、このポッドが指定されたラベルを持つワーカーノードにのみスケジューリングされることを保証します。

    apiVersion: v1
    kind: Pod
    metadata:
      name: app
    spec:
      affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchExpressions:
            - key: storage # Enter the 'key' of the worker node label created earlier.
              operator: In
              values:
              - local-block # Enter the 'value' of the worker label that you created earlier.
      containers:
        - name: nginx
          image: nginx
          volumeDevices:
            - name: data
              devicePath: "/dev/nvme2n1" # Enter the path to your local device.
      volumes:
        - name: data
          persistentVolumeClaim:
          claimName: local-pvc
    
  5. クラスター内にアプリ・ポッドを作成します。

    oc create -f app.yaml
    
  6. アプリ・ポッドにログインし、ローカル・ディスクに書き込めることを確認します。

    kubectl exec <pod_name> -it bash
    
  7. ディレクトリーを dev フォルダーに変更します。

    cd dev
    
  8. ls -lR <device-path> を実行して、デバイスの詳細と、アプリのポッドがブロック・デバイスに対して読み取りと書き込みのパーミッションがあることを確認してください brw

    ls -lR /dev/nvme2n1
    

    出力例

    brw-rw-rw-. 1 root disk 202, 32 Mar  3 21:24 /dev/nvme2n1
    
  9. オプション 以下のコマンドを実行して、ブロック・デバイスにデータを書き込みます。

    1. アプリにマウントしたローカル・ストレージ・デバイスに "block_data" を書き込む。 <device-path> ストレージ・デバイスへのパスに置き換えてください。 例: /dev/nvme2n1

      kubectl exec <pod_name> -- bash -c "echo "block_data" | dd conv=unblock of=<device-path>"
      
    2. データがデバイスに書き込まれていることを確認します。 <device-path> をストレージ・デバイスへのパスに置き換えます。 例: /dev/nvme2n1

      kubectl exec <pod_name> -- bash -c "od -An -c -N 10 <device-path>"
      

      出力例

      b   l   o   c   k   _   d   a   t   a
      
  10. test ポッドを削除します。

oc delete pod <pod_name>

コンソールからストレージ構成を削除する

  1. Satellite ストレージ・ダッシュボードから、削除するストレージ構成を選択します。
  2. アクション>削除を選択します。
  3. ストレージ構成の名前を入力します。
  4. **「削除」**を選択します。

コマンドラインからローカルストレージの設定を削除する

  1. local-storage 名前空間のリソースをリストします。 ストレージ割り当てを削除すると、これらのリソースは削除されます。

    oc get all -n local-storage
    

    出力例

    NAME                                         READY   STATUS    RESTARTS   AGE
    pod/local-disk-local-diskmaker-clvg6         1/1     Running   0          29h
    pod/local-disk-local-diskmaker-kqddq         1/1     Running   0          29h
    pod/local-disk-local-diskmaker-p6z9q         1/1     Running   0          29h
    pod/local-disk-local-provisioner-dw5g7       1/1     Running   0          29h
    pod/local-disk-local-provisioner-hxd9n       1/1     Running   0          29h
    pod/local-disk-local-provisioner-tfg95       1/1     Running   0          29h
    pod/local-storage-operator-df4994656-7826l   1/1     Running   0          29h
    
    NAME                             TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)     AGE
    service/local-storage-operator   ClusterIP   172.21.147.17   <none>        60000/TCP   29h
    
    NAME                                          DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
    daemonset.apps/local-disk-local-diskmaker     3         3         3       3            3           <none>          29h
    daemonset.apps/local-disk-local-provisioner   3         3         3       3            3           <none>          29h
    
    NAME                                     READY   UP-TO-DATE   AVAILABLE   AGE
    deployment.apps/local-storage-operator   1/1     1            1           29h
    
    NAME                                               DESIRED   CURRENT   READY   AGE
    replicaset.apps/local-storage-operator-df4994656   1         1         1       29h
    
  2. ストレージ割り当てをリストし、クラスターに使用していた割り当てを見つけます。

    ibmcloud sat storage assignment ls (--cluster CLUSTER | --config CONFIG | --location LOCATION | --service-cluster-id CLUSTER)
    
  3. 割り当てを削除します。 割り当てを削除すると、そのストレージ割り当てに含まれていたすべてのクラスターから、ローカル・ストレージのドライバー・ポッドとストレージ・クラスが削除されます。

    ibmcloud sat storage assignment rm --assignment <assignment_ID>
    
  4. local-storage 名前空間のリソースをリストし、ローカル・ストレージ・ドライバー・ポッドが削除されていることを確認します。

    oc get all -n local-storage
    

    出力例

    No resources found in local-storage namespace.
    
  5. クラスターでストレージ・クラスをリストし、ローカル・ストレージ・クラスが削除されていることを確認します。

    oc get sc
    
  6. オプション: ストレージ構成を削除します。

    1. ストレージ構成をリストします。

      ibmcloud sat storage config ls
      
    2. ストレージ構成を削除します。

      ibmcloud sat storage config rm --config <config_name>
      
  7. PVC をリストし、削除する PVC の名前をメモします。

    oc get pvc
    
  8. 現在 PVC がマウントされているすべてのポッドを削除します。

    1. 削除する PVC を現在マウントしているポッドをすべてリストします。 ポッドが返されなければ、現在その PVC を使用しているポッドはありません。

      oc get pods --all-namespaces -o=jsonpath='{range .items[*]}{"\n"}{.metadata.name}{":\t"}{range .spec.volumes[*]}{.persistentVolumeClaim.claimName}{" "}{end}{end}' | grep "<pvc_name>"
      

      出力例

      app    sat-local-block-gold
      
    2. PVC を使用するポッドを削除します。 ポッドがデプロイメントの一部である場合は、デプロイメントを削除します。

      oc delete pod <pod_name>
      
      oc delete deployment <deployment-name>
      
    3. ポッドまたはデプロイメントが削除されたことを確認します。

      oc get pods
      
      oc get deployments
      
  9. PVC を削除します。 IBM 提供のローカル・ブロック・ストレージ・クラスはすべて Retain 再利用ポリシーを使用して指定されているので、アプリやデプロイメントを削除しても、PV と PVC は自動的に削除されません。

    oc delete pvc <pvc-name>
    
  10. PVC が削除されたことを確認します。

    oc get pvc
    
  11. PV をリストし、削除する PV の名前をメモします。

    oc get pv
    
  12. PV を削除します。 PV を削除すると、他のワークロードにディスクを使用できるようになります。

    oc delete pv <pv-name>
    
  13. PV が削除されたことを確認します。

    oc get pv
    

パラメーターのリファレンス

1.0.0 パラメーター・リファレンス

1.1.0.0パラメータ参照
表示名 CLI オプション タイプ 説明 必須ですか? デフォルト値
ファイル・ストレージ・ドライバーのインストール install-local-storage-file 構成 ファイル・ストレージ・ドライバをインストールする場合は true に設定する。 はい true
ファイル・ストレージの自動ボリューム・ディスカバリー auto-discover-devices-file 構成 ワーカーノード上のボリュームを自動的に検出し、ファイルストレージに使用する場合は、true に設定します。 はい false
ファイル・ストレージ・ワーカー・ノード・ラベル鍵 file-nodes-label-key 構成 The key of the worker node key=value label that you want to use for file storage. false 該当なし
ファイル・ストレージ・ワーカー・ノード・ラベル値 file-nodes-label-value 構成 The value of the worker node key=value label that you want to use for file storage. false 該当なし
ファイル・ストレージのデバイス・パス file-devicepath 構成 ファイル・ストレージに使用するワーカー・ノード上のストレージ・デバイスへのパス。 例: /dev/sdc。 このオプションは、auto-discover-devices-filefalse に設定されている場合に必要である。 false 該当なし
ファイル・システム・タイプ fstype 構成 ファイル・システムのタイプ。 ext3ext4、または xfs を指定します。 はい ext4
ブロック・ストレージ・ドライバーのインストール install-local-storage-block 構成 ブロック・ストレージ・ドライバをインストールする場合は true に設定する。 はい true
ブロック・ストレージの自動ボリューム・ディスカバリー auto-discover-devices-block 構成 ワーカーノードのボリュームを自動的に検出してブロックストレージに使用する場合は、true に設定します。 はい false
ブロック・ストレージ・ワーカー・ノード・ラベル鍵 block-nodes-label-key 構成 The key of the worker node key=value label that you want to use for block storage. false 該当なし
ブロック・ストレージ・ワーカー・ノード・ラベル値 block-nodes-label-value 構成 The value of the worker node key=value label that you want to use for block storage. false 該当なし
ローカル・ストレージ・ブロックのデバイス・パス block-devicepath 構成 ブロック・ストレージに使用するワーカー・ノード上のストレージ・デバイスへのパス。 例: /dev/sdc。 このオプションは、auto-discover-devices-block がfalseに設定されている場合に必要である。 false 該当なし