Skip to content

anarcher/eks-node-viewer

 
 

Repository files navigation

GitHub License contributions welcome

Usage

eks-node-viewer is a tool for visualizing dynamic node usage within a cluster. It was originally developed as an internal tool at AWS for demonstrating consolidation with Karpenter.

Talks Using eks-node-viewer

Installation

go install github.com/awslabs/eks-node-viewer/cmd/eks-node-viewer@latest

Note: This will install it to your GOBIN directory, typically ~/go/bin if it is unconfigured.

Usage

Usage of ./eks-node-viewer:
  -disable-pricing
    	Disable pricing lookups
  -kubeconfig string
    	(optional) absolute path to the kubeconfig file (default "~/.kube/config")
  -nodeSelector string
    	Node label selector used to filter nodes, if empty all nodes are selected
  -resources string
    	List of comma separated resources to monitor (default "cpu")

Examples

# Standard usage
eks-node-viewer
# Karenter nodes only
eks-node-viewer --nodeSelector "karpenter.sh/provisioner-name"
# Display both CPU and Memory Usage 
eks-node-viewer --resources cpu,memory
# Specify a particular AWS profile and region 
AWS_PROFILE=myprofile AWS_REGION=us-west-2 

Troubleshooting

NoCredentialProviders: no valid providers in chain. Deprecated.

This CLI relies on AWS credentials to access pricing data if you don't use the --disable-pricing option. You must have credentials configured via ~/aws/credentials, ~/.aws/config, environment variables, or some other credential provider chain.

See credential provider documentation for more.

I get an error of creating client, exec plugin: invalid apiVersion "client.authentication.k8s.io/v1alpha1"

Updating your AWS cli to the latest version and updating your kubeconfig should resolve this issue.

Development

Building

$ make build

About

EKS Node Viewer

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.2%
  • Makefile 0.8%