NetBackup™ Deployment Guide for Kubernetes Clusters
- Introduction
- Section I. Configurations
- Prerequisites
- Recommendations and Limitations
- Configurations
- Configuration of key parameters in Cloud Scale deployments
- Section II. Deployment
- Section III. Monitoring and Management
- Monitoring NetBackup
- Monitoring Snapshot Manager
- Monitoring MSDP Scaleout
- Managing NetBackup
- Managing the Load Balancer service
- Managing PostrgreSQL DBaaS
- Performing catalog backup and recovery
- Managing MSDP Scaleout
- Section IV. Maintenance
- MSDP Scaleout Maintenance
- PostgreSQL DBaaS Maintenance
- Patching mechanism for Primary and Media servers
- Upgrading
- Cloud Scale Disaster Recovery
- Uninstalling
- Troubleshooting
- Troubleshooting AKS and EKS issues
- Troubleshooting AKS-specific issues
- Troubleshooting EKS-specific issues
- Troubleshooting AKS and EKS issues
- Appendix A. CR template
Prerequisites for MSDP Scaleout and Snapshot Manager (AKS/EKS)
Azure Kubernetes cluster
Your Azure Kubernetes cluster must be created with appropriate network and configuration settings.
For a complete list of supported Azure Kubernetes service versions, refer to the Software Compatibility List (SCL) at:NetBackup Compatibility List.
Availability zone for AKS cluster must be disabled.
Cert-manager and trust-manager must be installed.
(MSDP Scaleout specific)
A Kubernetes Secret that contains the MSDP credentials.
See Secret.
Enable AKS Uptime SLA.
AKS Uptime SLA is recommended for a better resiliency.
For information about AKS Uptime SLA and to enable it, see Azure Kubernetes Service (AKS) Uptime SLA.
At least one storage class is backed with Azure disk CSI storage driver "disk.csi.azure.com", and allows volume expansion. It must be in LRS category with Premium SSD. For example, the built-in storage class "managed-csi-premium". It is recommended that the storage class has "Retain" reclaim.
(Snapshot Manager specific)
Two storage classes with the following configurations are required:
Storage class field
Data
Log
provisioner
disk.csi.azure.com
file.csi.azure.com
storageaccounttype
Premium_LRS
Premium_LRS
reclaimPolicy
Retain
Retain
allowVolumeExpansion
True
True
Azure container registry (ACR)
Use existing ACR or create a new one. Your Kubernetes cluster must be able to access this registry to pull the images from ACR. For more information on Azure container registry, see 'Azure Container Registry documentation' section in Microsoft Azure Documentation.
Node Pool
You must have a dedicated node pool for MSDP Scaleout/Snapshot Manager created. The Azure autoscaling allows your node pool to scale dynamically as required. It is recommended that you set the minimum node number to 1 or more to bypass some limitations in AKS.
(MSDP Scaleout specific) Azure availability zone must be disabled. If Azure autoscaling is not enabled, ensure that the node number is not less than MSDP Scaleout size.
(Snapshot Manager specific) User must enable managed identity on the control node pool and add appropriate role for Snapshot Manager to operate.
Client machine to access AKS cluster
A separate computer that can access and manage your AKS cluster and ACR.
It must have Linux operating system.
It must have Docker daemon, the Kubernetes command-line tool (kubectl), and Azure CLI installed.
The Docker storage size must be more than 6 GB. The version of kubectl must be v1.19.x or later. The version of Azure CLI must meet the AKS cluster requirements.
If AKS is a private cluster, see Create a private Azure Kubernetes Service cluster.
Static Internal IPs
If the internal IPs are used, reserve the internal IPs (avoid the IPs that are reserved by other systems) for MSDP Scaleout/Snapshot Manager and add DNS records for all of them in your DNS configuration.
The Azure static public IPs can be used but is not recommended.
If Azure static public IPs are used, create them in the node resource group for the AKS cluster. A DNS name must be assigned to each static public IP. The IPs must be in the same location of the AKS cluster.
Ensure that the managed identity has the scope to connect to the resource group of the cluster created for cloud scale deployment.
AWS Kubernetes cluster
Your AWS Kubernetes cluster must be created with appropriate network and configuration settings.
For a complete list of supported AWS Kubernetes service versions, refer to the Software Compatibility List (SCL) at:NetBackup Compatibility List
(MSDP Scaleout specific)
A Kubernetes Secret that contains the MSDP credentials.
See Secret.
The node group in EKS should not cross availability zone.
At least one storage class that is backed with Amazon EBS CSI storage driver ebs.csi.aws.com or with the default provisioner kubernetes.io/aws-ebs, and allows volume expansion. The built-in storage class is gp2. It is recommended that the storage class has "Retain" reclaim policy.
AWS Load Balancer controller must be installed on EKS.
(Snapshot Manager specific) Two storage classes with the following configuration is required:
Storage class field
Data
Log
provisioner
kubernetes.io/aws-ebs
efs.csi.aws.com
reclaimPolicy
Retain
Retain
allowVolumeExpansion
True
True
Note:
It is recommended to use a separate EFS for Snapshot Manager deployment and primary server catalog.
Amazon Elastic Container Registry (ECR)
Use existing ECR or create a new one. Your Kubernetes cluster must be able to access this registry to pull the images from ECR.
Node Group
(MSDP Scaleout specific) You must have a dedicated node group for MSDP Scaleout created. The node group should not cross availability zone.
The AWS Auto Scaling allows your node group to scale dynamically as required. If AWS Auto Scaling is not enabled, ensure the node number is not less than MSDP Scaleout size.
It is recommended that you set the minimum node number to 1 or more to bypass some limitations in EKS.
(Snapshot Manager specific) You must have a dedicated node group created for Snapshot Manager's scalable workflow and data movement services. It is recommended to use the NetBackup primary server's node group for Snapshot Manager's control services.
User must assign same IAM role with required permissions to both the node groups, that is control node group and data node group.
Client machine to access EKS cluster
A separate computer that can access and manage your EKS cluster and ECR.
It must have Linux operating system.
It must have Docker daemon, the Kubernetes command-line tool (kubectl), and AWS CLI installed.
The Docker storage size must be more than 6 GB. The version of kubectl must be v1.19.x or later. The version of AWS CLI must meet the EKS cluster requirements.
If EKS is a private cluster, see Creating an private Amazon EKS cluster.
Static Internal IPs
If the internal IPs are used, reserve the internal IPs (avoid the IPs that are reserved by other systems) for Snapshot Manager and add forward and reverse DNS records for all of them in your DNS configuration.
The AWS static public IPs can be used but is not recommended.
MSDP Scaleout connects to the existing NetBackup environment with the required network ports 1556 and 443. The NetBackup primary server must be 10.0 or later. The NetBackup environment can be anywhere, locally or remotely. It may or may not be in AKS/EKS cluster. It may or may not be in the same AKS/EKS cluster.
If the NetBackup servers are on Azure/AWS cloud, besides the NetBackup configuration requirements, the following settings are recommended. They are not MSDP-specific requirements, they just help your NetBackup environment run smoothly on Azure/AWS cloud.
Add the following in
/usr/openv/netbackup/bp.conf
HOST_HAS_NAT_ENDPOINTS = YES
Tune sysctl parameters as follows:
net.ipv4.tcp_keepalive_time=120 net.ipv4.ip_local_port_range = 14000 65535 net.core.somaxconn = 1024
Tune the max open files to 1048576 if you run concurrent jobs.