Membuat Cluster EKS dengan eksctl

Membuat Cluster EKS dengan eksctl

Photo by Growtika on Unsplash

Overview

Amazon EKS (Elastic Kubernetes Service) merupakan managed service yang ada pada AWS yang mana pengguna tidak perlu menginstall, mengoperasikan dan melakukan maintenance pada komponen-komponen kubernetes. Adapun informasi detail mengenai aws eks bisa dilihat disini.

Pada tulisan kali ini kita akan membuat cluster di eks. Adapun langkah-langkah yang akan dilakukan adalah sebagai berikut:

  1. Membuat keypair

  2. Membuat eks cluster

  3. Membuat eks managed group & IAM OIDC provider

  4. Membuat Node Group dengan Private Subnets

  5. Verifikasi eks cluster

  6. Hapus Cluster

Prasyarat

  1. Install aws cli

  2. Install kubectl

  3. Install eksctl

Langkah-langkah

Buat keypair

Buat keypair pada menu EC2 > key pairs > create key pair

isi name, type & format > create key pair

Membuat eks cluster

  • membuat cluster tanpa nodegroup
eksctl create cluster --name=aha-eks-demo \
                          --region=us-east-1 \
                          --zones=us-east-1a,us-east-1b \
                          --without-nodegroup
  • melihat cluster
eksctl get cluster

Membuat eks managed group & IAM OIDC provider

eksctl utils associate-iam-oidc-provider \
        --region us-east-1 \
        --cluster aha-eks-demo \
        --approve

Membuat Node Group dengan Private Subnets

eksctl create nodegroup --cluster=aha-eks-demo \
                    --region=us-east-1 \
                    --name=aha-eks-nodegroup \
                    --node-type=t3.medium \
                    --nodes=2 \
                    --nodes-min=2 \
                    --nodes-max=4 \
                    --node-volume-size=20 \
                    --ssh-access \
                    --ssh-public-key=aha-eks-keypair \
                    --managed \
                    --asg-access \
                    --external-dns-access \
                    --full-ecr-access \
                    --appmesh-access \
                    --alb-ingress-access \
                    --node-private-networking

Verifikasi eks cluster

eksctl get cluster

NAME        REGION        EKSCTL CREATED
aha-eks-demo    us-east-1    True
eksctl get nodegroup --cluster=aha-eks-demo

CLUSTER        NODEGROUP        STATUS    CREATED            MIN SIZE    MAX SIZE    DESIRED CAPACITY    INSTANCE TYPE    IMAGE ID    ASG NAME                            TYPE
aha-eks-demo    aha-eks-nodegroup    ACTIVE    2023-11-19T02:12:50Z    2        4        2            t3.medium    AL2_x86_64    eks-aha-eks-nodegroup-d6c5f2ad-0aec-b10f-95fc-c7abd4111f2d    managed
kubectl get nodes

NAME                             STATUS   ROLES    AGE    VERSION
ip-192-168-46-158.ec2.internal   Ready    <none>   2m8s   v1.25.15-eks-e71965b
ip-192-168-7-93.ec2.internal     Ready    <none>   2m2s   v1.25.15-eks-e71965b

Hapus Cluster

Untuk menghindari biaya dari pemakain yang sudah tidak digunakan lagi, maka kita perlu untuk menghapus resource EKS, seperti berikut:

  • Hapus node group
eksctl get nodegroup --cluster=aha-eks-demo
eksctl delete nodegroup --cluster=aha-eks-demo --name=aha-eks-nodegroup
  • Hapus Cluster
eksctl get cluster
eksctl delete cluster aha-eks-demo

Referensi:

https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html