/fubectl

Reduces repetitive interactions with kubectl

Apache License 2.0Apache-2.0

fubectl

Because it's fancy-kubectl!

Prerequisites?

Installation

You can directly download the fubectl.source and save it in some directory.

Download:

curl -LO https://rawgit.com/kubermatic/fubectl/master/fubectl.source

then add to your .bashrc/.zshrc file:

[ -f <path-to>/fubectl.source ] && source <path-to>/fubectl.source

What can it do?

k - alias for kubectl

Like g for git but 133% more effective!

Examples:

  • k get nodes
  • k get pods
  • k version --short

Usage: kGif


kall - All pods in all namespaces

Get all pods

Usage: kGif


kwall - Watch all pods in all namespaces

Watch all pods in all namespaces every 2 seconds.

Usage: kGif


kdes - Describe a resource

Examples:

  • kdes pod
  • kdes service
  • kdes nodes

Usage: kGif


kdel - Delete a resource

Examples:

  • kdel pod
  • kdel secret
  • kdel pvc

Usage: kGif


klog - Print the logs for a container in a pod

Examples:

  • klog - Print the last 10 lines
  • klog 100 - Print the last 100 lines
  • klog 250 -f - Print the last 250 lines and follow the output, like tail -f
  • klog 50 -p - Print the last 50 lines of the previous container

Usage: kGif


kex - Execute a command in a container

Examples:

  • kex bash - Start a bash in a container
  • kex date - Print the date in a container

Usage: kGif


kfor - Forward one or more local ports to a pod

Examples:

  • kfor 8000 - Forwards port 8000 to a pod
  • kfor 8000:80 Fowards local port 8000 to a pod's port 80

Usage: kGif


ksearch - Search for string in resources

Examples:

  • // TODO

Usage: kGif


kcl - Displays one or many contexts from the kubeconfig file

Context list

Usage: kGif

kcs - Sets the current context

Usage: kGif


kcns - Switch the default namespace

kcns - Set the current default namespace from list kcns kube-system - Set kube-system as default namespace immediately

Usage: kGif

kdebug - Start a debugging Pod in a Cluster

Usage: kGif


kp - Open the Kubernetes dashboard

Opens localhost:8001/ui in your browser and runs kubectl proxy


Extra!

Do you wan't to have the current kubecontext in your prompt?:

export PS1="\[$(kube_ctx_name)\] $PS1"

for the current namespace (this is currently slow, because it calls kubectl every time):

export PS1="\[$(kube_ctx_namespace)\] $PS1"