Introducing Kubernetes version 1.0!

Matt Bruzek

Matt Bruzek

on 21 July 2015


A big congratulations to the Kubernetes project and community on releasing version 1.0 to the public! Kubernetes (a.k.a. k8s) is an open source system for managing containerized applications across multiple hosts called a cluster.  Over the past six months we’ve had a small team of “container people” working to make sure that we could deliver the best Kubernetes experience on the first day of the version 1.0 release!  And, at last, that day has come.

Here’s what you can do today:

  • Deploy a Kubernetes cluster with version 1.0 from the Juju charm store on the following cloud environments: Amazon Web Services (AWS), Google Cloud Engine (GCE), HP Public cloud (and any other OpenStack cloud), Microsoft Azure (yes, you read that correctly), KVM, and bare metal via MAAS.
  • Deploy a Kubernetes cluster with the source code from your local laptop, on the same public cloud environments.  This is our developer story where Juju handles the operations to create a cluster so you can work on your contribution to the Kubernetes project!

Find all the charms and bundles in the cluster/juju directory in the kubernetes project on github:

To use our magic you will need to have Juju installed (see here for native setup or here for using Docker).  We maintain a Juju bundle as part of the Kubernetes repository. Then you can hack and launch a cluster easily using semantics common to the k8s project.


Deploy Kubernetes v1.0

Our first goal is to make it simple for anybody to deploy a Kubernetes cluster v1.0. So we’ve added a kubernetes-cluster bundle to the charm store that does just that:

sudo add-apt-repository ppa:juju/stable

sudo apt-get update
sudo apt-get install juju-quickstart

Now just deploy the bundle from either the charm store or the kubernetes github project.

juju quickstart u/kubernetes/kubernetes-cluster

Make sure you follow the directions in the README, which you can find here:

Kubernetes Bundle

The resulting cluster consumes 4 virtual machines or units.  One machine runs the kubernetes-master, two kubernetes nodes with docker installed on different hosts.  One machine for etcd to provide coordination and shared configuration.  The flannel-docker subordinate is installed on docker units, and related to etcd –  which enables the different container hosts to communicate with each other on an overlay network.

Deploy the local development environment

Our secondary goal was to ensure that developers could easily deploy a kubernetes cluster without having to know how to run a cluster and connect all the pieces. So developers can deploy Kubernetes right from their own git directory and see their changes in the cluster right away. For those with Juju installed just: git clone, hack hack hack, and deploy a cluster with your changes.  Since we are integrated in the Kubernetes github project use the Kubernetes semantics to deploy the cluster:

git clone
cd kubernetes

When a small cluster is not enough!

The default Juju cluster contains two Docker hosts and many containers can run on each host.  For large applications you may need to add more Kubernetes nodes.  To scale out, deploy additional units of the docker charm.

juju add-unit docker

All the supporting services: Kubernetes node, as well as flannel overlay networking, will automatically be added and configured in the existing cluster.

Moving forward post-1.0

Now that Kubernetes 1.0 is released we’re inviting you to deploy these charms to your environments. Kick the tires, break stuff, and by all means, let us know how it’s working out for you. All of this work is Open Source, and we’ll gladly work with the community on making it better.

The current cluster uses Flannel to create an Software Defined Network.  Thanks to the pluggable Juju model we can replace Flannel with other SDN technologies such as Docker’s experimental overlay networking support.  This means as our bundle continues to improve post 1.0 the same set of instructions here will always reflect the deployment of a best of breed Kubernetes cluster.

You’ll find us on #juju on freenode (if you want to talk Juju), and of course you can find us in #google-containers. Also check out the mailing list.

Happy Containerizing! Is that even a word?

Ubuntu cloud

Ubuntu offers all the training, software infrastructure, tools, services and support you need for your public and private clouds.

Sign up for email updates

Choose the topics you're interested in


Related posts


Event Information Date: March 27 – 29 City/State: San Jose, CA Location: San Jose McEnery Convention Center Booth: #1227 GTC is the premier AI and deep learning conference, providing unparalleled training, industry insights, and…

MAAS for the home

This article originally appeared on Chris Sanders’ blog MAAS is designed to run in a data center where it expects to have control of DNS and DHCP. The use of an external DHCP server is listed as ‘may work but not supported’ in the…

Charming Discourse with the reactive framework

Recently the Canonical IS department was asked to deploy the Discourse forum software for a revamp of the Ubuntu Community site at Discourse is a modernization of classic forum/bulletin board software packages…