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:
    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).

    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

  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 Connection Manager on AWS with one public interface (subnet) of eksctl and a security group with All traffic allowed.

    Connection Manager security group rules: For example, launch-wizard-58

    Type

    Protocol

    Port range

    All traffic

    All

    All

  6. Then, add the Connection Manager 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 Connection Manager, 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.