• Stars
    star
    165
  • Rank 228,906 (Top 5 %)
  • Language
    Go
  • License
    MIT License
  • Created over 6 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

kubexp (KubeExplorer)

CircleCI codecov

kubexp is a console user interface for kubernetes.

drwing

Features

  • automatic update view when cluster changes
  • switch cluster
  • resource details and incremental search
  • following container logs
  • exec into container
  • pod port-forward
  • upload/download files to container
  • scale deployments, replicasets etc.
  • delete resources

Installation

You need a shell with access to kubernetes through kubectl. Kubexp uses the same configuration file (usually ~.kube/config) to connect to the k8s cluster(s).

rbac

Your service account must have a rolebinding to cluster admin in each k8s cluster. The file rbac-default-clusteradmin.yaml contains the according clusterrolebinding for the default service account:

kubectl apply -f rbac-default-clusteradmin.yaml

Option 1: get executable

Go to releases page and download the binary for your platform.

KUBEXP_RELEASE="0.9.0"
wget https://github.com/alitari/kubexp/releases/download/${KUBEXP_RELEASE}/kubexp
chmod +x kubexp

Option 2: running with docker

To run the kubexp container you need to mount the config file. Note, that when kubexp runs in a container the port-forward feature will not work.

KUBEXP_RELEASE="0.9.0"
docker run -it -v ~/.kube/config:/root/.kube/config alitari/kubexp:${KUBEXP_RELEASE}

Hints

  • use arrow keys to navigate and return key to toggle between the item list and item details
  • to get help in the user interface type 'h'
  • hit Space-Key to reconnect when resource is OFFLINE
  • resources in the menu are organized in categories, hit 'r' to change the category
  • get command line options with kubexp -help

building and running

set the GOOS environment variable according your os

# setup development environment
SRCDIR=${GOPATH:-${HOME}/go}/src/github.com/alitari/ && mkdir -p $SRCDIR && cd $SRCDIR
git clone https://github.com/alitari/kubexp.git && cd kubexp
# fetch dependencies
go get -v -t -d ./...

export GOOS="linux"
# export GOOS="windows"
# build executable
./build.sh bin
# execute linux
bin/kubexp
# execute windows
# bin/kubexp.exe

# execute tests
go test main/..

Credits

  • GOCUI go framework for console user interfaces