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

  • list cluster
eksctl get cluster

  • list nodegroup
eksctl get nodegroup --cluster=aha-eks-demo

  • list nodes
kubectl get nodes

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