Skip to main content

Command Palette

Search for a command to run...

kubectl-like CLI tool for Amazon EKS

Published
2 min read
kubectl-like CLI tool for Amazon EKS
S

I have been working experience in areas of system administration, design, implementation & support of Windows Server Systems, Linux, Container and networking.

အားလုံးပဲမင်္ဂလာပါခင်ဗျာ။ ဒီနေ့မှာတော့ 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 VPC
      
    • Viewing 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 လေးကို အောက်မှာထည့်ပေးထားပါတယ်။

အားလုံးပဲအချိန်ပေးပြီးဖတ်ရှုပေးတဲ့အတွက်ကျေးဇူးတင်ပါတယ်။

14 views

More from this blog

Why need to associate IAM OIDC Provider for Amazon EKS Cluster?

Amazon EKS cluster မှာ OpenID Connect (OIDC) provider ကို associate လုပ်ရခြင်းရဲ့ အဓိကအကြောင်းရင်းကတော့ Security နဲ့ Access Control ကို ပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်ဖို့ဖြစ်ပါတယ်။ အဓိကအားဖြင့် အချက် (၂) ချက်ရှိပါတယ်။ To use IAM Roles for Service...

Oct 10, 20252 min read37
V

Vital Tech Blog

25 posts