Search code examples
mongodbkubernetesstatefulset

Is it possible to have 2 or more PVC in a statefulset?


I have a statefulset from mongo with 2 volumemounts:

          volumeMounts:
            - name: mongo-persistent-storage
              mountPath: /data/db
            - name: mongo-config-storage
              mountPath: /data/configdb

I want to know how to add the second volume in volumeClaimTemplates:

  volumeClaimTemplates:
  - metadata:
      name: mongo-persistent-storage
      annotations:
          volume.beta.kubernetes.io/storage-class: "sc-infra"
    spec:
      accessModes: [ "ReadWriteOnce" ]
      resources:
        requests:
          storage: 2Gi

Solution

  • Just append additional claim to your volumeClaimTemplates. Example:

    volumeClaimTemplates:
    - metadata:
        name: mongo-persistent-storage
        annotations:
           volume.beta.kubernetes.io/storage-class: "sc-infra"
      spec:
        accessModes: [ "ReadWriteOnce" ]
        resources:
          requests:
            storage: 2Gi
    - metadata:              # <-- append another claim
        name: mongo-config-storage
      spec:
        storageClassName: sc-infra
        accessModes: ["ReadWriteOnce"]
        resources:
          requests:
            storage: 1Gi