MongoDB 리소스에 대한 스토리지 옵션 구성
CustomResourceDefinition 에서 특정 저장 에 바인딩하도록 MongoDB 리소스를 구성할 수 있습니다.MongoDB
persistence
MongoDB CustomResourceDefinition의 필드 를 사용하면 Kubernetes 가 MongoDB 사용자 지정 리소스에서 생성된 로그와 메타데이터 를 저장하는 위치를 보다 정확하게 관리 수 있습니다. 로그 및 메타데이터 저장 를 제어하면 이 생성된 메타데이터 를 관리 하고 상호 작용 하는 프로세스를 보다 세밀하게 제어할 수 있습니다.
MongoDB CustomResourceDefinition 에서 구성 요소별로 지속성 설정을 구성할 수 있습니다. . 이러한 설정을 사용하면 지정된 구성 요소와 MongoDB 사용자 지정 리소스의 출력을 저장 하는 하나 이상의 관련 PersistentVolume
리소스 간의 관계 를 지정할 수 있습니다.
persistence
설정은 Kubernetes 클러스터 에서 MongoDB 사용자 지정 리소스 관리 객체와 연결된 persistentVolumes
의 수와 저장 용량 을 지정합니다.
전제 조건
MongoDB deployment 에 대한 저장 옵션을 구성하려면 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 ...