問題はあったようです かなり前に解決されました 。回答とコメントが実際の解決策を提供していないため、経験豊富なユーザーから助けを求めたいと思います
エラーは次のとおりです(ContainerCreating状態を維持するポッドを説明する場合):
Multi-Attach error for volume "pvc-xxx" Volume is already exclusively attached to one node and can't be attached to another
これはすべてGKEで実行されます。以前のクラスターを使用していたが、問題は発生しなかった。この新しいクラスターを作成するときに同じディスクを再利用しました—関連しているかどうかはわかりません
これは完全なyaml設定ファイルです (私はそれを強調するために関係するコード部分をコメント化したままにします;効果的に使用しているときではありません)
明らかな回避策の場合は事前に感謝
あなたの説明に基づいて、あなたが経験していることはまさに起こるはずです。
PV/PVC定義 でgcePersistentDisk
を使用しています。 accessMode
はReadWriteOnce
です-これは、このPVが単一のNodeにのみ接続できることを意味します(stressingNodeここでは、同じNodeで複数のポッドが実行されている可能性があります。 PV)。これについてできることは多くありません。 gcePersistentDisk
はリモートブロックデバイスのようなものであり、複数のNodesに同時にマウントすることはできません(を除く)読み取り専用)。
ニース サポートされているPVがReadWriteMany
(つまり、複数のNodesに対する書き込みアクセス権を示す表)同時に):
重要!ボリュームは、一度に1つのアクセスモードを使用してのみマウントできます。たとえば、GCEPersistentDiskは、単一のノードではReadWriteOnceとして、または多くのノードではReadOnlyManyとしてマウントできますが、同時にマウントすることはできません。
デプロイyamlには5つのレプリカが表示されますが、これはGCE PD in ReadWriteOnce
モードでは機能しません。GCEPDは複数のノードにのみ接続できますReadOnlyMany
モード。
すべてのレプリカで書き込み可能な共有ストレージが必要な場合は、NFSやGlusterなどのマルチライターソリューションを検討する必要があります。
各レプリカに独自のディスクが必要な場合は、レプリカごとにPVCを持つStatefulSetを使用できます。