If you intend to use the Ingress Controller for Kubernetes in the AWS EKS platform, there are some setup steps that you must perform:

  1. Install the AWS Command Line Interface (CLI) 2.0:

    curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

    unzip awscliv2.zip

    sudo ./aws/install

  2. Install kubectl:

    curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.9/2020-11-02/bin/linux/amd64/kubectl

  3. Install eksctl:

    curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp

    sudo mv /tmp/eksctl /usr/local/bin

    eksctl version

    Note: The AWS user must have permissions to create an EKS cluster. There must also be available resources to create one Virtual Private Cloud (VPC).
  4. Run the command to create the cluster:

    eksctl create cluster --name=eksctl --region=us-east-1 --ssh-public-key=aws_eks_ted.pub --nodes=4 --node-type=m5.large

    Note: The above command takes approximately 5 to 10 minutes to execute. Upon successful execution, it creates one VPC, four subnets, and three security groups.
  5. After creating the cluster, create the LoadMaster on AWS with one public interface (subnet) of eksctl and a security group with All traffic allowed.

    LoadMaster security group rules: For example, launch-wizard-58

    Type

    Protocol

    Port range

    All traffic

    All

    All

  6. Then, add the LoadMaster security group (created above) to all the security groups created by eksctl to ensure communication and to not be restricted by ports, protocols, and so on. The screenshot above shows an example of the eksctl security group.
  7. License the LoadMaster, install the addons and upload the Kubeconfig file.
  8. Create the configuration on eksctl and health checking should then work.

For further details, refer to the following AWS User Guide: Getting started with Amazon EKS - AWS Management Console and AWS CLI.