Using an AWS Load Balancer Controller with Sisense on Amazon EKS

To handle Sisense traffic in an existing Kubernetes cluster on Amazon EKS, you can invoke an AWS Load Balancer Controller for managing a cluster's Elastic Load Balancers. Elastic Load Balancing automatically distributes your incoming traffic across multiple targets, such as EC2 instances, containers, and IP addresses, in one or more Availability Zones.

The ALB Controller satisfies Kubernetes ingress resources by provisioning Application Load Balancers.

For more information about how load balancing works on Amazon EKS, see Application load balancing on Amazon EKS.

Note:

Currently installing Sisense with the AWS Load Balancer over an infrastructure previously installed with Sisense with the Classic Load Balancer might not work. Sisense recommends installing on a new infrastructure (or make sure you uninstall and clean up the existing infrastructure), if choosing to switch from Classic to AWS Load Balancer.

Prerequisites

To deploy an ALB Controller with Sisense:

In the following procedure, you are going to work with your EKS node groups, edit a YAML file, and finally complete the steps for deploying Sisense on Amazon EKS.

  1. Attach IAM Roles to the EKS node groups by specifying the following arguments to the script:

    EKS_NAME: Your EKS Cluster name
    EKS_REGION: The region where the EKS is located


    curl https://data.sisense.com/linux/scripts/aws-alb-iam-attach.sh | bash -x -s <EKS_NAME> <EKS_REGION>
                      
  2. Download a Sisense version package.


    wget $sisense_url
                      

    Contact your Sisense CSM for a link to the most up-to-date version.

  3. Extract the Sisense package.


    tar zxf $package_name
                      
  4. Navigate to the directory where you extracted the tar.gz file.


    cd sisense-$sisense_version
                      
  5. Access the extra installation values YAML file.


    vim ./kubespray/extra_values/installer/installer-values.yaml
                      
  6. Enter values for the following alb_controller parameters in the configuration YAML file.

    enabled: Enables the ALB Controller

    certificate_arn: Specifies the ARN of one or more certificates managed by the AWS Certificate Manager

    annotations: Optional annotations to kubernetes Ingress and Service objects to customize their behavior (see Ingress annotations)


    alb_controller:
    enabled: false
    certificate_arn: ""
    annotations: {}
    # alb.ingress.kubernetes.io/target-type: instance
    # alb.ingress.kubernetes.io/auth-session-timeout: 604800
                      
  7. Go to Deploying Sisense on Amazon EKS and complete the deployment procedure starting with Step 5, which directs you to open and edit the cloud_config.yaml file.

  8. Make sure the following configuration is set in the Sisense installation yaml file. Note that SSL should not be enabled, and we should not use the generic load balancer capability, as we are using the AWS Load Balancer in this case.


    cloud_load_balancer: false
    is_ssl: false
                      

After you complete the Sisense deployment, you can use the URLs returned by the installer to access your AWS Load Balancer Controller address.