Deploying an internet-facing ALB for a private Amazon EKS cluster
Step-by-Step Guide:
To create an ALB with a private EKS cluster
1. Create a private EKS cluster.
In our case, we used eksctl, so we added
Since our route is going through the NAT Gateway, we added it and specified that we will use only private subnets
For node groups, we specified
2. Deploy ALB controller
- 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
NAMESPACE: (optional) Target namespace for ALB controller; by default, it will be installed in the “default” namespace
- Edit extra installation values
Note-
- Since our worker groups are in private subnets, we must specify the public subnets in Kubernetes annotations.
- Your public subnets should be tagged with
kubernetes.io/role/elb = 1
- Keep in mind that you have to set
In cloud_config.yaml
3. Install Sisense
References/Related Content
- https://docs.sisense.com/main/SisenseLinux/using-an-aws-load-balancer-controller-with-sisense-on-amazon-eks.htm
- https://docs.sisense.com/main/SisenseLinux/using-an-aws-load-balancer-controller-with-sisense-on-amazon-eks.htm
Conclusion:
This is how you can configure an internet-facing Application Load Balancer (ALB) for a private Amazon EKS cluster.
Disclaimer: This post outlines a potential custom workaround for a specific use case or provides instructions regarding a specific task. The solution may not work in all scenarios or Sisense versions, so we strongly recommend testing it in your environment before deployment. If you need further assistance with this, please let us know.