Because it's fancy-kubectl !
You can directly download the fubectl.source
and save it in some directory.
Download:
curl -LO https://raw.githubusercontent.com/kubermatic/fubectl/refs/heads/main/fubectl.source
then add to your .bashrc/.zshrc file:
[ -f <path-to>/fubectl.source ] && source <path-to>/fubectl.source
Alternatively you can install fubectl using the ZSH plugin manager of your choice.
k – alias for kubectlLike g for git but 233% more effective!
Examples:
k get nodesk get podsk version --shortUsage:

kw – alias for 'watch kubectl'Examples:
kw nodeskw podskw nodes,pods,serviceskall – All pods in all namespacesGet all pods
Usage:

kwall – Watch all pods in all namespacesWatch all pods in all namespaces every 2 seconds.
Usage:

kdes – Describe a resourceExamples:
kdes podkdes servicekdes nodesUsage:

kdel – Delete a resourceExamples:
kdel podkdel secretkdel pvcUsage:

klog – Print the logs for a container in a podExamples:
klog - Print the last 10 linesklog 100 - Print the last 100 linesklog 250 -f - Print the last 250 lines and follow the output, like tail -fklog 50 -p - Print the last 50 lines of the previous containerUsage:

kex – Execute a command in a containerExamples:
kex bash - Start a bash in a containerkex date - Print the date in a containerUsage:

kfor – Forward one or more local ports to a podExamples:
kfor 8000 - Forwards port 8000 to a podkfor 8000:80 Fowards local port 8000 to a pod's port 80Usage:

ksearch – Search for string in resourcesExamples:
// TODOUsage:

kcl – Displays one or many contexts from the kubeconfig fileContext list
Usage:

kcs – Sets the current contextUsage:

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

kdebug – Start a debugging Pod in a ClusterUsage:

kp – Open the Kubernetes dashboardOpens localhost:8001/ui in your browser and runs kubectl proxy
Do you want 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"
fubectl can be customized via following environment variables
FUBECTL_WATCH_CMD – alterative watch command, e.g. viddyFUBECTL_NO_KCL – disable kcl alias, since it may conflict with KCL language CLIIf you encounter issues file an issue or talk to us on the #fubectl channel on the Kubermatic Slack.
Thanks for taking the time to join our community and start contributing!
Feedback and discussion are available on Kubermatic Slack.
8,914 followers · starred Jul 2018
12,947 followers · starred Aug 2025
8,726 followers · starred May 2019
347 followers · starred Jul 2020
Because it's fancy-kubectl !
You can directly download the fubectl.source
and save it in some directory.
Download:
curl -LO https://raw.githubusercontent.com/kubermatic/fubectl/refs/heads/main/fubectl.source
then add to your .bashrc/.zshrc file:
[ -f <path-to>/fubectl.source ] && source <path-to>/fubectl.source
Alternatively you can install fubectl using the ZSH plugin manager of your choice.
k – alias for kubectlLike g for git but 233% more effective!
Examples:
k get nodesk get podsk version --shortUsage:

kw – alias for 'watch kubectl'Examples:
kw nodeskw podskw nodes,pods,serviceskall – All pods in all namespacesGet all pods
Usage:

kwall – Watch all pods in all namespacesWatch all pods in all namespaces every 2 seconds.
Usage:

kdes – Describe a resourceExamples:
kdes podkdes servicekdes nodesUsage:

kdel – Delete a resourceExamples:
kdel podkdel secretkdel pvcUsage:

klog – Print the logs for a container in a podExamples:
klog - Print the last 10 linesklog 100 - Print the last 100 linesklog 250 -f - Print the last 250 lines and follow the output, like tail -fklog 50 -p - Print the last 50 lines of the previous containerUsage:

kex – Execute a command in a containerExamples:
kex bash - Start a bash in a containerkex date - Print the date in a containerUsage:

kfor – Forward one or more local ports to a podExamples:
kfor 8000 - Forwards port 8000 to a podkfor 8000:80 Fowards local port 8000 to a pod's port 80Usage:

ksearch – Search for string in resourcesExamples:
// TODOUsage:

kcl – Displays one or many contexts from the kubeconfig fileContext list
Usage:

kcs – Sets the current contextUsage:

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

kdebug – Start a debugging Pod in a ClusterUsage:

kp – Open the Kubernetes dashboardOpens localhost:8001/ui in your browser and runs kubectl proxy
Do you want 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"
fubectl can be customized via following environment variables
FUBECTL_WATCH_CMD – alterative watch command, e.g. viddyFUBECTL_NO_KCL – disable kcl alias, since it may conflict with KCL language CLIIf you encounter issues file an issue or talk to us on the #fubectl channel on the Kubermatic Slack.
Thanks for taking the time to join our community and start contributing!
Feedback and discussion are available on Kubermatic Slack.
8,914 followers · starred Jul 2018
12,947 followers · starred Aug 2025
8,726 followers · starred May 2019
347 followers · starred Jul 2020