NetBackup™ Marketplace Deployment on Amazon Elastic Kubernetes Service (EKS) Cluster

Last Published:
Product(s): NetBackup & Alta Data Protection (10.2)

Prerequisites for deployment

Ensure that the following prerequisites are met before proceeding with the deployment:

For deploying on new EKS cluster
  1. Subnets which are used for the deployment must be tagged as below:

    Private subnets

    Public subnets

    Key: kubernetes.io/role/internal-elb

    Key: kubernetes.io/role/elb

    Value: 1

    Value: 1

    Refer the documentation for more details - Network load balancing on Amazon EKS - Amazon EKS

  2. Create IAM role required for EKS Cluster and Nodes to make calls to other AWS services on your behalf to manage the resources. For minimum required policies in IAM role See Policies required in creating IAM roles for new and existing clusters.

  3. Create IAM role required to access EKS Cluster from EC2. This must be a different role from the cluster role created in step 2. For minimum required policies in IAM role See Policies required in creating IAM roles for new and existing clusters.

  4. The IP:FQDN mapping that is provided in Primary server, Media server, Storage server and Snapshot Manager must be resolved with DNS to the provided IP address.

  5. If the internal IP address are used, reserve the internal IPs and make sure they are not used. These IPs are used for network load balancer services. For the private IPs, please do not use the same subnet with the node group to avoid IP address conflict with the secondary private IPs used in the node group. For the DNS name, you can use the Private IP DNS name Amazon provided, or you can create DNS and reverse the DNS entries under Route53.

  6. Ensure that your additional security group of cluster contains inbound rule which allows communication within VPC.

  7. Ensure that subnets used for EKS cluster and node groups should have minimum /22 CIDR range and subnet used for load balancer (DNS) should have minimum /26 CIDR range.

For deploying on existing EKS cluster
  • Ensure that at least one node group with minimum of one node is present in the cluster. It can be deleted once the deployment is successful.

  1. Subnets that are used for deployment must be tagged as below:

    Private subnets

    Public subnets

    Key: kubernetes.io/role/internal-elb

    Key: kubernetes.io/role/elb

    Value: 1

    Value: 1

    Refer the official documentation for more details - Network load balancing on Amazon EKS

  2. Create IAM role required for EKS Cluster and nodes make calls to other AWS services on your behalf to manage the resources. For minimum required policies in IAM role See Policies required in creating IAM roles for new and existing clusters.

  3. Create IAM role required to access EKS Cluster from EC2. This must be a different role from the cluster role created in step2. For minimum required policies in IAM role See Policies required in creating IAM roles for new and existing clusters.

  4. The IP:FQDN mapping that is provided in Primary server, Media server, Storage server and Snapshot Manager server must be resolved using DNS to the provided IP address.

  5. If the internal IPs are used, reserve internal IPs and avoid using them further. These IPs are used for network load balancer services. For the private IPs, do not use the same subnet with the node group to avoid IP conflict with the secondary private IPs used in the node group. For the DNS name, you can use the Private IP DNS name Amazon provided, or you can create DNS and reverse DNS entries under Route53.

  6. Ensure that your additional security group of cluster contains inbound rule which allows communication within VPC.

  7. Ensure that subnets used for EKS cluster and node groups should have minimum /22 CIDR range and subnet used for load balancer (DNS) should have minimum /26 CIDR range.

  8. Check if CloudFormation extensions AWSQS::EKS::Cluster, AWSQS::Kubernetes::Helm and AWSQS::Kubernetes::Resource are activated or not. To check status of CloudFormation extensions follow CloudFormation (amazon.com)

    If not activated, follow the below steps:

    • a. IAM role is required to activate extension.

    • b. Create IAM Role for AWSQS::EKS::Cluster. For required permissions - IAM Role. You need to add the below mentioned permissions along with these Permissions .

      • ec2:CreateNetworkInterface

      • ec2:DescribeNetworkInterfaces

      • ec2:DeleteNetworkInterface

    • c. Create IAM Role for AWSQS::Kubernetes::Helm. For required permissions - IAM Role

    • d. Create IAM Role for AWSQS::Kubernetes::Resource. For required permissions - IAM Role

    • e. Sign into the AWS Management Console and open the AWS CloudFormation console

    • f. From the CloudFormation navigation pane, under CloudFormation registry, select Public extensions.

    • g. Use the Filter to select the extension type, and select Third party.

    • h. Search for AWSQS::EKS::Cluster and then select Activate. Specify IAM role created in step b as Execution role ARN. Choose automatic updates as off and finally Activate Extension.

    • i. Follow same process to activate AWSQS::Kubernetes::Helm and AWSQS::Kubernetes::Resource extensions. While activating extensions specify IAM roles created in step c and d as execution role arn respectively.

  9. Run the below command check IAM roles used for activating AWSQS::Kubernetes::Helm and AWSQS::Kubernetes::Resource extensions are added to the configuration map of your cluster or not. Check the entries for the IAM roles.

    kubectl describe -n kube-system configmap/aws-auth

    If IAM roles are not added then add the IAM roles created for activating AWSQS::Kubernetes::Helm and AWSQS::Kubernetes::Resource extensions to the configuration map of your cluster.

  10. Install cert-manager by using the following command:

    $ kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.8.0/cert-manager.yaml

    For more information, see Documentation for cert-manager installation

  11. Create the OIDC provider for the AWS EKS cluster. For more information on creating the OIDC provider, see Create an IAM OIDC provider for your Cluster

  12. Create an IAM service account for the AWS EFS CSI driver and install the driver. For more information on creating an IAM service account and installing the driver, see Amazon EFS CSI driver.

  13. It is required to create an IAM service account for the AWS EBS CSI driver and install the EBS driver for EKS cluster version 1.23. For more information on creating an IAM service account and installing the driver, see Amazon EBS CSI driver.

    To use the driver, you must add it as an Amazon EKS add-on or as a self-managed add-on. For more information see Managing the Amazon EBS CSI driver as an Amazon EKS add-on.

  14. AWS Load Balancer controller must be installed on EKS cluster. For more information see Installing Load Balancer Controller addon

  15. Enable autoscaling for EKS cluster. For information, refer Autoscaling - Amazon EKS