Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Save the "values.yaml" file.

3. Install the AWS Load Balancer Controller add-on (if not installed)

  1. Verify that if the controller is installed. Skip this section if already installed.

    Code Block
    kubectl get deployment -n kube-system aws-load-balancer-controller

    If you see the following. The Controller is installed.

    Code Block
    NAME                           READY   UP-TO-DATE   AVAILABLE   AGE
    aws-load-balancer-controller   2/2     2            2           20h
  2. Follow this instruction to create a n OIDC provider for the cluster.
    https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html

  3. Skip this step if AWSLoadBalancerControllerIAMPolicy policy already exist.

    Download an IAM policy file.
    https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.4.7/docs/install/iam_policy.json

    Create an IAM policy using the policy downloaded in the previous step.

    Code Block
    aws iam create-policy \
        --policy-name AWSLoadBalancerControllerIAMPolicy \
        --policy-document file://iam_policy.json
  4. Check if role AmazonEKSLoadBalancerControllerRole already exists. If already exists, use another role name.

    a. Create an IAM role. Replace my-cluster with the name of your cluster, 111122223333 with your account ID, AmazonEKSLoadBalancerControllerRole with your role name and then run the command.

    Code Block
    eksctl create iamserviceaccount \
      --cluster=my-cluster \
      --namespace=kube-system \
      --name=aws-load-balancer-controller \
      --role-name AmazonEKSLoadBalancerControllerRole \
      --attach-policy-arn=arn:aws:iam::111122223333:policy/AWSLoadBalancerControllerIAMPolicy \
      --approve
  5. Install the AWS Load Balancer Controller using Helm. Replace region-code, vpc-xxxxxxxx and my-cluster with the correct value.

    Code Block
    helm repo add eks https://aws.github.io/eks-charts
    helm repo update eks
    helm install aws-load-balancer-controller eks/aws-load-balancer-controller \
      -n kube-system \
      --set clusterName=my-cluster \
      --set serviceAccount.create=false \
      --set serviceAccount.name=aws-load-balancer-controller \
      --set region=region-code \
      --set vpcId=vpc-xxxxxxxx

    Verify that the controller is installed.

    Code Block
    kubectl get deployment -n kube-system aws-load-balancer-controller

4. Deploy OneList Helm chart

...