Navigation

Configure Queryable Backups for Ops Manager Resources

On this page

You can configure queryable backups for Ops Manager resources that you deploy in the Kubernetes Operator.

Note

In the Ops Manager documentation, queryable backups are also referred to as queryable snapshots, or queryable restores.

Queryable backups allow you to run queries on specific backup snapsnots from your Ops Manager resources. Querying Ops Manager backups helps you compare data from different snapshots and identify the best snapshot to use for restoring data.

In the following procedure you:

  • Create the queryable.pem file that holds the certificates for accessing the backup snapshots that you intend to query.
  • Create the secret containing the queryable.pem file.
  • Configure an Ops Manager custom resource to use the secret for queryable backups.
  • Save the Ops Manager custom resource configuration and apply it.

Once the Kubernetes Operator deploys the updated configuration for its custom resource, Ops Manager can read the secret from the spec.backup.queryableBackupSecretRef.name parameter. You can now access the backup snapshots and run queries on them.

Prerequisites

Before you configure queryable backups, complete the following tasks:

Procedure

1

Configure kubectl to default to your namespace.

If you have not already, run the following command to execute all kubectl commands in the namespace you created:

kubectl config set-context $(kubectl config current-context) --namespace=<metadata.namespace>
2

Create the PEM file for backups.

Create the Ops Manager queryable.pem file that you will use for accessing and querying backups based on your deployment’s TLS requirements. The PEM file contains a public key certificate and its associated private key that are needed to access and run queries on backup snapshots in Ops Manager.

To learn more about the PEM file’s requirements, see Authorization and Authentication Requirements in Ops Manager.

3

Create a secret containing the PEM file.

Run the following command to create a secret with the queryable.pem file that you created in the previous step:

kubectl create secret generic queryable-pem --from-file=./queryable.pem

If you’re using HashiCorp Vault as your secret storage tool, you can Create a Vault Secret instead.

To learn about your options for secret storage, see Configure Secret Storage.

4

Configure Ops Manager custom resource to use the secret.

Configure spec.backup.queryableBackupSecretRef.name to reference the queryable.pem secret.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
  apiVersion: mongodb.com/v1
  kind: MongoDBOpsManager
  metadata:
    name: ops-manager
  spec:
    replicas: 1
    version: 6.0.0
    adminCredentials: ops-manager-admin-secret
    backup:
      enabled: true
      queryableBackupSecretRef:
        name: om-queryable-pem
5

Save your Ops Manager config file.

6

Apply changes to your Ops Manager deployment.

Invoke the following kubectl command on the filename of the Ops Manager resource definition:

kubectl apply -f <opsmgr-resource>.yaml

When you apply the changes to your Ops Manager resource definition, Kubernetes updates the Ops Manager StatefulSet, creates the volumes, and mounts the Secrets.

7

Track the status of the mounted volumes and Secrets.

  1. Obtain the list of persistent volume claims:

    kubectl get pvc
    
  2. Obtain the Secrets:

    kubectl get secrets
    
  3. Check the status of your Ops Manager resources:

    kubectl get om <resource-name> -o yaml -w
    

    The -w flag means “watch”. With the “watch” flag set, the output refreshes immediately when the configuration changes until the status phase achieves the Running state.

    To learn more about the resource deployment statuses, see Troubleshoot the Kubernetes Operator.

After you configure queryable backups, you can query them to select the best backup snapshot to use for restoring data.