(Last Updated On: September 22, 2018)

In this post we will learn how to Conjure Up Kubernetes on Ubuntu.  Conjure Up is Canonical’s provisioning suite.

Kubernetes has come a long way since I first wrote an article about installing it using CoreOS. Back then if you were installing Kubernetes on your own bare-metal you didn’t really have an option for ingress routing. Now we have this option and others. In this article I will be installing Kubernetes on an Ubuntu 16.04 VM using conjure-up. If you’re new to Kubernetes then this post will fill in some of the blanks that the Ubuntu documentation doesn’t cover.

Server Setup

I used KVM to install a semi-beefy system that has 6G of memory, 4 CPU cores, and 40GB of drive space. The Ubuntu documentation says you need at least 16GB but that would be half of one of my Dell servers resources. Good news is that if don’t mind a slightly long installation time (~10mins) then you should be fine. Install all the updates and make sure you have a static IP address.


After your server is ready to go we need to setup a few things before we can get started. Since we are going to install Kubernetes on the localhost then we need to install and configure LXD. Caution here: you must do the installation as described here or your conjure-up spell won’t work. Execute the following commands to get LXD installed:

$ sudo su -
# snap install lxd
# /snap/bin/lxd init --auto
# /snap/bin/lxc network create lxdbr0 ipv4.address=auto ipv4.nat=true ipv6.address=none ipv6.nat=false
# exit

Next we need to install conjure-up.

$ sudo snap install conjure-up --classic

Now you are ready to install Kubernetes!

Conjure-up some Kubernetes

We are going to install the Canonical Distribution of Kubernetes using conjure-up. This is actually (thankully) pretty easy.

$ conjure-up kubernetes

This will load up an awesome looking “GUI” using text mode. Select to install it on ‘localhost.’ You may get a screen asking to install a couple of optional stuff like Helm. For now don’t select these. It will also ask you to enter the sudo password. After this it will show you a status screen of all the components of Kubernetes (3 etcd services, 3 flanneld services, a controller, etc).

This part will take some time to complete depending on how much memory you alloted your VM. On my 6GB VM it took a little over 10 minutes.

After it is done, you will get a screen that shows the status of the installation.

Kubernetes Installation using conjure-up on Ubuntu

Your new Kubernetes server is up, but there are still a couple things we have to do to make it useful.

Finishing up

All of our Kubernetes servers are running in LXC containers in a LXD network including the Kubernetes Dashboard. In order to access the dashboard you will need to run the following command:

# kubectl proxy --accept-hosts='^.*$' --address='{your_server_ip}' &

You will likely want to put this in your .bash_profile file so that it runs automatically when you log in. Now you can access your dashboard:


And you should see your dashboard.

Kubernetes Dashboard

Next Steps

Now that you have stood up your Kubernetes cluster you will need to configure your development system to connect to and manage it.  Read my article Connecting to your Kubernetes Cluster remotely.

Well there you go a nice Kubernetes installation using conjure-up on Ubuntu. That was so much simpler than doing it the CoreOS way in my older post. If you want to learn more about Kubernetes, has a great course on Getting Started with Kubernetes. Save 15% On Pluralsight – Annual Subscription Only $299

I hope you enjoyed this post. If it was helpful or if it was way off then please comment and let me know.

Click here for more great articles from AdminTome Blog.

Need Kubernetes Training?

Checkout these awesome Kubernetes courses from Pluralsight.   Pluralsight gives you outstanding training at a great price.  I use Pluralsight every time I need to learn something new.


I hope you have enjoyed this article, if so please leave a comment below.  For more articles, please signup for the AdminTome Blog below.  Also please feel free to share the article to your friends using the buttons to the left.  Thanks again for reading this post.



  1. I have deployed this method however the dashboard fails to authenticate any admin tokens, do you have any ideas on how to fix this issue?

Leave a Comment

you're currently offline