NetBackup™ Deployment Guide for Azure Kubernetes Services (AKS) Cluster
- Introduction to NetBackup on AKS
- Deployment with environment operators
- Assessing cluster configuration before deployment
- Deploying NetBackup
- Preparing the environment for NetBackup installation on AKS
- Recommendations of NetBackup deployment on AKS
- Limitations of NetBackup deployment on AKS
- About primary server CR and media server CR
- Monitoring the status of the CRs
- Updating the CRs
- Deleting the CRs
- Configuring NetBackup IT Analytics for NetBackup deployment
- Managing NetBackup deployment using VxUpdate
- Migrating the node pool for primary or media servers
- Upgrading NetBackup
- Deploying Snapshot Manager
- Migration and upgrade of Snapshot Manager
- Deploying MSDP Scaleout
- Upgrading MSDP Scaleout
- Monitoring NetBackup
- Monitoring MSDP Scaleout
- Monitoring Snapshot Manager deployment
- Managing the Load Balancer service
- Performing catalog backup and recovery
- Managing MSDP Scaleout
- About MSDP Scaleout maintenance
- Uninstalling MSDP Scaleout from AKS
- Uninstalling Snapshot Manager
- Troubleshooting
- View the list of operator resources
- View the list of product resources
- View operator logs
- View primary logs
- Pod restart failure due to liveness probe time-out
- Socket connection failure
- Resolving an invalid license key issue
- Resolving an issue where external IP address is not assigned to a NetBackup server's load balancer services
- Resolving the issue where the NetBackup server pod is not scheduled for long time
- Resolving an issue where the Storage class does not exist
- Resolving an issue where the primary server or media server deployment does not proceed
- Resolving an issue of failed probes
- Resolving token issues
- Resolving an issue related to insufficient storage
- Resolving an issue related to invalid nodepool
- Resolving a token expiry issue
- Resolve an issue related to KMS database
- Resolve an issue related to pulling an image from the container registry
- Resolving an issue related to recovery of data
- Check primary server status
- Pod status field shows as pending
- Ensure that the container is running the patched image
- Getting EEB information from an image, a running container, or persistent data
- Resolving the certificate error issue in NetBackup operator pod logs
- Data migration unsuccessful even after changing the storage class through the storage yaml file
- Host validation failed on the target host
- Primary pod is in pending state for a long duration
- Taint, Toleration, and Node affinity related issues in cpServer
- Operations performed on cpServer in environment.yaml file are not reflected
- Host mapping conflict in NetBackup
- NetBackup messaging queue broker take more time to start
- Local connection is getting treated as insecure connection
- Issue with capacity licensing reporting which takes longer time
- Backing up data from Primary server's /mnt/nbdata/ directory fails with primary server as a client
- Primary pod goes in non-ready state
- Appendix A. CR template
Deploying NetBackup and Snapshot Manager manually
After the operators are deployed as mentioned in the following section, you can deploy the NetBackup and Snapshot Manager environment:
To deploy NetBackup primary, media and Snapshot Manager components
- Create a Kubernetes namespace where your new NetBackup environment will run. Run the following command:
kubectl create namespace nb-example
Where, nb-example is the name of the namespace. The Primary, Media, and Snapshot Manager application namespace must be different from the one used by the operators. It is recommended to use two namespaces. One for the operators, and a second one for the applications.
- Create a secret to hold the Snapshot Manager credentials. The secret must include fields for username and password. If you are creating the secret by YAML, the type should be opaque or basic-auth.
For example:
apiVersion: v1 stringData: password: p@ssw0rd username: cpuser kind: Secret metadata: name: cp-creds namespace: ns-155 type: Opaque
You can also use this command to create a secret.
kubectl create secret generic cp-credentials --namespace nb-example --from-literal=username='cpuser' --from-literal=password='p@ssw0rd'
- Configure the
samples/environment.yamlfile according to your requirements. This file defines a primary server, media servers, and Snapshot Manager servers. See Configuring theenvironment.yamlfile. for details. - Apply the
environment.yamlfile, using the same application namespace created in the above step.kubectl apply --namespace nb-example --filename environment.yaml
Use this command to verify the new environment resource in your cluster:
kubectl get --namespace nb-example environments
After a few minutes, NetBackup finishes starting up the primary server, media servers and Snapshot Manager servers in the sequence that you configured in the environment resource.
Run the following command:
kubectl get --namespace nb-example all,environments,primaryservers,mediaservers, cpservers
The output would be displayed as follows:
azureuser@demo-vm-aks:~$ kubectl get all,environments, primaryservers,mediaservers,cpservers -n nb-namespace NAME READY STATUS RESTARTS AGE pod/environment-sample-primary-0 1/1 Running 0 2h pod/flexsnap-agent-66d59855d4-kdkvh 1/1 Running 0 2h pod/flexsnap-api-gateway-7c7f75ddc-nlgrq 1/1 Running 0 2h pod/flexsnap-certauth-b84c985f6-tq5jx 1/1 Running 0 2h pod/flexsnap-coordinator-597fc94884-bph2l 1/1 Running 0 2h pod/flexsnap-fluentd-26wfl 1/1 Running 0 2h pod/flexsnap-fluentd-7kg96 1/1 Running 0 2h pod/flexsnap-fluentd-9h7sq 1/1 Running 0 2h pod/flexsnap-fluentd-9zzth 1/1 Running 0 2h pod/flexsnap-fluentd-collector-6dbfcc74f-tmxdh 1/1 Running 0 2h pod/flexsnap-fluentd-n7r6s 1/1 Running 0 2h pod/flexsnap-fluentd-stfsz 1/1 Running 0 2h pod/flexsnap-idm-6ccb4cc695-kwnxj 1/1 Running 0 2h pod/flexsnap-listener-58f5dc744c-hvdh5 1/1 Running 0 2h pod/flexsnap-mongodb-7c7dbd9486-gdf28 1/1 Running 0 2h pod/flexsnap-nginx-66cf654846-pdczx 1/1 Running 0 2h pod/flexsnap-notification-69fb444b85-4fq5l 1/1 Running 0 2h pod/flexsnap-rabbitmq-0 1/1 Running 0 2h pod/flexsnap-scheduler-6665cbf757-cwq87 1/1 Running 0 2h pod/media1-media-0 1/1 Running 0 2h NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/environment-sample-primary LoadBalancer 10.0.218.235 10.244.204.203 13781: 30748/TCP,13782:32042/TCP,1556:31727/TCP,443:30843/TCP,8443:32041/TCP,22:31321/TCP 2h service/flexsnap-api-gateway ClusterIP 10.0.156.177 <none> 8472/TCP 2h service/flexsnap-certauth ClusterIP 10.0.172.41 <none> 9000/TCP 2h service/flexsnap-fluentd-service ClusterIP 10.0.126.162 <none> 24224/TCP 2h service/flexsnap-idm ClusterIP 10.0.145.64 <none> 8452/TCP 2h service/flexsnap-mongodb ClusterIP 10.0.21.233 <none> 27017/TCP 2h service/flexsnap-nginx LoadBalancer 10.0.34.60 10.244.204.201 443:32306/ TCP,5671:30740/TCP 2h service/flexsnap-rabbitmq ClusterIP 10.0.125.225 <none> 5671/TCP service/media1-media-0 LoadBalancer 10.0.170.169 10.244.204.202 13782:30292/ TCP,1556:31976/TCP 2h NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.apps/flexsnap-fluentd 6 6 6 6 6 <none> 2h NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/flexsnap-agent 1/1 1 1 2h deployment.apps/flexsnap-api-gateway 1/1 1 1 2h deployment.apps/flexsnap-certauth 1/1 1 1 2h deployment.apps/flexsnap-coordinator 1/1 1 1 2h deployment.apps/flexsnap-fluentd-collector 1/1 1 1 2h deployment.apps/flexsnap-idm 1/1 1 1 2h deployment.apps/flexsnap-listener 1/1 1 1 2h deployment.apps/flexsnap-mongodb 1/1 1 1 2h deployment.apps/flexsnap-nginx 1/1 1 1 2h deployment.apps/flexsnap-notification 1/1 1 1 2h deployment.apps/flexsnap-scheduler 1/1 1 1 2h NAME DESIRED CURRENT READY AGE replicaset.apps/flexsnap-agent-66d59855d4 1 1 1 2h replicaset.apps/flexsnap-api-gateway-7c7f75ddc 1 1 1 2h replicaset.apps/flexsnap-certauth-b84c985f6 1 1 1 2h replicaset.apps/flexsnap-coordinator-597fc94884 1 1 1 2h replicaset.apps/flexsnap-fluentd-collector-6dbfcc74f 1 1 1 2h replicaset.apps/flexsnap-idm-6ccb4cc695 1 1 1 2h replicaset.apps/flexsnap-listener-58f5dc744c 1 1 1 2h replicaset.apps/flexsnap-mongodb-7c7dbd9486 1 1 1 2h replicaset.apps/flexsnap-nginx-66cf654846 1 1 1 2h replicaset.apps/flexsnap-notification-69fb444b85 1 1 1 2h replicaset.apps/flexsnap-scheduler-6665cbf757 1 1 1 2h NAME READY AGE statefulset.apps/environment-sample-primary 1/1 2h statefulset.apps/flexsnap-rabbitmq 1/1 2h statefulset.apps/media1-media 1/1 2h NAME READY AGE STATUS environment.netbackup.veritas.com/ environment-sample 3/3 2h Success NAME TAG AGE STATUS primaryserver.netbackup.veritas.com/ environment-sample 10.1.0 2h Success NAME TAG AGE PRIMARY SERVER STATUS mediaserver.netbackup.veritas.com/ media1 10.1.0 2h primary. example.veritas.com Success NAME TAG AGE STATUS cpserver.netbackup.veritas.com/ cpserver-1 10.1.0 2h Success
More Information