NetBackup™ for Kubernetes Administrator's Guide

Last Published:
Product(s): NetBackup & Alta Data Protection (10.5)
  1. Overview of NetBackup for Kubernetes
    1.  
      Overview
    2.  
      Features of NetBackup support for Kubernetes
  2. Deploying and configuring the NetBackup Kubernetes operator
    1.  
      Prerequisites for NetBackup Kubernetes Operator deployment
    2.  
      Deploy service package on NetBackup Kubernetes operator
    3.  
      Port requirements for Kubernetes operator deployment
    4.  
      Upgrade the NetBackup Kubernetes operator
    5.  
      Delete the NetBackup Kubernetes operator
    6.  
      Configure NetBackup Kubernetes data mover
    7.  
      Automated configuration of NetBackup protection for Kubernetes
    8. Configure settings for NetBackup snapshot operation
      1.  
        Kubernetes operators supported configuration parameters
      2.  
        Prerequisites for backup from snapshot and restore from backup operations
      3.  
        DTE client settings supported in Kubernetes
      4.  
        Customization of datamover properties
    9.  
      Troubleshooting NetBackup servers with short names
    10.  
      Data mover pod schedule mechanism support
    11.  
      Validating accelerator storage class
  3. Deploying certificates on NetBackup Kubernetes operator
    1.  
      Deploy certificates on the Kubernetes operator
    2.  
      Perform Host-ID-based certificate operations
    3.  
      Perform ECA certificate operations
    4.  
      Identify certificate types
  4. Managing Kubernetes assets
    1.  
      Add a Kubernetes cluster
    2. Configure settings
      1.  
        Change resource limits for Kuberentes resource types
      2.  
        Configure autodiscovery frequency
      3.  
        Configure permissions
    3.  
      Add protection to the assets
    4. Scan for malware
      1.  
        Assets by workload type
  5. Managing Kubernetes intelligent groups
    1.  
      About intelligent group
    2.  
      Create an intelligent group
    3.  
      Delete an intelligent group
    4.  
      Edit an intelligent group
  6. Managing Kubernetes policies
    1.  
      Create a policy
  7. Protecting Kubernetes assets
    1.  
      Protect an intelligent group
    2.  
      Remove protection from an intelligent group
    3.  
      Configure backup schedule
    4.  
      Configure backup options
    5.  
      Configure backups
    6.  
      Configure Auto Image Replication (A.I.R.) and duplication
    7.  
      Configure storage units
    8.  
      Volume mode support
    9.  
      Configure application consistent backup
  8. Managing image groups
    1. About image groups
      1.  
        Image expire
      2.  
        Image copy
  9. Protecting Rancher managed clusters in NetBackup
    1.  
      Add Rancher managed RKE cluster in NetBackup using automated configuration
    2.  
      Add Rancher managed RKE cluster manually in NetBackup
  10. Recovering Kubernetes assets
    1.  
      Explore and validate recovery points
    2.  
      Restore from snapshot
    3.  
      Restore from backup copy
  11. About incremental backup and restore
    1.  
      Incremental backup and restore support for Kubernetes
  12. Enabling accelerator based backup
    1.  
      About NetBackup Accelerator support for Kubernetes workloads
    2.  
      Controlling disk space for track logs on primary server
    3.  
      Effect of storage class behavior on Accelerator
    4.  
      About Accelerator forced rescan
    5.  
      Warnings and probable reason for Accelerator backup failures
  13. Enabling FIPS mode in Kubernetes
    1.  
      Enable Federal Information Processing Standards (FIPS) mode in Kubernetes
  14. About Openshift Virtualization support
    1.  
      OpenShift Virtualization support
    2.  
      Application consistent virtual machines backup
    3.  
      Troubleshooting for virtualization
  15. Troubleshooting Kubernetes issues
    1.  
      Error during the primary server upgrade: NBCheck fails
    2.  
      Error during an old image restore: Operation fails
    3.  
      Error during persistent volume recovery API
    4.  
      Error during restore: Final job status shows partial failure
    5.  
      Error during restore on the same namespace
    6.  
      Datamover pods exceed the Kubernetes resource limit
    7.  
      Error during restore: Job fails on the highly loaded cluster
    8.  
      Custom Kubernetes role created for specific clusters cannot view the jobs
    9.  
      Openshift creates blank non-selected PVCs while restoring applications installed from OperatorHub
    10.  
      NetBackup Kubernetes operator become unresponsive if PID limit exceeds on the Kubernetes node
    11.  
      Failure during edit cluster in NetBackup Kubernetes 10.1
    12.  
      Backup or restore fails for large sized PVC
    13.  
      Restore of namespace file mode PVCs to different file system partially fails
    14.  
      Restore from backup copy fails with image inconsistency error
    15.  
      Connectivity checks between NetBackup primary, media, and Kubernetes servers.
    16.  
      Error during accelerator backup when there is no space available for track log
    17.  
      Error during accelerator backup due to track log PVC creation failure
    18.  
      Error during accelerator backup due to invalid accelerator storage class
    19.  
      Error occurred during track log pod start
    20.  
      Failed to setup the data mover instance for track log PVC operation
    21.  
      Error to read track log storage class from configmap

Prerequisites for backup from snapshot and restore from backup operations

  1. Label a valid storage class for NetBackup usage. Add the following labels based on the VolumeModes (Block or Filesystem) that the storage class supports.

    • For a Filesystem based Persistent volume claim provisioning Storage class:

      veritas.com/default-csi-filesystem-storage-class=true

    • For a Block based Persistent volume claim provisioning Storage class:

      veritas.com/default-csi-storage-class=true

    If the NetBackup-labeled storage class is not found then the Backup from snapshot and Restore from backup copy fails with an error message: No eligible storage classes found.

    To label the storage classes, run the following commands that are shown in the examples:

    Example 1. Run the command:# kubectl get sc

    Name

    Provisioner

    ocs-storagecluster-ceph-rbd (default)

    openshift-storage.rbd.csi.ceph.com

    ocs-storagecluster-ceph-rgw

    openshift-storage.ceph.rook.io/bucket

    ocs-storagecluster-ceph-rbd

    openshift-storage.cephfs.csi.ceph.com

    Openshift-storage.noobaa.io

    openshift-storage.noobaa.io/obc

    thin

    kubernetes.io/vsphere-volume

    Reclaim policy

    Volume binding mode

    Allow volume expansion

    Age

    Delete

    Immediate

    True

    2d2h

    Delete

    Immediate

    False

    2d2h

    Delete

    Immediate

    True

    2d2h

    Delete

    Immediate

    False

    2d2h

    Delete

    Immediate

    False

    19h

    Note:

    You need a storage class with volume binding mode set to Immediate. If the PVC volume binding mode is WaitForFirstConsumer then it affects the creation of the snapshot from the PVC. This situation can cause the backup jobs to fail.

    Example 2. Run the command:# kubectl get sc ocs-storagecluster-ceph-rbd --show-labels

    Name

    Provisioner

    Reclaim policy

    ocs-storagecluster-ceph-rbd (default)

    openshift-storage.rbd.csi.ceph.com

    Delete

    Volume binding mode

    Allow volume expansion

    Age

    Label

    Immediate

    True

    2d2h

    netbackup.veritas.com/default-csi-storage-class=true

    Example 3. Run the command: oc label storageclass ocs-storagecluster-cephfs netbackup.veritas.com/default-csi-storage-class=true

    storageclass.storage.k8s.io/ocs-storagecluster-cephfs labeled

    Example 4. Run the command:kubectl get sc ocs-storagecluster-cephfs --show-labels

    Name

    Provisioner

    Reclaim policy

    ocs-storagecluster-cephfs

    openshift-storage.cephfs.csi.ceph.com 

    Delete

    Volume binding mode

    Allow volume expansion

    Age

    Label

    Immediate

    True

    2d2h

    netbackup.veritas.com/default-csi-storage-class=true

  2. Label a valid volume snapshot class for NetBackup usage, add the following label: netbackup.veritas.com/default-csi-volume-snapshot-class=true. If the NetBackup labeled VolumeSnapshotClass class is not found, then backup from snapshot job for metadata image and restore jobs fails with an error message: Failed to create snapshot of the Kubernetes namespace.

    To label the volume snapshot classes, run the following commands given the examples:

    Example 1. Run the command:# kubectl get volumesnapshotclass

    Name

    Driver

    ocs-storagecluster-cephfsplugin-snapclass

    openshift-storage.cephfs.csi.ceph.com

    ocs-storagecluster-rbdplugin-snapclass

    openshift-storage.rbd.csi.ceph.co

    Deletion policy

    Age

    Delete

    2d2h

    Delete

    2d2h

    Example 2. Run the command:# kubectl get volumesnapshotclass ocs-storagecluster-cephfsplugin-snapclass --show-labels

    Name

    Driver

    ocs-storagecluster-cephfsplugin-snapclass

    openshift-storage.cephfs.csi.ceph.com

    Deletion policy

    Age

    Delete

    2d2h

    Example 3. Run the command:# kubectl label volumesnapshotclass ocs-storagecluster-cephfsplugin-snapclass netbackup.veritas.com/default-csi-volume-snapshot-class=true

    volumesnapshotclass.snapshot.storage.k8s.io/ocs-storagecluster-cephfsplugin-snapclass labeled

    Example 4. Run the command:# kubectl get volumesnapshotclass ocs-storagecluster-cephfsplugin-snapclass --show-labels

    Name

    Driver

    ocs-storagecluster-cephfsplugin-snapclass

    openshift-storage.cephfs.csi.ceph.com

    Deletion policy

    Age

    Labels

    Delete

    2d2h

    netbackup.veritas.com/default-csi-volume-snapshot-class=true

  3. Each primary server which runs the backup from snapshot and restore from backup copy operations, needs to create a separate ConfigMap with the primary server's name.

    In the following configmap.yaml example:

    • backupserver.sample.domain.com and mediaserver.sample.domain.com are the host names of the NetBackup primary and media server.

    • IP: 10.20.12.13 and IP: 10.21.12.13 are the IP addresses of the NetBackup primary and media server.

    apiVersion: v1
    data:
      datamover.hostaliases: |
            10.20.12.13=backupserver.sample.domain.com
            10.21.12.13=mediaserver.sample.domain.com
      datamover.properties: |
            image=reg.domain.com/datamover/image:latest
      version: "1"
    kind: ConfigMap
    metadata:
      name: backupserver.sample.domain.com
      namespace: kops-ns
    
    • Copy the configmap.yaml file details.

    • Open the text editor and paste the yaml file details.

    • Save the file with the yaml file extension to the home directory from where the Kubernetes clusters are accessible.

  4. Specify datamover.properties: image=reg.domain.com/datamover/image:latest with correct data mover image.

  5. Specify datamover.hostaliases, if the primary server and the media servers that are connected to the primary server have short names and host resolution failing from the data mover. Provide a mapping of all the host names to the IPs for the primary and the media servers.

  6. Create a secret as described in detail in the Point 6 in the Deploy service package on NetBackup Kubernetes operator section to use a private docker registry.

    Once the secret is created, add the following attributes while creating a configmap.yaml file.

    datamover.properties: | image=repo.azurecr.io/netbackup/datamover:10.0.0049 imagePullSecret=secret_name

  7. Create the configmap.yaml file. Run the command: kubectl create -f configmap.yaml.

  8. If the Kubernetes operator is not able to resolve the primary server with the short names, refer to the following guidelines.

    • If you get the following message when you fetch the certificates:EXIT STATUS 8500: Connection with the web service was not established. Then, verify the host name resolution state from the nbcert logs.

    • If the host name resolution fails, then update the values.yaml file with hostAliases.

    • In the following hostAliases example:

      • backupserver.sample.domain.com and mediaserver.sample.domain.com are the host names of the NetBackup primary and media server.

      • IP: 10.20.12.13 and IP: 10.21.12.13 are the IP addresses of NetBackup primary and media server.

      hostAliases:
      - hostnames:
        - backupserver.sample.domain.com
        ip: 10.20.12.13
      - hostnames:
        -  mediaserver.sample.domain.com
        ip: 10.21.12.13
      

      Copy, paste the hostAliases example details in the text editor and add to the hostAliases in the deployment.

      Note:

      The hostAliases section must be added in the default file ./netbackupkops-helm-chart/values.yaml.

      hostAliases example:

      2104	hostAliases;
      -	ip:10.15.206.7
      hostnames:
      -	lab02-linsvr-01.demo.sample.domain.com
      -	lab02-linsvr-01
      -	ip:10.15.206.8
      hostnames:
      -	lab02-linsvr-02.demo.sample.domain.com
      -	lab02-linsvr-02
      imagePullSecrets:
      -	name:  {{ .values.netbackupKops.imagePullSecrets.name}}
      
  9. Create a secret with fingerprint and authorization token.

    For more information about creating the secret and backupservercert, refer to the section Deploying certificates on NetBackup Kubernetes operator in the NetBackup for Kubernetes Administrator's Guide.

  10. Create a backupservercert request to fetch certificates.

    For more information, refer to Deploying certificates on NetBackup Kubernetes operatorin the NetBackup for Kubernetes Administrator's Guide.

    For more information, refer to the NetBackup Security and Encryption Guide.

    Note:

    This step is mandatory to have successful backup from snapshot and restore from backup copies.