NetBackup™ Deployment Guide for Kubernetes Clusters
- Introduction
- Section I. Configurations
- Prerequisites
- Preparing the environment for NetBackup installation on Kubernetes cluster
- Prerequisites for Snapshot Manager (AKS/EKS)
- Prerequisites for Kubernetes cluster configuration
- Prerequisites for Cloud Scale configuration
- Prerequisites for deploying environment operators
- Prerequisites for using private registry
- Recommendations and Limitations
- Configurations
- Configuration of key parameters in Cloud Scale deployments
- Tuning touch files
- Setting maximum jobs per client
- Setting maximum jobs per media server
- Enabling intelligent catalog archiving
- Enabling security settings
- Configuring email server
- Reducing catalog storage management
- Configuring zone redundancy
- Enabling client-side deduplication capabilities
- Parameters for logging (fluentbit)
- Managing media server configurations in Web UI
- Prerequisites
- Section II. Deployment
- Section III. Monitoring and Management
- Monitoring NetBackup
- Monitoring Snapshot Manager
- Monitoring fluentbit
- Monitoring MSDP Scaleout
- Managing NetBackup
- Managing the Load Balancer service
- Managing PostrgreSQL DBaaS
- Managing logging
- Performing catalog backup and recovery
- Section IV. Maintenance
- PostgreSQL DBaaS Maintenance
- Patching mechanism for primary, media servers, fluentbit pods, and postgres pods
- Upgrading
- Cloud Scale Disaster Recovery
- 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 issues when media server PVs are deleted
- Resolving an issue related to insufficient storage
- Resolving an issue related to invalid nodepool
- 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
- 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
- Post Kubernetes cluster restart, flexsnap-listener pod went into CrashLoopBackoff state or pods were unable to connect to flexsnap-rabbitmq
- Post Kubernetes cluster restart, issues observed in case of containerized Postgres deployment
- Request router logs
- Issues with NBPEM/NBJM
- Issues with logging feature for Cloud Scale
- The flexsnap-listener pod is unable to communicate with RabbitMQ
- Job remains in queue for long time
- Extracting logs if the nbwsapp or log-viewer pods are down
- Troubleshooting AKS-specific issues
- Troubleshooting EKS-specific issues
- Troubleshooting issue for bootstrapper pod
- Troubleshooting AKS and EKS issues
- Appendix A. CR template
- Appendix B. MSDP Scaleout
- About MSDP Scaleout
- Prerequisites for MSDP Scaleout (AKS\EKS)
- Limitations in MSDP Scaleout
- MSDP Scaleout configuration
- Installing the docker images and binaries for MSDP Scaleout (without environment operators or Helm charts)
- Deploying MSDP Scaleout
- Managing MSDP Scaleout
- MSDP Scaleout maintenance
Installing the docker images for NetBackup
The NetBackup package VRTSk8s-netbackup-<version>.tar.gz for Kubernetes includes the following:
A docker image for NetBackup operator
Docker images for NetBackup: operator, main, media, mqbroker,nbatd, pbx, vnetd, ws, policyjobmgr, fluentbit, postgresql, log-viewer and requestrouter
To install the docker images
- Download
VRTSk8s-netbackup-<version>.tar.gzfrom the Cohesity site. - Run the following commands to load the docker images to the local docker instance:
$ docker load -i netbackup-fluentbit-<version>.tar.gz
$ docker load -i netbackup-fluentbit-log-cleanup-<version>.tar.gz
$ docker load -i netbackup-main-<version>.tar.gz
$ docker load -i netbackup-media-<version>.tar.gz
$ docker load -i netbackup-mqbroker-<version>.tar.gz
$ docker load -i netbackup-mqbroker-init-<version>.tar.gz
$ docker load -i netbackup-nbatd-init-<version>.tar.gz
$ docker load -i netbackup-nbatd-main-<version>.tar.gz
$ docker load -i netbackup-nbhousekeeping-<version>.tar.gz
$ docker load -i netbackup-operator-<version>.tar.gz
$ docker load -i netbackup-pbx-<version>.tar.gz
$ docker load -i netbackup-policyjobmgr-<version>.tar.gz
$ docker load -i netbackup-postgresql-<version>.tar.gz
$ docker load -i netbackup-postgresql-upgrade-<version>.tar.gz
$ docker load -i netbackup-requestrouter-<version>.tar.gz
$ docker load -i netbackup-vnetd-<version>.tar.gz
$ docker load -i netbackup-ws-app-<version>.tar.gz
$ docker load -i netbackup-ws-init-<version>.tar.gz
$ docker load -i netbackup-log-viewer-<version>.tar.gz
Run the command docker image ls command to confirm that the NetBackup images are loaded properly to the docker cache.
<version>: Represents the NetBackup product version.
- Run the following commands to re-tag the images to associate them with your container registry, keep the image name and version same as original:
(AKS-specific): $ REGISTRY=<example.azurecr.io> (Replace with your own container registry name)
(EKS-specific): $ REGISTRY=<<AccountID>.dkr.ecr.<region>.amazonaws.com
$ docker tag localhost/netbackup/fluentbit:<version> ${REGISTRY}/netbackup/fluentbit:<version>
$ docker tag localhost/netbackup/fluentbit-log-cleanup:<version> ${REGISTRY}/netbackup/fluentbit-log-cleanup:<version>
$ docker tag localhost/netbackup/main:<version> ${REGISTRY}/netbackup/main:<version>
$ docker tag localhost/netbackup/media:<version> ${REGISTRY}/netbackup/media:<version>
$ docker tag localhost/netbackup/mqbroker:<version> ${REGISTRY}/netbackup/mqbroker:<version>
$ docker tag localhost/netbackup/mqbroker-init:<version> ${REGISTRY}/netbackup/mqbroker-init:<version>
$ docker tag localhost/netbackup/nbatd-init:<version> ${REGISTRY}/netbackup/nbatd-init:<version>
$ docker tag localhost/netbackup/nbatd-main:<version> ${REGISTRY}/netbackup/nbatd-main:<version>
$ docker tag localhost/netbackup/nbhousekeeping:<version> ${REGISTRY}/netbackup/nbhousekeeping:<version>
$ docker tag localhost/netbackup/operator:<version> ${REGISTRY}/netbackup/operator:<version>
$ docker tag localhost/netbackup/pbx:<version> ${REGISTRY}/netbackup/pbx:<version>
$ docker tag localhost/netbackup/policyjobmgr:<version> ${REGISTRY}/netbackup/policyjobmgr:<version>
$ docker tag localhost/netbackup/requestrouter:<version> ${REGISTRY}/netbackup/requestrouter:<version>
$ docker tag localhost/netbackup/vnetd:<version> ${REGISTRY}/netbackup/vnetd:<version>
$ docker tag localhost/netbackup/ws-app:<version> ${REGISTRY}/netbackup/ws-app:<version>
$ docker tag localhost/netbackup/ws-init:<version> ${REGISTRY}/netbackup/ws-init:<version>
$ docker tag localhost/netbackup/postgresql:<version> ${REGISTRY}/netbackup/postgresql:<version>
$ docker tag localhost/netbackup/postgresql-upgrade:<version> ${REGISTRY}/netbackup/postgresql-upgrade:<version>
$ docker tag localhost/netbackup/log-viewer:<version>$ {REGISTRY}/netbackup/log-viewer:<version>
- (EKS-specific) Login using the following command:
docker login -u AWS -p $(aws ecr get-login-password --region <region-name>) <account-id>.dkr.ecr.<region-name>.amazonaws.com
If the repository is not created, then create the repository using the following command:
aws ecr create-repository --repository-name <image-name> --region <region-name>
For example, aws ecr create-repository --repository-name veritas/flexsnap-datamover --region us-east-2
- Run the following commands to push the images to the container registry:
$ docker push ${REGISTRY}/netbackup/fluentbit:<version>
$ docker push ${REGISTRY}/netbackup/fluentbit-log-cleanup:<version>
$ docker push ${REGISTRY}/netbackup/main:<version>
$ docker push ${REGISTRY}/netbackup/media:<version>
$ docker push ${REGISTRY}/netbackup/mqbroker:<version>
$ docker push ${REGISTRY}/netbackup/mqbroker-init:<version>
$ docker push ${REGISTRY}/netbackup/nbatd-init:<version>
$ docker push ${REGISTRY}/netbackup/nbatd-main:<version>
$ docker push ${REGISTRY}/netbackup/nbhousekeeping:<version>
$ docker push ${REGISTRY}/netbackup/operator:<version>
$ docker push ${REGISTRY}/netbackup/pbx:<version>
$ docker push ${REGISTRY}/netbackup/policyjobmgr:<version>
$ docker push ${REGISTRY}/netbackup/postgresql:<version>
$ docker push ${REGISTRY}/netbackup/postgresql-upgrade:<version>
$ docker push {REGISTRY}/netbackup/requestrouter:<version>
$ docker push ${REGISTRY}/netbackup/vnetd:<version>
$ docker push ${REGISTRY}/netbackup/ws-app:<version>
$ docker push ${REGISTRY}/netbackup/ws-init:<version>
$ docker push ${REGISTRY}/netbackup/log-viewer:<version>