Overview

The application runs in a docker container which is basically an nginx image serving the static files. This docker image is deploy using kubernetes itself in the kube-system namespace.

The package contains kubernetes manifests and a bash script to create a service and a replication controller.

The Dockerfile for the image can be found here

Where to obtain the package

The package can be obtained from the releases page of the project

Installer prerequisites

  • Kubernetes (using docker as container engine) 1.1 or later
  • Kubernetes command line tool: kubectl (in order to create the kube-admin replication controller and service)

Installation

$ tar -xvzf kube-admin-k8s-vXXX.tar.gz
$ cd kube-admin
$ sh start-in-k8s

The newly created replication controller might take some time to spin up a new pod. After the pod is up, the application should become available. See the usage section to get started.

The installer uses the following defaults to talk to kubernetes:

  • Cluster address: http://localhost:8080
  • kubectl path: kubectl

You can control the above by setting the envars: KUBE_ADMIN_CLUSTER_ADDR and KUBE_ADMIN_KUBECTL_PATH

Upgrade

Untill the install script supports upgrade, use:

kubectl rolling-update kube-admin-<someversion> -f rc-manifest.yml --namespace="kube-system"

Alternative install options

At this moment, the application has no dedicated back-end and it is formed only of static files (javascript, css, html) therefore is quite simple to just serve this files. For example, using python simple HTTP server module:

cd dist # dir containing index.html and the compiled static files
python2 -m SimpleHTTPServer

Now the app is served at localhost:8000

To simplify, I just provided the install in kubernetes option, but if there is need for other ways to serve the app, they should be quite easy to add.