CustomResourceDefinition で特定のストレージにバインドするようにMongoDBリソースを構成できます。MongoDB
MongoDBpersistence
CustomResourceDefinition の フィールドを使用すると、 Kubernetes がMongoDB のカスタム リソースから生成されたログとメタデータを保存する場所をより正確に管理できます。ログとメタデータのストレージを制御すると、この生成されたメタデータを管理および操作するプロセスをよりきめ細やかに制御できます。
MongoDB CustomResourceDefinition では、コンポーネントごとに永続性設定を構成できます。これらの設定では、特定のコンポーネントと 1 つ以上の関連するPersistentVolume
リソースとの関係を指定できます。これはMongoDBカスタム リソースからの出力を保存します。
persistence
設定は、Kubernetes クラスター内の MongoDB カスタム リソースが管理するオブジェクトに関連付けられたpersistentVolumes
の数とストレージ容量を指定します。
前提条件
MongoDB 配置のストレージ オプションを構成するには、MongoDB Kubernetes Operator を通じて配置された MongoDB レプリカセット が必要です。または、次の前提条件を満たす必要があります。
手順
PersistentVolume
特定のコンポーネントがすべてのMongoDB CustomResourceDefinition 出力を保存する単一のpersistence
single
を作成するには、コンポーネントの を として定義します。コンポーネントのPersistentVolume
data
、 、 に対して個別のjournal
logs
を作成するには、コンポーネントのpersistence
をmultiple
として定義します。
MongoDB カスタム リソースを更新します。
次の例に示すように、MongoDB CRD 定義のpersistence
セクションにデータを入力します。
1 2 apiVersion: mongodb.com/v1 3 kind: MongoDB 4 metadata: 5 name: my-sharded-cluster 6 spec: 7 shardCount: 2 8 mongodsPerShardCount: 3 9 mongosCount: 2 10 configServerCount: 3 11 version: "6.0.0" 12 service: my-service 13 type: ShardedCluster 14 15 persistent: true 16 17 configSrvPodSpec: 18 persistence: 19 single: true 20 21 shardPodSpec: 22 persistence: 23 multiple: 24 # if the child of "multiple" is omitted then the default size will be used. 25 # 16GB for "data", 1GB for "journal", 3GB for "logs" 26 data: 27 storage: "20Gi" 28 storageClass: standard # You must define a storageClass, as the Operator creates a PVC, which will only create an associated PV with a backing storageClass. 29 logs: 30 storage: "4Gi" 31 storageClass: standard 32 ...