Skip to content

A better kubectl explain with the fuzzy finder

License

Notifications You must be signed in to change notification settings

keisku/kubectl-explore

Repository files navigation

kubectl-explore

.github/workflows/test.yaml

demo

What’s lacking in the original kubectl-explain?

  • kubectl explain requires knowing in advance the resource name/fields.
  • kubectl explain requires typing the accurate path to the resource name/field, which is a tedious and typo-prone.

Example Usage

# Fuzzy-find a resource, then a field to explain
kubectl explore

# Fuzzy-find from all fields of a specific resource.
kubectl explore pod
kubectl explore sts

# Fuzzy-find from fields that a given regex matches.
kubectl explore sts.*Account

Installation

Krew

Use krew plugin manager to install. See the guide to install krew.

kubectl krew install explore
kubectl explore --help

Nix

The plugin is available in nixpkgs:

nix-env -iA nixpkgs.kubectl-explore

Arch

use yay or paru to install the package from the AUR.

kubectl-explore-bin

[yay/paru] -S kubectl-explore-bin

Download the binary

Download the binary from GitHub Releases and drop it in your $PATH.

# Other available architectures are linux_arm64, darwin_amd64, darwin_arm64, windows_amd64.
export ARCH=linux_amd64
# Check the latest version, https://github.com/keisku/kubectl-explore/releases/latest
export VERSION=<LATEST_VERSION>
wget -O- "https://github.com/keisku/kubectl-explore/releases/download/${VERSION}/kubectl-explore_${VERSION}_${ARCH}.tar.gz" | sudo tar -xzf - -C /usr/local/bin && sudo chmod +x /usr/local/bin/kubectl-explore

From source.

go install github.com/keisku/kubectl-explore@latest
sudo mv $GOPATH/bin/kubectl-explore /usr/local/bin

Validate if kubectl explore can be executed. The Kubernetes documentation explains how to use a plugin.

kubectl explore --help