NetBackup™ Deployment Guide for Kubernetes Clusters
- Introduction
- Section I. Deployment
- Prerequisites for Kubernetes cluster configuration
- Deployment with environment operators
- Deploying NetBackup
- Preparing the environment for NetBackup installation on Kubernetes cluster
- Recommendations of NetBackup deployment on Kubernetes cluster
- Limitations of NetBackup deployment on Kubernetes cluster
- Primary and media server CR
- Configuring NetBackup IT Analytics for NetBackup deployment
- Managing NetBackup deployment using VxUpdate
- Migrating the cloud node for primary or media servers
- Deploying NetBackup using Helm charts
- Deploying MSDP Scaleout
- Deploying MSDP Scaleout
- Prerequisites for AKS
- Prerequisites for EKS
- Installing the docker images and binaries
- Initializing the MSDP operator
- Configuring MSDP Scaleout
- Using MSDP Scaleout as a single storage pool in NetBackup
- Configuring the MSDP cloud in MSDP Scaleout
- Using S3 service in MSDP Scaleout for AKS
- Enabling MSDP S3 service after MSDP Scaleout is deployed for AKS
- Deploying Snapshot Manager
- Verifying Cloud Scale deployment
- Section II. Monitoring and Management
- Monitoring NetBackup
- Monitoring MSDP Scaleout
- Monitoring Snapshot Manager
- Managing the Load Balancer service
- Managing MSDP Scaleout
- Managing PostrgreSQL DBaaS
- Performing catalog backup and recovery
- Setting key parameters in Cloud Scale deployments
- Section III. Maintenance
- MSDP Scaleout Maintenance
- PostgreSQL DBaaS Maintenance
- Upgrading
- Uninstalling
- Troubleshooting
- Troubleshooting AKS and EKS issues
- View the list of operator resources
- View the list of product resources
- View operator logs
- View primary logs
- Socket connection failure
- 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
- Pod restart failure due to liveness probe time-out
- NetBackup messaging queue broker take more time to start
- Host mapping conflict in NetBackup
- Issue with capacity licensing reporting which takes longer time
- Local connection is getting treated as insecure connection
- Primary pod is in pending state for a long duration
- Backing up data from Primary server's /mnt/nbdata/ directory fails with primary server as a client
- Storage server not supporting Instant Access capability on Web UI after upgrading NetBackup
- Taint, Toleration, and Node affinity related issues in cpServer
- Operations performed on cpServer in environment.yaml file are not reflected
- Elastic media server related issues
- Failed to register Snapshot Manager with NetBackup
- Pods unable to connect to flexsnap-rabbitmq post Kubernetes cluster restart
- Troubleshooting AKS-specific issues
- Troubleshooting EKS-specific issues
- Troubleshooting AKS and EKS issues
- Appendix A. CR template
Upgrading NetBackup using Helm charts
Prerequisites
Ensure that your machine has the required access and is able to push the image to the container registry:
ACR for Azure: az acr login -n <container_registry_name>
For example, az acr login -n cpautomation
ECR for AWS: aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com
For example, aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin 165323042987.dkr.ecr.us-east-2.amazonaws.com
EEB installation
- Download the EEB package to access the host.
- Extract and load the docker images from the installation tar file on the access host using the following command:
tar -xvf <build_tar_file>
flexsnap_preinstall.sh
- Create image tags to map the source image with the target image, so that the images can be pushed to the AWS/Azure container registry.
To tag the images, run the following command for each image depending on the container platform running on your host:
For Docker: # docker tag source_image_name:tag container_registry_name/target_image_name:tag
For Podman: # podman tag source_image_name:tag container_registry_name/target_image_name:tag
For example,
source_image_name = veritas/flexsnap-deploy source_image_tag = 10.3.0.0.1041 (SnapshotManager_EEB_version) target_image_name = veritas/flexsnap-deploy target_image_tag = 10.3.0.0.1041 (SnapshotManager_EEB_version) container_registry_name = cpautomation.azurecr.io
docker tag veritas/flexsnap-deploy:10.3.0.0.1041 cpautomation.azurecr.io/veritas/flexsnap-deploy:10.3.0.0.1041
Images for 10.3 are:
veritas/flexsnap-core veritas/flexsnap-deploy veritas/flexsnap-nginx veritas/flexsnap-fluentd veritas/flexsnap-rabbitmq veritas/flexsnap-postgresql veritas/flexsnap-datamover
Note:
Tag all the required images.
- Use the following command to push all the tagged images:
docker push container_registry_name/target_image_name:tag
For example, docker push cpautomation.azurecr.io/veritas/flexsnap-deploy:10.3.0.0.1041
- Edit the operator/kustomization.yaml file to reflect the new tag for
flexsnap-operatorpod.Update the newTag field under the
cloudpointoperator. - Use the following command to apply the operator related change:
kubectl apply -k operator -n <namespace>
- Validate if the operator is updated or no:
Use the following command to obtain the pod name of
flexsnap-operator:kubectl get pods -n <netbackup-operator-system>
To validate if the operator is updated or not:
Run the following command to obtain the pod name of
flexsnap-operator:kubectl get pods -n <netbackup-operator-system>
Run one of the following to validate if the operator is updated or not:
Describe the pod and check the events: kubectl describe pod <flexnsap_operator_pod_name> -n <netbackup-operator-system>
Or
To view the updated tag in the description: kubectl describe pod <flexnsap_operator_pod_name> -n <netbackup-operator-system> | grep -Image
- Edit the
environment.yamlfile to reflect the new tag:tag: <SnapshotManager_EEB_version>
- Update the NetBackup Snapshot Manager with the new tag:
kubectl apply -f environment.yaml -n <environment_namespace>
- To validate the upgrade of NetBackup Snapshot Manager:
Use the following commands to check the CRO status:
kubectl get cpservers -n <environment_namespace>
kubectl describe cpservers <cpserver_cro_name> -n <environment_namespace>
For example, kubectl describe cpservers cpserver-1-224245 -n nbux
Use the following command to view the logs for successful upgrade and the upgraded version:
kubectl logs -f <flexnsap_operator_pod_name> -n <netbackup-operator-system>
Post installation upgrade procedure using HELM charts
- Perform steps 1 to 4 of 'EEB installation' procedure above.
- Use the following command to update the new tag in
flexsnap-operator:kubectl edit deployment flexsnap-operator -n <operator_namespace>
- Validate if the operator is updated or no:
Use the following command to obtain the pod name of
flexsnap-operator:kubectl get pods -n <netbackup-operator-system>
To validate if the operator is updated or not:
Run the following command to obtain the pod name of
flexsnap-operator:kubectl get pods -n <netbackup-operator-system>
Run one of the following to validate if the operator is updated or not:
Describe the pod and check the events: kubectl describe pod <flexnsap_operator_pod_name> -n <netbackup-operator-system>
Or
To view the updated tag in the description: kubectl describe pod <flexnsap_operator_pod_name> -n <netbackup-operator-system> | grep -Image
- Use the following command to edit the new tag in cpServer section of environment custom resource:
Obtain the environment custom resource name: kubectl get environment -n <environment_namespace>
Edit the tag: kubectl edit environment <environment_CRname> -n <environment_namespace>
- To validate the upgrade of NetBackup Snapshot Manager:
Use the following commands to check the CRO status:
kubectl get cpservers -n <environment_namespace>
kubectl describe cpservers <cpserver_cro_name> -n <environment_namespace>
For example, kubectl describe cpservers cpserver-1-224245 -n nbux
Use the following command to view the logs for successful upgrade and the upgraded version:
kubectl logs -f <flexnsap_operator_pod_name> -n <netbackup-operator-system>