ブロック・ストレージが読み取り専用に変更されるのはなぜですか?
読み取り専用になってしまったブロックストレージボリュームのトラブルシューティングを行う。
仮想プライベートクラウド クラシック・インフラストラクチャー
以下の症状が見られることがあります。
oc get pods -o wideを実行すると、同じワーカー・ノードの複数のポッドがContainerCreatingまたはCrashLoopBackOff状態で停滞していることが判明します。 これらのポッドはすべて、同じブロック・ストレージ・インスタンスを使用しています。oc describe podコマンドを実行すると、Events セクションにMountVolume.SetUp failed for volume ... read-onlyというエラーが表示されます。
ポッドのボリュームへの書き込み中にネットワーク・エラーが発生した場合、IBM Cloud インフラストラクチャーによってボリュームが読み取り専用モードに変更され、ボリュームのデータが破損から保護されます。 このボリュームを使用するポッドは、ボリュームへの書き込みを続行できず、失敗します。
プラグインのバージョンを確認し、アプリを再作成してから、ワーカーノードを安全に再読み込みしてください。
- クラスターにインストールされている IBM Cloud Block Storage プラグインのバージョンを確認します。
helm list --all-namespaces - IBM Cloud Block Storage プラグインの最新バージョンを使用していることを確認します。 そうでない場合は、プラグインを更新します。
- ポッドに Kubernetes デプロイメントを使用している場合は、失敗するポッドを削除して Kubernetes でポッドを再作成し、ポッドを再始動します。 デプロイメントを使用しなかった場合は、
oc get pod <pod_name> -o yaml >pod.yamlを実行して、ポッドの作成に使用された YAML ファイルを取得します。 その後、ポッドを削除して、手動でポッドを再作成します。oc delete pod <pod_name> - ポッドの再作成によって問題が解決されたかどうかを確認します。 解決されていない場合は、ワーカー・ノードを再ロードします。
- ポッドが実行されているワーカー・ノードを見つけて、ワーカー・ノードに割り当てられているプライベート IP アドレスをメモします。
oc describe pod <pod_name> | grep Node ``` 出力例: ```sh {: screen} Node: 10.75.XX.XXX/10.75.XX.XXX Node-Selectors: <none> ``` 2. 前のステップでメモしたプライベート IP アドレスを使用して、ワーカー・ノードの **ID** を取得します。 ```sh {: pre} ibmcloud oc worker ls --cluster CLUSTER_NAME_OR_ID ``` 3. [ワーカー・ノードを安全に再ロード](/docs/openshift?topic=openshift-kubernetes-service-cli#worker-reload-cli) します。