Home

GitHub release Go Report Card

Welcome to kubed-sh, the Kubernetes distributed shell for the casual cluster user. In a nutshell, kubed-sh lets you execute a program in a Kubernetes cluster without having to create a container image or learn new concepts.

For example, let's say you have a Node.js script called test.js and you want to launch it as a containerized app in your Kubernetes cluster, here's what you'd need to do in kubed-sh:

1
2
3
4
[kind::default]$ node test.js &
[kind::default]$ ps
DPID                          SOURCE      URL
kubed-sh-1517679562543558000  test.js     test

Does this look familiar to what you do in your "local" shell? That's the point of kubed-sh: it allows you to use Kubernetes without needing to learn anything new.

Try it out for free in your browser and/or see it in action:

Introducing kubed-sh kubed-sh hot-reload feature demo
Introducing kubed-sh (5 min) kubed-sh hot-reload feature demo (3 min)

In addition to launching (Linux ELF) binaries directly, the following interpreted environments are supported:

  • When you enter node script.js, kubed-sh launches a Node.js (default v12) container, copies the script into it and starts it.
  • When you enter python script.py, kubed-sh launches a Python (default v3.6) container, copies the script into it and starts it.
  • When you enter ruby script.rb, kubed-sh launches a Ruby (default v2.5) container, copies the script into it and starts it.

Tip

Since kubed-sh is a proper shell environment. This means you can expect features such as auto-complete of built-in commands, history operations (CTRL+R), or clearing the screen (CTRL+L) to work as per usual.

Want to give it a try? Go ahead and install it now!