MongoDB リソースのストレージ オプションの構成
CustomResourceDefinition で特定のストレージにバインドするようにMongoDBリソースを構成できます。MongoDB
MongoDB CustomResourceDefinition のpersistence
フィールドを使用すると、 KubernetesがMongoDBのカスタム リソースから生成されたログとメタデータを保存する場所をより正確に管理できます。ログとメタデータのストレージを制御すると、この生成されたメタデータを管理および操作するプロセスをよりきめ細やかに制御できます。
MongoDB CustomResourceDefinition でコンポーネントごとに永続性設定を構成できます 。これらの設定では、特定のコンポーネントと 1 つ以上の関連するPersistentVolume
リソースとの関係を指定できます。これは MongoDB カスタム リソースからの出力を保存します。
persistence
設定は、Kubernetes クラスター内の MongoDB カスタム リソースが管理するオブジェクトに関連付けられたpersistentVolumes
の数とストレージ容量を指定します。
前提条件
MongoDB 配置のストレージ オプションを構成するには、MongoDB Kubernetes Operator を通じて配置された MongoDB レプリカセット が必要です。または、次の前提条件を満たす必要があります。
手順
特定のコンポーネントがすべての MongoDB CustomResourceDefinition を保存する単一の を作成しますPersistentVolume
出力で、コンポーネントのpersistence
をsingle
として定義します。コンポーネントのdata
、 journal
、 logs
に対して個別のPersistentVolume
を作成するには、コンポーネントの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 ...