3 つのレプリカを持つ Kubernetes デプロイ アプリがあり、レプリカごとに7 GB のストレージが必要です。新しい空のazureDiskストレージをアタッチして、このデプロイで作成された各ポッド/レプリカにマウントできるようにしたいと考えています。
基本的に、次の制限があります。
- Statefulset ではなく、Deployment を使用する必要があります
- ポッドが停止し、新しいポッドが起動するたびに、状態がなくなり、新しい空の azureDisk がアタッチされます。
- ポッドはストレージを共有せず、各ポッドには独自の 7 GB ストレージがあります。
- オンデマンドで 7 GB のストレージが必要なため、ポッドは azureDisk を使用する必要があります。つまり、デプロイ レプリカをスケーリングするときに azureStorage を動的に作成します。
azureDisk を使用する場合、アクセス モード タイプ ReadWriteOnce で使用する必要があり (ドキュメントに記載されているように)、このディスクにポッドが 1 つだけ接続されますが、これはポッドが 1 つある場合にのみ機能します。複数のポッド、同じクレームを使用することはできません...最初のクレームのように、より多くのストレージを動的に要求する方法はありますか?
注 1: volumeClaimTemplates があることは知っていますが、それは Statefulset にのみ関連しています。
注 2: ポッドが 100 回再起動されてもかまいません。これにより、100 PV が作成され、1 つだけが使用されます。問題ありません。