Question

Kubernetes PVC volume backup

  • 1 March 2024
  • 3 replies
  • 44 views

Userlevel 1
Badge +5

Hi

 

I am trying to backup a Kubernetes PVC volume backup, but how do I get a list up so I can pick the correct PVC backup?

I am not able to find any Commvault documentation on this “Value” that is needed.

 

Thanks in advance!

 

 


3 replies

Userlevel 6
Badge +14

@Anders Trier Rasmussen 

Did you check Doc link also?

 

Here is the content of the forum link above:

Introducing Kubernetes Label Selector searches across namespaces

 

One of the benefits of application modernizationcontainers, and orchestrating your data-center with Kubernetes is the ability to move to 'fully programmable' infrastructure.

Now, while this makes the developers day much much easier as they provision apps / storage whenever and wherever they need it - what impact does that have on backup & recovery?

Well, for Metallic (and Commvault) it is simple...

Commvault is cloud-native, and we use Kubernetes Label Selectors to automatically discover applications based on the 'labels' that developers apply to their apps.

Let's take a look at a standard application definition:

apiVersion: v1
kind: ConfigMap
metadata:
name: postgres-config-demo
namespace: env-prod
labels:
app: postgres
data:
POSTGRES_DB: demopostgresdb
POSTGRES_USER: demopostgresadmin
POSTGRES_PASSWORD: demopostgrespwd
---
apiVersion: v1
kind: Service
metadata:
name: postgres
namespace: env-prod
labels:
app: postgres
spec:
ports:
- port: 5432
name: postgres
clusterIP: None
selector:
app: postgres
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: postgres-demo
namespace: env-prod
spec:
serviceName: "postgres"
replicas: 3
selector:
matchLabels:
app: postgres
template:
metadata:
labels:
app: postgres
spec:
containers:
- name: postgres
image: postgres:latest
envFrom:
- configMapRef:
name: postgres-config-demo
ports:
- containerPort: 5432
name: postgredb
volumeMounts:
- name: postgredb
mountPath: /var/lib/postgresql/data
subPath: postgres
volumeClaimTemplates:
- metadata:
name: postgredb
namespace: env-prod
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: rook-ceph-block
resources:
requests:

In this case the developer has flagged this application as 

env=prod, or

environment = production in longer form ...

 

Now we just tell Commvault about this setting in the Application Group definition

 

We support searching within a single namespace

env=prod -n some_namespace

But now, from 11.23 we can now search for labelled applications across all namespaces in the cluster

env=prod --all-namespaces

This means Kubernetes backup is effectively - set and forget...

Let's click PREVIEW and see what our label selector has found....

 

We found a number of production applications across the cluster. which we will now protect on the next backup run.

Commvault performs this check at backup time, meaning with adjust data protection to the developer - we get out of the way of the developer and let the business dictate what data is protected - the IT-Ops team simply needs to define plans for each data / label type:

  • Production
  • Development
  • QA
  • Mission-critical

Now that's truly simplified, intelligent data management..…

 

Best Regards,

Sebastien

Userlevel 1
Badge +5

Hi Sebastien

 

Many thanks for your reply. But I am not able to look at this forum topic even I am logged into as a partner to Commvault.

Userlevel 6
Badge +14

Hi @Anders Trier Rasmussen ,

Can you check this forum:

 

And this is in our documentation:

https://documentation.commvault.com/2023e/essential/creating_custom_application_group_for_kubernetes.html

Best Regards,

Sebastien

Reply