# Developing with Unikube
The Unikube CLI is based on Python and uses pip for the installation. Thus, please make sure that pip is installed. If you need help - have a look at the official pip installation guide (opens new window).
The following command makes the Unikube CLI available on your machine:
sudo pip install unikube
Unikube needs some other packages to do it’s magic. To verify if all the packages are available, run:
unikube system verify
If all checks are completed successfully skip the next step.
Otherwise, run:
unikube system install
...and verify again:
unikube system verify
Everything should be in place to run a Kubernetes on your machine. Time to login!
unikube login
Feel free to close the login tab after a successful login. Let’s list the available projects:
unikube project list
At this point, you should see the project created in the "Online Project Creation" section. Neat! Let's spin it up:
unikube project up
After a short time, you’ve got a running and provisioned Kubernetes cluster.
Let's install the deck containing the application:
unikube deck install
TIP
Run following command inspect the current state of your cluster
watch unikube app list --deck buzzword-counter
After some time you've got your cluster setup with your application. That was simple, wasn’t it?
As good old Steve Jobs said - we’ve got one more thing (and it is pretty amazing!):
let’s switch a running docker container from your machine into the cluster.
First, we create a unikube.yaml file, which provides information about the image and how it should be integrated into the cluster.
version: "1"
apps:
buzzword-counter:
deployment: buzzword-counter-web
build:
context: .
dockerfile: Dockerfile
options:
- compress
env:
- DJANGO_DEBUG: "True"
command: python manage.py collectstatic --noinput --ignore src; python manage.py runserver 0.0.0.0:{port}
volumes:
- .:/code
This example file is taken from our buzzword counter application. (opens new window) It describes the app to be switched into the local cluster. If you’ve worked with docker-compose before it should look pretty familiar.
build
provides the build arguments for the docker image for the container to be built.env
allows you to overwrite environment variables within the running container.command
is the command to be executed within the container.volume
allows you to add a volume mapping from your local disk to the container running in the cluster. This enables pretty cool things like hot code reloading.
You can find the helm
charts for the buzzword counter here (opens new window).
Now we’re set to execute the switch command:
unikube app switch
Unikube switches the images and shows you the output of your command.
Done. Amazing!!!