File Storage for VPCをマウントしようとするとアプリ・ポッドが Container creating
でスタックするのはなぜですか?
File Storage for VPC を使用するアプリをデプロイしようとすると、以下の 1 つ以上のエラー・メッセージが表示されます。
ibm-vpc-file-csi
ドライバー・ログを取得するためのコマンド例。
kubectl logs ibm-vpc-file-csi-node-xxx -n kube-system -c iks-vpc-file-node-driver
エラー・メッセージを含む出力例。
ibmcsidriver/node.go:94","msg":"CSINodeServer-NodePublishVolume..."
ibmcsidriver/node.go:160","msg":"CSINodeServer-NodeUnpublishVolume..."
describe pod
コマンドの例。
kubectl describe pod ibm-vpc-file-csi-node-xxx -n kube-system -c iks-vpc-file-node-driver
エラー・メッセージを含む出力例。
Warning FailedMount 68s kubelet MountVolume.SetUp failed for volume "pvc-c37fe511-ec6d-44c1-8c55-1b5e2c21ec5b" : rpc error: code = DeadlineExceeded desc = context deadline exceeded
Warning FailedMount 65s kubelet Unable to attach or mount volumes: unmounted volumes=[test-persistent-storage], unattached volumes=[], failed to process volumes=[]: timed out waiting for the condition
pipelineruns
ログを取得するコマンドの例。
kubectl logs cat -n pipelineruns
エラー・メッセージを含む出力例。
Error from server (BadRequest): container "cat" in pod "cat" is waiting to start: ContainerCreating
一時的なネットワーク障害が原因で、ファイル共有が到達不能になり、マウントできなくなる可能性があります。
この問題を解決するには、以下の手順を実行します。
新しいセキュリティグループ規則は、4.11以降のバージョンで導入されました。 これらのルールの変更は、File Storage for VPCを使用する前にセキュリティグループを同期する必要があることを意味します。 クラスタが初期バージョン4.11またはそれ以前のバージョンで作成されている場合は、以下のコマンドを実行してセキュリティ・グループ設定を同期します。
-
クラスタの初期バージョンが4.11またはそれ以前の場合:
- クラスタのIDを取得します。
ibmcloud oc cluster ls
kube-<clusterID>
セキュリティグループのIDを取得する。ibmcloud is sg kube-<cluster-id> | grep ID
- 前のステップで取得したIDを使って、
kube-<clusterID>
セキュリティグループを同期します。ibmcloud ks security-group sync -c <cluster ID> --security-group <ID>
- クラスタのIDを取得します。
-
クラスタがバージョン4.11以降で作成されている場合は、PodがデプロイされているワーカーノードがVNIセキュリティグループにallowlistedされていることを確認してください。
- 問題が解決しない場合は、サポートにお問い合わせください。 サポート Case を開きます。 ケースの詳細には、関連するログ・ファイル、エラー・メッセージ、またはコマンド出力を必ず含めてください。