kubectl-like CLI tool for Amazon EKS

အားလုံးပဲမင်္ဂလာပါခင်ဗျာ။ ဒီနေ့မှာတော့ Amazon Elastic Kubernetes Service (EKS) ကို demo စမ်းဖို့အတွက် AWS ကနေမှ developed လုပ်ထားတဲ့ tool အကြောင်းကိုပြောပြမှာပဲဖြစ်ပါတယ်။ အဲ့ဒီ tool ရဲ့ nameလေးကတော့ eksdemo ပဲဖြစ်ပါတယ်။ eksdemo ဆိုတာဟာ Amazon EKS ကို testing, and demoing အတွက် အလွန်လွယ်ကူအောင် ဖန်တီးပေးထားတဲ့ command-line (CLI) tool တစ်ခုဖြစ်ပါတယ်။ သူ့ကို kubectl-like tool လို့ ခေါ်ဆိုရတဲ့ အကြောင်းရင်းကတော့ kubectl ရဲ့ command structure ကို အခြေခံထားပြီး အသုံးပြုရ ရင်းနှီးအောင် လုပ်ဆောင်ထားလို့ ဖြစ်ပါတယ်။ ဒါပေမဲ့ သူ့ရဲ့ အဓိကရည်ရွယ်ချက်ကတော့ kubectl ထက် ပိုပြီး Amazon EKS နဲ့ AWS service တွေကြားက ဆက်စပ်မှုကို ရှင်းရှင်းလင်းလင်းနဲ့ အလွယ်တကူ မြင်နိုင်အောင် ကူညီပေးဖို့ ဖြစ်ပါတယ်။
kubectl-like Command Structure
eksdemo ဟာ kubectl လိုပဲ သုံးပါတယ်။ example:
eksdemo get nodegroup
❯ eksdemo get nodegroup --cluster vtmm-cluster-1
+---------+--------+-----------------------+-------+-----+-----+-----------------+-----------+----------------+
| Age | Status | Name | Nodes | Min | Max | Version | Type | Instance(s) |
+---------+--------+-----------------------+-------+-----+-----+-----------------+-----------+----------------+
| 5 hours | ACTIVE | eks-master-node | 1 | 1 | 2 | 1.32.9-20250920 | ON_DEMAND | c7i-flex.large |
| 6 hours | ACTIVE | eks-worker-node-group | 1 | 1 | 2 | 1.32.9-20250920 | ON_DEMAND | c7i-flex.large |
+---------+--------+-----------------------+-------+-----+-----+-----------------+-----------+----------------+
ဒီလို တူညီတဲ့ပုံစံကြောင့် kubectl နဲ့ ရင်းနှီးပြီးသားသူတွေအတွက် eksdemo ကို သုံးရတာ အလွန်လွယ်ကူပါတယ်။ get, create, delete ဆိုတာတွေကို အဓိကသုံးပါတယ်။
kubectl ထက် ဘာတွေပိုထူးခြားလဲ။
eksdemo ရဲ့ အဓိက အားသာချက်ကတော့ Kubernetes object တွေကို AWS resource တွေနဲ့ ချိတ်ဆက်ပြီး ပြသနိုင်စွမ်း ဖြစ်ပါတယ်။
Viewpoint ကွာခြားမှု:
kubectlက Kubernetes API ကိုပဲ အဓိကထားပြီး အလုပ်လုပ်ပါတယ်။ Cluster ထဲက resource တွေကိုပဲ ပြသနိုင်ပါတယ်။eksdemoကတော့ Kubernetes API ရော၊ AWS API ကိုပါ တစ်ပြိုင်တည်း အသုံးပြုပါတယ်။ ဒါကြောင့် Kubernetes resource တစ်ခုနဲ့ ဆက်စပ်နေတဲ့ AWS resource ကိုပါ တစ်ပါတည်း ဖော်ပြပေးနိုင်ပါတယ်။❯ eksdemo get ec2-instance +---------+------------+---------------------+--------------------------------+----------------+------------+ | Age | State | Id | Name | Type | Zone | +---------+------------+---------------------+--------------------------------+----------------+------------+ | 6 hours | running | i-06dbfbc142668cb88 | | c7i-flex.large | us-east-1a | | 6 hours | running | i-0497519f86b5f5981 | | c7i-flex.large | us-east-1c | +---------+------------+---------------------+--------------------------------+----------------+------------+❯ eksdemo get vpc +-----------------------+-----------------------------+----------------+--------------+ | Id | Name | IPv4 CIDR(s) | IPv6 CIDR(s) | +-----------------------+-----------------------------+----------------+--------------+ | vpc-00bce47ab8ea38db0 | * | 172.31.0.0/16 | - | +-----------------------+-----------------------------+----------------+--------------+ * Indicates default VPCViewing Node:
kubectl get nodesလို့ရိုက်ရင် Kubernetes node တွေရဲ့ နာမည်၊ status, role, version စတာတွေကိုပဲ မြင်ရပါမယ်။eksdemo get nodeလို့ရိုက်ရင်တော့ အဲ့ဒီ Kubernetes node ရဲ့ အောက်မှာ run နေတဲ့ EC2 Instance ID, Instance Type, Subnet ID, AMI (Amazon Machine Image) စတဲ့ AWS အချက်အလက်တွေကိုပါ တစ်ခါတည်း တွဲပြီးပြပေးပါတယ်။❯ eksdemo get node --cluster vtmm-cluster-1 +---------+--------------------+---------------------+----------------+------------+-----------------------+ | Age | Name | Instance Id | Type | Zone | Nodegroup | +---------+--------------------+---------------------+----------------+------------+-----------------------+ | 6 hours | ip-172-31-33-128.* | i-0497519f86b5f5981 | c7i-flex.large | us-east-1c | eks-master-node | | 6 hours | ip-172-31-89-30.* | i-06dbfbc142668cb88 | c7i-flex.large | us-east-1a | eks-worker-node-group | +---------+--------------------+---------------------+----------------+------------+-----------------------+ * Names end with "ec2.internal"
command usage အသေးစိတ်အတွက်ကိုလည်း eksdemo ရဲ့ repo လေးကို အောက်မှာထည့်ပေးထားပါတယ်။
အားလုံးပဲအချိန်ပေးပြီးဖတ်ရှုပေးတဲ့အတွက်ကျေးဇူးတင်ပါတယ်။




