---
title: Introducing Kubernetes version 1.0!
description: 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 del […]
url: https://canonical.com/blog/introducing-kubernetes-version-1-0?format=md
---

1. [Blog](https://canonical.com/blog)
2. Article

---

[Matt Bruzek](https://canonical.com/blog/author/mbruzek "More about Matt Bruzek")

21 July 2015

# Introducing Kubernetes version 1.0!

[Charms](https://canonical.com/blog/tag/charms)
[cloud](https://canonical.com/blog/tag/cloud)
[docker](https://canonical.com/blog/tag/docker)
[Juju](https://canonical.com/blog/tag/juju)
[kubernetes](https://canonical.com/blog/tag/kubernetes)

---

Share the article

A big congratulations to the [Kubernetes](http://kubernetes.io/) 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](https://github.com/GoogleCloudPlatform/kubernetes) on github: <https://github.com/GoogleCloudPlatform/kubernetes/tree/master/cluster/juju>

To use our magic you will need to have Juju installed ([see here for native setup](https://jujucharms.com/get-started) or [here for using Docker](https://registry.hub.docker.com/u/jujusolutions/jujubox/)).  We maintain a Juju [bundle](https://github.com/GoogleCloudPlatform/kubernetes/tree/master/cluster/juju/bundles) as part of the [Kubernetes repository](https://github.com/juju-solutions/tupperware/blob/master/k8s-1.Oh). Then you can hack and launch a cluster easily using semantics common to the k8s project.

## Features

### 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: <https://jujucharms.com/u/kubernetes/kubernetes-cluster>

```
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:

<https://jujucharms.com/u/kubernetes/kubernetes-cluster>

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 https://github.com/GoogleCloudPlatform/kubernetes.git
cd kubernetes
export KUBERNETES_PROVIDER=juju
cluster/kube-up.sh
```

### 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](https://groups.google.com/forum/#!forum/google-containers).

Happy Containerizing! Is that even a word?

## Sign up for our newsletter

Get the latest Canonical news and updates in your inbox.

Work email:

\*I agree to receive information about Canonical's
products and services.

By submitting this form, I confirm that I have read and agree to [Canonical's Privacy Policy](https://canonical.com/legal/dataprivacy).

Sign up

## Share on

---

## Related posts

[### Deploy your Spring Boot application to production](https://canonical.com/blog/deploy-spring-application-to-production)

In this article we walk through the steps required to deploy a Spring Boot application to production using Juju and Kubernetes. The goal is to showcase the integration of the...

[Javier de la Puente](https://canonical.com/blog/author/javierdelapuente)

13 January 2026

[### Run agentic workloads on Arm and Ubuntu](https://canonical.com/blog/run-agentic-workloads-on-arm-and-ubuntu)

In the lead-up to Ubuntu Summit 26.04, Canonical and Arm are collaborating to certify the new Arm AGI CPU on Ubuntu 26.04 LTS (Resolute Raccoon). Learn what this means for...

[Youssef Eltoukhy](https://canonical.com/blog/author/usf197)

26 May 2026

[### How to set up a micro lab: four principles for a reliable homelab](https://canonical.com/blog/how-to-set-up-a-reliable-homelab)

After over a decade of running a homelab, I have learned a few difficult lessons. Although it begins as a “lab,” you inevitably end up with something you want to keep. If a...

[Jake Nabasny](https://canonical.com/blog/author/slapcat)

17 March 2026

[### Building new revenue streams: 3 strategic cloud opportunities for telcos in 2026](https://canonical.com/blog/new-telco-cloud-opportunity)

PWC claimed the ‘fundamental challenge’ behind slowing growth is that telecom’s ‘core products and services’ are ‘becoming commodities.’ The way forward lies in modernizing and...

[Isobel Kate Maxwell](https://canonical.com/blog/author/iso-maxwell)

10 February 2026
