Uploaded image for project: 'Couchbase Kubernetes'
  1. Couchbase Kubernetes
  2. K8S-2920

Modify Backup Volumes for HA Situations

    XMLWordPrintable

Details

    • 7 - Til the Krack of dawn
    • 5

    Description

      Overview

      Add in an a boolean spec.ephemeralVolume. This will allow backup to a remote storage provider using a volume which is created/destroyed with the backup pod.

      Backwards Compatability

      The default of spec.ephemeralVolume will be false

      Add

      CouchbaseBackup.spec.ephemeralVolume

      CouchbaseBackupRestore.spec.stagingVolume.size

      CouchbaseBackupRestore.spec.stagingVolume.storageClass

       

      DAC

      if CouchbaseBackup.spec.ephemeralVolume is true and no cloud backup strategy is provided, the DAC will reject the request

      Operator -> CronJob Changes

      if spec.ephemeralVolume is true -> Create Ephemeral Volume on CronJobs PodSpec

      Testing

      • No changes to existing tests
      • New test to ensure that PV does not exist after backup run with spec.ephemeralVolume == true
      • use node selector to run backup on node, change node run backup. no fail?

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            sciornei_amdocs Seb added a comment -

            Hi,

            by ephemeral you mean emptyDir (on the local disk, e.g. /var/lib/kubelet)? If so, we have to make sure the required disk is available on local.

            Or it's a PV which will be removed after backup ends?

            sciornei_amdocs Seb added a comment - Hi, by ephemeral you mean emptyDir (on the local disk, e.g. /var/lib/kubelet)? If so, we have to make sure the required disk is available on local. Or it's a PV which will be removed after backup ends?
            Alex.emery Alex Emery added a comment -

            Hi Seb

            its a PV that shares its lifecycle with the corresponding pod. https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#lifecycle-and-persistentvolumeclaim

            It's generated when the pod is created and destroyed when the pod is destroyed

            Alex.emery Alex Emery added a comment - Hi Seb its a PV that shares its lifecycle with the corresponding pod. https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#lifecycle-and-persistentvolumeclaim It's generated when the pod is created and destroyed when the pod is destroyed

            Hey Seb,

            We'll be using generic ephemeral volumes https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes

            They have an underlying PV but are released afterwards.

            justin.ashworth Justin Ashworth added a comment - Hey Seb, We'll be using generic ephemeral volumes https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes They have an underlying PV but are released afterwards.
            sciornei_amdocs Seb added a comment -

            Great.

            It requires k8s 1.23+, but we should be ok with that.

            Can you please add a test:

            • use node selector to run backup on node, turn off node during backup, change node run backup. no fail (either new backup or resume).

             

             

             

            sciornei_amdocs Seb added a comment - Great. It requires k8s 1.23+, but we should be ok with that. Can you please add a test: use node selector to run backup on node, turn off node during backup, change node run backup. no fail (either new backup or resume).      

            Build couchbase-operator-2.4.0-174 contains couchbase-operator commit 7ecda02 with commit message:
            K8S-2920: Make backup HA

            build-team Couchbase Build Team added a comment - Build couchbase-operator-2.4.0-174 contains couchbase-operator commit 7ecda02 with commit message: K8S-2920 : Make backup HA

            Build couchbase-operator-2.5.0-110 contains couchbase-operator commit 7ecda02 with commit message:
            K8S-2920: Make backup HA

            build-team Couchbase Build Team added a comment - Build couchbase-operator-2.5.0-110 contains couchbase-operator commit 7ecda02 with commit message: K8S-2920 : Make backup HA

            People

              Alex.emery Alex Emery
              justin.ashworth Justin Ashworth
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty