ローカル・ストレージ・オペレーター - ブロック
IBM Cloud Satellite® クラスタ向けに、ローカルボリュームを使用した永続ストレージを設定します。 Satellite ストレージ・テンプレートを使用して、ストレージ構成を作成できます。 ストレージ構成をクラスターに割り当てると、選択したストレージ・プロバイダーのストレージ・ドライバーがクラスターにインストールされます。
ローカル・ブロックのストレージ構成を作成するときには、クラスターで永続ボリューム (PV) として使用可能にするローカル・ブロック・ストレージのデバイス・パスを指定します。 ストレージ構成をクラスターに割り当てると、ローカル・ストレージ・オペレーターが Satellite からデプロイされ、このオペレーターが、構成に指定されているローカル・ディスクをマウントします。 このオペレーターはさらに、ローカル永続ボリュームを作成し、sat-local-block-gold ストレージ・クラスを作成します。このストレージ・クラスを使用して、永続ボリューム請求 (PVC) を作成できます。 その後、Kubernetes ワークロードでその PVC を参照できます。
Satellite ストレージサービスをリソースグループにスコープすることはできません。 ただし、ロケーションやクラスタなどの他のリソースをリソースグループにスコープする場合は、 アカウント内のすべてのリソースに対して、 Satellite リーダーとリンク管理者ロールを追加する必要があります。
ローカル・ブロック・ストレージを使用するための前提条件
ローカル・ブロックのストレージ構成を作成する前に、クラスター内のワーカー・ノードのうち、必要とする空きディスクが搭載されているものを確認する必要があります。 そして、それらのワーカー・ノードだけにローカル・ストレージ・ドライバーをインストールするために、それらのワーカー・ノードにラベルを付けます。
-
ストレージ構成で使用するクラスター内のワーカー・ノードには、Satellite に必要なディスクのほかに、使用可能なローカル・ディスクが 1 台以上ある必要があります。 この追加のディスクは未フォーマットでなければなりません。
-
使用可能なディスクがあるワーカー・ノードのうち、構成で使用するワーカー・ノードにラベルを付けます。 ローカル・ストレージ・ドライバーは、ラベルの付いたワーカー・ノードだけにインストールされます。
ローカル・ブロックのストレージ構成に使用するデバイスの詳細を取得する
ローカル・ブロックのストレージ構成を作成するときには、使用するデバイスを指定する必要があります。 以下の手順で取得したデバイス・パスを、構成の作成時にパラメーターとして指定します。
-
クラスターにログインし、使用可能なワーカー・ノードのリストを取得します。 構成で使用するワーカー・ノードをメモします。
oc get nodes -
ローカル・ストレージ構成で使用する各ワーカー・ノードにログインします。
oc debug node/<node-name> -
ワーカー・ノードにデバッグ・ポッドがデプロイされている場合は、以下のコマンドを実行してワーカー・ノードの使用可能なディスクをリストします。
- ホスト・バイナリーを許可します。
chroot /host ``` 1. デバイスをリストします。 ```sh {: pre} lsblk ``` 1. デバイスの詳細を取得します。 使用するデバイスが、未マウントかつ未フォーマットであることを確認します。 ```sh {: pre} fdisk -l ``` -
ワーカー・ノードの使用可能なブロック・ストレージ・ディスクをリストします。 ローカル・ストレージ構成には、未マウントのディスクを使用する必要があります。 以下の
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 -
ローカル・ブロックのストレージ構成で使用するワーカー・ノードごとに上記の手順を繰り返します。
ローカル・ブロック・ストレージを使用する場合のワーカー・ノードのラベル付け
構成で使用するディスクのデバイス・パスを取得したら、それらのディスクがあるワーカー・ノードにラベルを付けます。
-
ワーカー・ノードの IP アドレスを取得します。
oc get nodes -
先ほど取得したワーカー・ノードにラベルを付けます。 ローカル・ストレージ・ドライバーは、このラベルの付いたワーカー・ノードにデプロイされます。 このコマンドの例の
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 -
使用するワーカー・ノードにラベルが追加されていることを確認します。 以下のコマンドを実行してワーカー・ノードのラベルを表示し、前の手順で追加したラベルに絞り込みます。
oc get nodes --show-labels | grep --color=always storage=local-block
コンソールでの構成の作成と割り当て
-
[ロケーション]コンソールから、ストレージ構成を作成するロケーションを選択します。
-
ストレージ > ストレージ構成の作成を選択します。
-
構成の名前を入力します。
-
ストレージの種類を選択してください。
-
バージョンを選択し、「 次へ 」をクリックしてください
-
選択した 「ストレージ・タイプ」 がカスタム・パラメーターを受け入れる場合は、 「パラメーター」 タブでそれらのパラメーターを入力します。
-
選択した ストレージ・タイプ にシークレットが必要な場合は、 「シークレット (Secrets)」 タブに入力します。
-
ストレージ・クラスタブで、構成によってデプロイされたストレージ・クラスを確認するか、カスタム・ストレージ・クラスを作成します。
-
サービスへの割り当てタブで、構成の割り当て先となるサービスを選択します。
-
完了をクリックして、ストレージ構成を割り当てます。
コマンドラインインターフェース(CLI)での設定の作成
-
使用するテンプレート・バージョンの パラメーター・リファレンス を確認します。
-
IBM Cloud CLI にログインします。
ibmcloud login -
Satellite ロケーションをリストして、
Managed from列をメモします。ibmcloud sat location ls -
Satellite ロケーションの
Managed fromリージョンをターゲットにします。 例えば、wdcの場合は、us-eastをターゲットにします。 詳しくは、Satellite リージョンを参照してください。ibmcloud target -r us-east -
default以外のリソース・グループを使用する場合は、そのリソース・グループをターゲットにします。ibmcloud target -g RESOURCE_GROUP -
使用するテンプレート・バージョンについて、以下のいずれかのコマンド例をコピーします。 コマンドについて詳しくは、 コマンド・リファレンス の
ibmcloud sat storage config createを参照してください。バージョン 4.9 構成を作成するためのコマンド例。
ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-volume-block --template-version 4.9 --param "auto-discover-devices=AUTO-DISCOVER-DEVICES" --param "label-key=LABEL-KEY" --param "label-value=LABEL-VALUE" --param "devicepath=DEVICEPATH"バージョン 4.10 構成を作成するコマンドの例。
ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-volume-block --template-version 4.10 --param "auto-discover-devices=AUTO-DISCOVER-DEVICES" --param "label-key=LABEL-KEY" --param "label-value=LABEL-VALUE" --param "devicepath=DEVICEPATH"バージョン 4.11 構成を作成するコマンドの例。
ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-volume-block --template-version 4.11 --param "auto-discover-devices=AUTO-DISCOVER-DEVICES" --param "label-key=LABEL-KEY" --param "label-value=LABEL-VALUE" --param "devicepath=DEVICEPATH"バージョン 4.12 構成を作成するコマンドの例。
ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-volume-block --template-version 4.12 --param "auto-discover-devices=AUTO-DISCOVER-DEVICES" --param "label-key=LABEL-KEY" --param "label-value=LABEL-VALUE" --param "devicepath=DEVICEPATH"バージョン 4.13 構成を作成するコマンドの例。
ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-volume-block --template-version 4.13 --param "auto-discover-devices=AUTO-DISCOVER-DEVICES" --param "label-key=LABEL-KEY" --param "label-value=LABEL-VALUE" --param "devicepath=DEVICEPATH" -
使用する設定に基づいて、コマンドをカスタマイズします。
-
設定を作成するには、コマンドを実行してください。
-
設定が作成されたことを確認してください。
ibmcloud sat storage config get --config CONFIG
アプリケーション・プログラミング・インターフェース(API)での設定の作成
-
API キーを生成してから、リフレッシュ・トークンを要求します。 詳細については、「 API キーを使用した IBM Cloud Identity and Access Management (IAM)トークンの生成 」を参照してください。
-
使用するテンプレート・バージョンの パラメーター・リファレンス を確認します。
-
以下のいずれかの要求例をコピーし、使用する変数を置き換えます。
バージョン 4.9 構成を作成する要求の例。
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-volume-block\", \"storage-template-version\": \"4.9\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"AUTO-DISCOVER-DEVICES\", { \"entry.name\": \"LABEL-KEY\", { \"entry.name\": \"LABEL-VALUE\", { \"entry.name\": \"DEVICEPATH\",\"user-secret-parameters\": }バージョン 4.10 構成を作成する要求の例。
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-volume-block\", \"storage-template-version\": \"4.10\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"AUTO-DISCOVER-DEVICES\", { \"entry.name\": \"LABEL-KEY\", { \"entry.name\": \"LABEL-VALUE\", { \"entry.name\": \"DEVICEPATH\",\"user-secret-parameters\": }バージョン 4.11 構成を作成する要求の例。
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-volume-block\", \"storage-template-version\": \"4.11\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"AUTO-DISCOVER-DEVICES\", { \"entry.name\": \"LABEL-KEY\", { \"entry.name\": \"LABEL-VALUE\", { \"entry.name\": \"DEVICEPATH\",\"user-secret-parameters\": }バージョン 4.12 構成を作成する要求の例。
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-volume-block\", \"storage-template-version\": \"4.12\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"AUTO-DISCOVER-DEVICES\", { \"entry.name\": \"LABEL-KEY\", { \"entry.name\": \"LABEL-VALUE\", { \"entry.name\": \"DEVICEPATH\",\"user-secret-parameters\": }バージョン 4.13 構成を作成する要求の例。
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-volume-block\", \"storage-template-version\": \"4.13\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"AUTO-DISCOVER-DEVICES\", { \"entry.name\": \"LABEL-KEY\", { \"entry.name\": \"LABEL-VALUE\", { \"entry.name\": \"DEVICEPATH\",\"user-secret-parameters\": }
コマンドラインインターフェース(CLI)での課題の作成
-
ストレージ構成を一覧表示し、クラスタに割り当てたいストレージ構成をメモしておいてください。
ibmcloud sat storage config ls -
ストレージを割り当てたいクラスター、クラスターグループ、またはサービスのIDを取得します。
クラスターが Satellite Config に登録されていることを確認したり、グループを作成したりするには、Satellite Config で使用するためのクラスターのセットアップを参照してください。
クラスター・グループをリストするコマンドの例。
ibmcloud sat group lsクラスターをリストするコマンドの例。
ibmcloud oc cluster ls --provider satelliteSatellite サービスをリストするコマンドの例。
ibmcloud sat service ls --location LOCATION -
以前に取得したクラスター、グループ、またはサービスにストレージ構成を割り当てます。 詳しくは、
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 -
割り当てが作成されたことを確認します。
ibmcloud sat storage assignment ls (--cluster CLUSTER | --config CONFIG | --location LOCATION | --service-cluster-id CLUSTER)
アプリケーション・プログラミング・インターフェース(API)でのストレージ割り当ての作成
-
以下のいずれかの要求例をコピーします。
構成をクラスターに割り当てる要求の例。
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\"}" -
変数を自分の詳細に置き換え、要求を実行します。
-
割り当てをリストして、割り当てが作成されたことを確認します。
curl -X GET "https://containers.cloud.ibm.com/global/v2/storage/satellite/getAssignments" -H "accept: application/json" -H "Authorization: Bearer TOKEN"
CLI での割り当ての手動アップグレード
最新のストレージ・テンプレート・リビジョンを使用するように割り当てをアップグレードします。
-
Satellite ストレージ割り当てをリストし、アップグレードする Satellite 割り当てを書き留めます。
ibmcloud sat storage assignment ls -
Satellite ストレージ・テンプレートをリストして、使用可能な最新バージョンを確認します。
ibmcloud sat storage template ls -
Satellite 割り当てをアップグレードします。
割り当てをアップグレードするコマンドの例。
ibmcloud sat storage assignment upgrade --assignment ASSIGNMENT
CLI での構成および割り当ての自動パッチ更新の有効化
sat storage assignment autopatch enable CLI を使用して、割り当ての自動パッチ更新を有効にすることができます。 自動パッチ更新を有効にすると、最新のストレージ・テンプレート・リビジョン (パッチ) が自動的に適用されます。 ただし、メジャー更新は手動で適用する必要があります。
-
Satellite ストレージ構成をリストします。 設定IDをメモしておいてください。
ibmcloud sat storage assignment ls -
以下のいずれかのコマンド例を実行して、ご使用の構成とその関連割り当てに対して自動パッチ更新を有効にします。 前の手順で取得した構成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
API での構成と割り当てのアップグレード
/v2/storage/satellite/updateAssignment API を使用して、新しいクラスターまたはクラスター・グループで割り当てを更新できます。 改訂の更新を適用するには、 updateConfigVersion を true に設定します。
-
以下の要求例をコピーし、更新するクラスター・グループおよび割り当ての変数を置き換えます。
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\"}" -
要求を実行します。
-
更新を確認するために割り当ての詳細を取得します。
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 の資料を参照してください。
-
以下の 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 -
クラスター内に PVC を作成します。
oc create -f local-pvc.yaml -
PVC が作成されたことを確認します。
volumeBindingModeストレージ・クラスのsat-local-block-goldがwaitForFirstConsumerであることに注意してください。oc get pvc | grep localストレージを搭載したワーカー・ノードにポッドが確実にスケジュールされるようにする、またはストレージを必要とするアプリが他のポッドからプリエンプトされないようにするには、
nodeAffinityを指定し、ポッドの優先度をセットアップしてください。 詳しくは、ポッドの優先度およびプリエンプションおよび ノード・アフィニティーの設定についての Kubernetes の資料を参照してください。 -
ローカル・ストレージの PVC を使用するアプリ・ポッドをデプロイします。 以下のサンプル・アプリの YAML を
app.yamlという名前のファイルにしてローカル・マシンに保存します。 この例では、nodeAffinityの指定によって、指定したラベルの付いたワーカー・ノードだけにこのポッドがスケジュールされます。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 -
クラスター内にアプリ・ポッドを作成します。
oc create -f app.yaml -
アプリ・ポッドにログインし、ローカル・ディスクに書き込めることを確認します。
kubectl exec <pod_name> -it bash -
ディレクトリーを
devフォルダーに変更します。cd dev -
ls -lR <device-path>コマンドを実行して、デバイスの詳細を確認します。コマンド出力のbrwで示されているブロック・デバイスに対する読み取り権限と書き込み権限をアプリ・ポッドに付与できることを確認します。ls -lR /dev/nvme2n1出力例
brw-rw-rw-. 1 root disk 202, 32 Mar 3 21:24 /dev/nvme2n1 -
オプション 以下のコマンドを実行して、ブロック・デバイスにデータを書き込みます。
- アプリにマウントしたローカルストレージデバイスに、
"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`。 ```sh {: pre} kubectl exec <pod_name> -- bash -c "od -An -c -N 10 <device-path>" ``` 出力例 ```sh {: screen} b l o c k _ d a t a ``` - アプリにマウントしたローカルストレージデバイスに、
-
testポッドを削除します。oc delete pod <pod_name>
CLI での構成の手動アップグレード
Satellite のストレージ構成をアップグレードすることで、同じメジャーバージョン内で最新のストレージテンプレートのリビジョンを取得できます。
-
Satellite ストレージ構成をリストし、アップグレードする Satellite 構成を書き留めます。
ibmcloud sat storage config ls -
Satellite 構成をアップグレードします。 更新されるのは構成のみであることに注意してください。 この構成を使用する割り当てをアップグレードする場合は、
--include-assignmentsオプションを指定するか、assignment updateコマンドを使用して各割り当てを手動で更新することができます。構成を最新リビジョンにアップグレードするためのコマンド例。
ibmcloud sat storage config upgrade --config CONFIG [--include-assignments]構成およびそれに関連付けられた割り当てを最新のリビジョンにアップグレードするためのコマンド例。
ibmcloud sat storage config upgrade --config CONFIG --include-assignments
コンソールでのストレージ割り当ての更新
Satellite コンソール を使用して、割り当てに最新のパッチ更新を適用できます。
-
Satellite コンソールの 「ロケーション」 ページで、ロケーションを選択します。
-
「ストレージ」 タブをクリックして、構成を表示します。
-
更新したい設定をクリックしてください。
-
「情報」 (i) アイコンをクリックして、最新のリビジョンまたはパッチを適用します。
-
オプション: ストレージ割り当ての自動パッチ更新を有効にします。 自動パッチ更新を有効にすると、割り当てに常に最新のセキュリティー・フィックスが適用されます。
自動パッチ更新を有効にした場合でも、メジャー更新を手動で適用する必要があります。
クラスターからのローカル・ブロックのストレージ構成の削除
ローカル・ブロック・ストレージをクラスターで使用する予定がもうない場合は、そのクラスターをストレージ構成の割り当てから解除することができます。
ストレージ構成を削除すると、ローカル・ストレージ・オペレーター・リソースと sat-local-block-gold ストレージ・クラスが、割り当てられているすべてのクラスターからアンインストールされることに注意してください。 PVC、PV、データは削除されません。 ただし、クラスターにドライバーを再インストールするまでは、データにアクセスすることはできません。
コンソールからのローカル・ブロック・ストレージ構成の削除
コンソールを使用して、ストレージ構成を除去します。
- Satellite ストレージ・ダッシュボードから、削除するストレージ構成を選択します。
- アクション > 削除を選択します。
- ストレージ構成の名前を入力します。
- **「削除」**を選択します。
コマンド行からのローカル・ブロック・ストレージ構成の削除
-
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 -
ストレージ割り当てをリストし、クラスターに使用していた割り当てを見つけます。
ibmcloud sat storage assignment ls (--cluster CLUSTER | --config CONFIG | --location LOCATION | --service-cluster-id CLUSTER) -
割り当てを削除します。 割り当てを削除すると、そのストレージ割り当てに含まれていたすべてのクラスターから、ローカル・ストレージのドライバー・ポッドとストレージ・クラスが削除されます。
ibmcloud sat storage assignment rm --assignment <assignment_ID> -
local-storage名前空間のリソースをリストし、ローカル・ストレージ・ドライバー・ポッドが削除されていることを確認します。oc get all -n local-storage出力例
No resources found in local-storage namespace. -
クラスターでストレージ・クラスをリストし、ローカル・ストレージ・クラスが削除されていることを確認します。
oc get sc -
オプション: ストレージ構成を削除します。
- ストレージ構成をリストします。
ibmcloud sat storage config ls ``` 2. ストレージ構成を削除します。 ```sh {: pre} ibmcloud sat storage config rm --config <config_name> ``` -
PVC をリストし、削除する PVC の名前をメモします。
oc get pvc -
現在 PVC がマウントされているすべてのポッドを削除します。
- 削除する 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>" ``` 出力例 ```sh {: screen} app sat-local-block-gold ``` 2. PVC を使用するポッドを削除します。 ポッドがデプロイメントの一部である場合は、デプロイメントを削除します。 ```sh {: pre} oc delete pod <pod_name> ``` ```sh {: pre} oc delete deployment <deployment-name> ``` 3. ポッドまたはデプロイメントが削除されたことを確認します。 ```sh {: pre} oc get pods ``` ```sh {: pre} oc get deployments ``` -
PVC を削除します。 IBM 提供のローカル・ブロック・ストレージ・クラスはすべて
Retain再利用ポリシーを使用して指定されているので、アプリやデプロイメントを削除しても、PV と PVC は自動的に削除されません。oc delete pvc <pvc-name> -
PVC が削除されたことを確認します。
oc get pvc -
PV をリストし、削除する PV の名前をメモします。
oc get pv -
PV を削除します。 PV を削除すると、他のワークロードにディスクを使用できるようになります。
oc delete pv <pv-name> -
PV が削除されたことを確認します。
oc get pv
パラメーターのリファレンス
4.9 パラメーター・リファレンス
| 表示名 | CLI オプション | タイプ | 説明 | デフォルト値 |
|---|---|---|---|---|
| 自動ストレージ・ボリューム・ディスカバリー | auto-discover-devices |
構成 | ワーカー・ノード上のストレージ・ボリュームを自動的にディスカバーして使用する場合は、「true」に設定します。 | false |
| ノード・ラベル・キー | label-key |
構成 | ワーカー・ノードの「key = value」ラベルの「key」。 | 該当なし |
| ノード・ラベル・キー値 | label-value |
構成 | ワーカー・ノードの「key = value」ラベルの「value」。 | 該当なし |
| デバイス・パス | devicepath |
構成 | ローカル・ストレージ・デバイス・パス。 例: 「/dev/sdc」。 「auto-discover-devices」が「false」に設定されている場合は必須です。 | 該当なし |
4.10 パラメーター・リファレンス
| 表示名 | CLI オプション | タイプ | 説明 | デフォルト値 |
|---|---|---|---|---|
| 自動ストレージ・ボリューム・ディスカバリー | auto-discover-devices |
構成 | ワーカー・ノード上のストレージ・ボリュームを自動的にディスカバーして使用する場合は、「true」に設定します。 | false |
| ノード・ラベル・キー | label-key |
構成 | ワーカー・ノードの「key = value」ラベルの「key」。 | 該当なし |
| ノード・ラベル・キー値 | label-value |
構成 | ワーカー・ノードの「key = value」ラベルの「value」。 | 該当なし |
| デバイス・パス | devicepath |
構成 | ローカル・ストレージ・デバイス・パス。 例: 「/dev/sdc」。 「auto-discover-devices」が false に設定されている場合は必須です。 | 該当なし |
4.11 パラメーター・リファレンス
| 表示名 | CLI オプション | タイプ | 説明 | デフォルト値 |
|---|---|---|---|---|
| 自動ストレージ・ボリューム・ディスカバリー | auto-discover-devices |
構成 | ワーカー・ノード上のストレージ・ボリュームを自動的にディスカバーして使用する場合は、「true」に設定します。 | false |
| ノード・ラベル・キー | label-key |
構成 | ワーカー・ノードの「key = value」ラベルの「key」。 | 該当なし |
| ノード・ラベル・キー値 | label-value |
構成 | ワーカー・ノードの「key = value」ラベルの「value」。 | 該当なし |
| デバイス・パス | devicepath |
構成 | ローカル・ストレージ・デバイス・パス。 例: 「/dev/sdc」。 「auto-discover-devices」が false に設定されている場合は必須です。 | 該当なし |
4.12 パラメーター・リファレンス
| 表示名 | CLI オプション | タイプ | 説明 | デフォルト値 |
|---|---|---|---|---|
| 自動ストレージ・ボリューム・ディスカバリー | auto-discover-devices |
構成 | ワーカー・ノード上のストレージ・ボリュームを自動的にディスカバーして使用する場合は、「true」に設定します。 | false |
| ノード・ラベル・キー | label-key |
構成 | ワーカー・ノードの「key = value」ラベルの「key」。 | 該当なし |
| ノード・ラベル・キー値 | label-value |
構成 | ワーカー・ノードの「key = value」ラベルの「value」。 | 該当なし |
| デバイス・パス | devicepath |
構成 | ローカル・ストレージ・デバイス・パス。 例: 「/dev/sdc」。 「auto-discover-devices」が false に設定されている場合は必須です。 | 該当なし |
4.13 パラメーター・リファレンス
| 表示名 | CLI オプション | タイプ | 説明 | デフォルト値 |
|---|---|---|---|---|
| 自動ストレージ・ボリューム・ディスカバリー | auto-discover-devices |
構成 | ワーカー・ノード上のストレージ・ボリュームを自動的にディスカバーして使用する場合は、「true」に設定します。 | false |
| ノード・ラベル・キー | label-key |
構成 | ワーカー・ノードの「key = value」ラベルの「key」。 | 該当なし |
| ノード・ラベル・キー値 | label-value |
構成 | ワーカー・ノードの「key = value」ラベルの「value」。 | 該当なし |
| デバイス・パス | devicepath |
構成 | ローカル・ストレージ・デバイス・パス。 例: 「/dev/sdc」。 「auto-discover-devices」が false に設定されている場合は必須です。 | 該当なし |
ローカルブロックストレージのストレージクラスリファレンス
ローカル・ブロック・ストレージの Satellite ストレージ・クラスについて説明します。 oc describe sc <storage-class-name> コマンドを使用して、コマンド・ラインでストレージ・クラスを確認することができます。
| ストレージ・クラス名 | タイプ | 再利用ポリシー |
|---|---|---|
sat-local-block-gold |
ブロック | 保持 |
ローカル・ブロック・ストレージに関するヘルプとサポートの入手方法
- Red Hat OpenShift の資料で FAQ を確認します。
- 一般的な問題をトラブルシューティングして解決するには、 トラブルシューティング資料 を参照してください。
- 「 ステータス」ページにアクセスして、 IBM Cloud プラットフォームおよびリソースのステータスを確認してください。
- Stack Overflow で、他のユーザーが同じ問題を経験しているかどうかを確認します。 IBM Cloud 開発チームによって認識されるように、ibm-cloud で質問にタグを付けます。
- 「Local Storage Operator - Block」テンプレートに関して問題が発生した場合は、 Red Hat お客様 ポータル でイシューを登録してください。