An AI-powered Kubernetes debugging CLI that works with both:
- 🖥️ Local clusters (Kind)
- ☁️ AWS EKS clusters
Make sure you have:
- 🐧 Linux (Ubuntu recommended)
- 🐍 Python 3.9+
- ☁️ AWS Account
- 💳 Billing enabled on AWS
- 🧠 Basic knowledge of Kubernetes
1️⃣ Create IAM User
Go to:
👉 IAM → Users → Create User
Create user:
eks-admin
Attach policy:
AdministratorAccess
2️⃣ Generate Access Keys
Go to:
IAM → Users → eks-admin → Security Credentials
Create:
Access Key ID Secret Access Key
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
sudo apt install unzip -y
unzip awscliv2.zip
sudo ./aws/install
aws --versionaws configureEnter:
- Access Key
- Secret Key
- Region → us-east-1
- Output → json
sudo apt update
sudo apt install docker.io -y
sudo systemctl enable docker
sudo systemctl start dockerAdd your user to docker group:
sudo usermod -aG docker $USER
newgrp dockerVerify:
docker --version
docker pscurl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
kubectl version --clientARCH=amd64
PLATFORM=$(uname -s)_$ARCH
curl -sLO "https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_$PLATFORM.tar.gz"
tar -xzf eksctl_$PLATFORM.tar.gz -C /tmp
sudo install -m 0755 /tmp/eksctl /usr/local/binVerify:
eksctl versioneksctl create cluster \
--name kubesage-demo \
--region us-east-1 \
--node-type t2.medium \
--nodes-min 2 \
--nodes-max 2⏳ Takes ~10–15 minutes.
aws eks update-kubeconfig --region us-east-1 --name kubesage-demoVerify:
kubectl get nodesYou should see 2 worker nodes ✅
kubectl apply -f ./k8s/Check:
kubectl get podsSetup Virtual Environment using pip
python -m venv venv
source venv/bin/activate
pip install -r requirements.txtpython cli.py \
-p <pod_name> \
--cluster-type eks \
--cluster-name kubesage-demo \
--region us-east-1Example:
python cli.py -p oom-deployment-xxxxx \
--cluster-type eks \
--cluster-name kubesage-demo \
--region us-east-1kubectl get pods
kubectl describe pod <pod_name>
kubectl logs <pod_name>If using Kind:
kind create cluster
kubectl get nodesSwitch context:
kubectl config use-context kind-kindRun CLI:
python cli.py -p <pod_name> --cluster-type localAfter testing:
eksctl delete cluster \
--name kubesage-demo \
--region us-east-1Also verify:
- EC2 instances deleted
- Load balancers deleted
- EBS volumes deleted