2

問題はsolved a long time agoと思われます。回答とコメントは実用的な解決策を提供していないため、経験豊富なユーザーの助けを借りたいですボリュームのGKE /マルチアタッチエラーのボリュームクレームは既に排他的にアタッチされています

Multi-Attach error for volume "pvc-xxx" Volume is already exclusively attached to one node and can't be attached to another 

このGKE上のすべてのラン:

エラー(ContainerCreating状態に維持ポッドを記述する場合)以下です。私は以前のクラスターを持っていて、問題は発生しませんでした。この新しいクラスタを作成するときに、私は、同じディスクを再利用している -

Here is the full yaml config filesそれが関連しているかどうかわからない(私はそれを強調するようにコメント懸念コード部分を残している、それが効果的に使用していないときである)

+0

実際にはどのポッドにも接続されていますか?あなたはこのpvcをどのように使っているのか、どのように作成したのかを教えてください。私たちが助けるために、より多くの情報を含めてください。 –

+0

@JanosLenartは完全な設定を追加しました。クラスタには2つのノードがあります。私は2つのレプリカを持っていたとしましょう。ディスクが2つのノードのいずれかにロックされていて、ポッドの1つが他のノードに接続されていると、上記のエラーが表示されます。私はどこを見るか分からない。それと同時に、これは実際にはずっと前に解決されたような問題です。私のクラスターがどこかでねじ込まれていないのだろうかと思っています。私はGoogleによって広告されたようにディスクをフォーマットしました。 pv/pvc/deploymentの設定が同じで、以前のクラスタで問題なくtiを使用しました – Ben

答えて

2

あなたの記述に基づいて、実際に起こっていることが起こっていると思われることに基づいています。

PV/PVC definitiongcePersistentDiskを使用しています。 accessModeReadWriteOnceある - これは、このPVは単一ノードに取り付けることができることを意味する(ここでノードを強調し、同じPVを使用して同じノードで実行されている複数のポッドが存在することができます)。これについてあなたができることはあまりありません。 gcePersistentDiskはリモートブロックデバイスのようなものですが、複数のノードに同時にマウントすることはできません(読み取り専用を除く)。

素敵table that shows which PVs support ReadWriteManyは(つまり、同時に複数のノード上の書き込みアクセスを)あり:

重要!複数のボリュームをサポートしている場合でも、ボリュームは一度に1つのアクセスモードでのみマウントできます。たとえば、GCEPersistentDiskは、単一ノードまたは複数のノードでReadOnlyManyによってReadWriteOnceとしてマウントできますが、同時にはマウントできません。

+0

これで100%のセンスが得られました。私はポイントを逃した、ちょうど前の1つのレプリカを設定していない – Ben

+0

私は同じエラーを抱えているが、私は実際にどのノードにPVCがバインドされ、どのようにポッドに "移動"それはPVCを必要とします - 私は1つのノード(ラベルによって)に固定したポッドです。私は 'helm install stable/jenkins'を使い、その配備を削除し、何度か' helm install'しました。私が「誰」またはクレームを敷いたことを理解すれば、おそらく死んでしまうのです。 – ChrHansen

+0

これに戻る。ポッド/デプロイメントでnodeSelectorを使用することを強くお勧めしますか?それが関連するノードに着陸するために。また、最終的にノードを変更するとどうなりますか?ディスクを手動で接続する必要がありますか?ディスクを使用するような気がするのは、最初に見たよりも難しく、 "自動化された"ということからは遠いです。この例(https://cloud.google.com/kubernetes-engine/docs/tutorials/persistent-disk)は初心者にとって多かれ少なかれ、2つの非常に潜在的な問題を公開するものではありません。それは誤解を招くような感じです – Ben

1

デプロイメントyamlには、ReadWriteOnceモードのGCE PDでは動作しない5つのレプリカが表示されます。 GCE PDは、ReadOnlyManyモードの複数のノードにのみ接続できます。

すべてのレプリカ間で書き込み可能な共有ストレージが必要な場合は、NFSまたはGlusterのようなマルチライターソリューションを検討する必要があります。

各レプリカに独自のディスクを作成する場合は、ステートフルセットを使用できます。ステートフルセットには、レプリカごとにPVCがあります。

関連する問題