Migration and upgrade of Snapshot Manager
Users can manually migrate Snapshot Manager registered with NetBackup to Kubernetes Service cluster environment by performing the following steps:
Disable Snapshot Manager from NetBackup.
Stop services on the Snapshot Manager VM.
Create and attach a disk to the VM which will be used as PV for mongoDB:
Copy contents from
/cloudpoint/mongodbto the new disk .Copy
flexsnap.confandbp.confconfiguration files to the VM from where cluster is accessible.Detach the disk from VM and move it to cluster resources group (RG):
MC_<clusterRG>_<cluster name>_<cluster_region>From VM perform the following steps:
Create configuration maps using the following command:
kubectl create cm agentconf --from-file=<path to flexsnap.conf > -n <application namespace>
kubectl create cm nbuconf --from-file=<path to bp.conf> -n <application namespace>
Create Snapshot Manager Secrets using the following command:
kubectl create secret generic cp-creds --from-literal=username='<username>' --from-literal=password='<password>'
Create mongodb Persistent Volume and Persistent Volume Claim as follows:
apiVersion: v1 kind: PersistentVolume metadata: name: pv-azuredisk spec: capacity: storage: <Size of the disk> accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: <Storage class name> csi: driver: disk.csi.azure.com readOnly: false volumeHandle: <Resource ID of the disk> volumeAttributes: fsType: <FS type> apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mongo-persistent-storage-flexsnap-mongodb-0 spec: accessModes: - ReadWriteOnce resources: requests: storage: <Disk size> volumeName: pv-azuredisk storageClassName: managed-csi
Edit the
environment.yamlfile to upgrade NetBackup (primary/media/MSDP) and add section for Snapshot Manager as follows:cpServer: - name: cp-cluster-deployment containerRegistry: acr.azurecr.io credential: secretName: cp-creds networkLoadBalancer: annotations: service.beta.kubernetes.io/azure-load-balancer-internal: "true" ipAddr: 1.2.3.4 fqdn: cpserver.example.com storage: log: capacity: 10Gi storageClassName: standard data: capacity: <Disk size mentioned in mongodb pv> storageClassName: <<Storage class name mentioned in mongodb pv> nodeSelector: controlPlane: nodepool: cpcontrol1 labelKey: cp-node-label labelValue: cpcontrol1 dataPlane: nodepool: cpdata1 labelKey: cp-node-label labelValue: cpdata1Apply the
environment.yamlfile using the following command:kubectl apply -f <path to environment.yaml>
Re-register the Snapshot Manger from WebUI if the Snapshot Manager name (fqdn/ip) is same as VM deployment.
:
User can update few parameters on the existing deployed Snapshot Manager by making changes in the section of
environment.yamlfile and apply it.Only and fields can be changed in section of CR. For update operation to work, set the value of parameter to in the storage classes used.
:
If there is a change in the tag, then it would be considered as a Snapshot Manager upgrade. For upgrade only few parameters related to Snapshot Manager can be modified.
The following table lists the parameters that can be modified during update/upgrade of Snapshot Manager:
Parameters | Edit during update | Edit during upgrade |
|---|---|---|
resourceNamePrefix | No | No |
tag | No | Yes |
containerRegistry | No | Yes |
credential: secretName | No | No |
networkLoadBalancer: annotations | No | Yes |
networkLoadBalancer: fqdn | No | No |
networkLoadBalancer: ipAddr | No | Yes |
data.capacity | Yes | Yes |
data.storageClassName | No | No |
log.capacity | Yes | Yes |
log.storageClassName | No | No |
cpServer.NodeSelector.ControlPlane | No | Yes |
cpServer.NodeSelector.DataPlane | No | Yes |