eks-managed-node-groups

๐ค Why we need this? what it is trying to resolve?
In the real world, not all Amazon EKS clusters require autosclaing mechanism, some of them needs to be manually scaled. To reduce human errors, eks-managed-node-groups is here to solve this problem, eks-managed-node-groups provides an user friendly TUI (Text-based User Interface) allows users to easily jump between clusters with only a few options, without having to log into the Amazon EKS console and jump between configuration pages.
๐ข Prerequisites
๐ Quick start

๐๏ธ Usage
Run without any flag to walk through the interactive menus, or pass flags to skip the corresponding steps:
| Flag |
Description |
--region, -r |
Region for the clusters (default: us-east-1) |
--profile, -p |
AWS shared config profile to use |
--cluster, -c |
Cluster name (skip interactive selection) |
--type, -t |
Node group type: managed or self-managed |
--nodegroup, -n |
Node group name (skip interactive selection) |
--desired/--min/--max |
Node group sizes, must be set together |
--dry-run |
Preview the change without applying it |
--yes, -y |
Apply without the confirmation prompt |
--output, -o |
Output format: text or json |
Each flag independently skips its own step, any step without a flag falls back to the interactive menu.
--output json is intended for fully non-interactive runs, pass all the flags (or --dry-run) so no interactive menu mixes into the piped output. Change previews and apply results are emitted as a full report object, other outcomes (nothing to change, aborted, nothing found) are emitted as {"message": ..., "applied": false}, check the applied field to tell them apart.
Shell completion is available via the built-in completion command:
eks-managed-node-groups completion zsh
Examples
Fully non-interactive, preview the change first:
eks-managed-node-groups \
--region us-east-1 \
--profile myprofile \
--cluster my-cluster \
--type managed \
--nodegroup my-nodegroup \
--desired 3 \
--min 1 \
--max 5 \
--dry-run
Hint: You may drop --dry-run and pass --yes to apply without prompting.
๐ท Install
For macOS/Linux users (Recommended)
Brand new install
brew tap guessi/tap && brew update && brew install eks-managed-node-groups
To upgrade version
brew update && brew upgrade eks-managed-node-groups
Manually setup (Linux, Windows, macOS)
Click to expand!
For Linux users
curl -fsSL https://github.com/guessi/eks-managed-node-groups/releases/latest/download/eks-managed-node-groups-Linux-$(uname -m).tar.gz -o - | tar zxvf -
mv -vf ./eks-managed-node-groups /usr/local/bin/eks-managed-node-groups
For macOS users
curl -fsSL https://github.com/guessi/eks-managed-node-groups/releases/latest/download/eks-managed-node-groups-Darwin-$(uname -m).tar.gz -o - | tar zxvf -
mv -vf ./eks-managed-node-groups /usr/local/bin/eks-managed-node-groups
For Windows users
$SRC = 'https://github.com/guessi/eks-managed-node-groups/releases/latest/download/eks-managed-node-groups-Windows-x86_64.tar.gz'
$DST = 'C:\Temp\eks-managed-node-groups-Windows-x86_64.tar.gz'
Invoke-RestMethod -Uri $SRC -OutFile $DST
โ๏ธ License
Apache-2.0