Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eks-managed-node-groups

GitHub Actions GoDoc Go Report Card GitHub release GitHub go.mod Go version

🤔 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

image image image image

🎛️ 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

About

managed Amazon EKS node group made easy

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages