---
title: Heptio Contour on the Canonical Distribution of Kubernetes
description: I read the Hacker News post Heptio Contour and I thought “Cool! A project
  from our friends at Heptio, lets see what they got for us”. I wont lie to you, at
  first I was a bit disappointed because there was no special mention for Canonical
  Distribution of Kubernetes (CDK) but I understand, I am asking too much :). Let
  me cover this gap here […]
url: https://canonical.com/blog/heptio-contour-on-the-canonical-distribution-of-kubernetes?format=md
---

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

---

[Konstantinos Tsakalozos](https://canonical.com/blog/author/kos-tsakalozos "More about Konstantinos Tsakalozos")

1 November 2017

# Heptio Contour on the Canonical Distribution of Kubernetes

[Amazon Web Services](https://canonical.com/blog/tag/amazon-web-services)
[AWS](https://canonical.com/blog/tag/aws)
[azure](https://canonical.com/blog/tag/azure)
[Charmed Kubernetes](https://canonical.com/blog/tag/charmed-kubernetes)
[conjure-up](https://canonical.com/blog/tag/conjure-up)
[containers](https://canonical.com/blog/tag/containers)
[GCE](https://canonical.com/blog/tag/gce)
[Heptio](https://canonical.com/blog/tag/heptio)
[kubernetes](https://canonical.com/blog/tag/kubernetes)

---

Share the article

I read the Hacker News post [Heptio Contour](https://news.ycombinator.com/item?id=15597017) and I thought “Cool! A project from our friends at Heptio, lets see what they got for us”. I wont lie to you, at first I was a bit disappointed because there was no special mention for [Canonical Distribution of Kubernetes (CDK)](https://www.ubuntu.com/kubernetes) but I understand, I am asking too much :). Let me cover this gap here.

### Deploy CDK

To deploy CDK on Ubuntu you need to just do a:

```

sudo snap install conjure-up --classic
conjure-up kubernetes-core
```

Using ‘kubernetes-core’ will give you a minimal k8s cluster — perfect for our use case. For a larger, more robust cluster, try ‘canonical-kubernetes.’

### Deploy Contour and Demo App

CDK already comes with an ingress solution so you need to disable it and deploy Contour. Here we also deploy the demo kuard application:

```

> juju config kubernetes-worker ingress=false
> kubectl --kubeconfig=/home/jackal/.kube/config apply -f http://j.hept.io/contour-deployment-norbac

> kubectl --kubeconfig=/home/jackal/.kube/config apply -f http://j.hept.io/contour-kuard-example
```

### Get Your App

The Contour service will be on a port that (depending on the cloud you are targeting) might be closed, so you need to open it before accessing kuard:

```
> kubectl --kubeconfig=/home/jackal/.kube/config get service -n heptio-contour  contour -o wide
NAME      TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)  AGE  SELECTOR
contour   LoadBalancer   10.152.183.201   <pending>   80:31226/TCP   2m        app=contour
```

```
juju run --application kubernetes-worker open-port 31226
```

And here it is running on AWS:

Instead of opening the ports to the outside world you could set the right DNS entries. However, this is specific to the cloud you are deploying to.

As the Contour README says “On AWS, create a CNAME record that maps the host in your Ingress object to the ELB address.”
“If you have an IP address instead (on GCE, for example), create an A record.”
For a localhost deployment your ports should not be blocked and you can fake a DNS entry by editing /etc/hosts.

#### Thank you Heptio. Keep it up!

#### Resources

* CDK — <https://jujucharms.com/kubernetes>
* Contour — <https://github.com/heptio/contour>

## 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

[### A look into Ubuntu Core 26: Cloud-powered edge computing with AWS IoT Greengrass and Azure IoT Edge](https://canonical.com/blog/ubuntu-core-26-cloud-integration)

Welcome to this blog series which explores innovative uses of Ubuntu Core. Throughout this series, Canonical’s Engineers will show what you can build with this Core 26 release,...

[Gabriel Aguiar Noury](https://canonical.com/blog/author/g-aguiar-noury)

20 May 2026

[### Minimal Ubuntu Pro: lean images backed by enterprise-grade security](https://canonical.com/blog/minimal-ubuntu-pro-on-public-clouds)

The security landscape is growing continually in complexity. Whatever industry you work in, your organization has to contend with evolving threats and ever-stricter compliance...

[Carlos Bravo](https://canonical.com/blog/author/carlos-bravo)

12 January 2026

[### Ubuntu and Ubuntu Pro on Azure Cobalt 200 VMs](https://canonical.com/blog/ubuntu-azure-cobalt-200-vms)

Microsoft has announced the preview of Azure Cobalt 200, its second-generation custom Arm silicon. Learn how Ubuntu and Ubuntu Pro support these new VMs from day one, offering...

[Jehudi](https://canonical.com/blog/author/jota-ce)

2 June 2026

[### Canonical partners with Snyk for scanning chiseled Ubuntu containers](https://canonical.com/blog/canonical-partners-with-snyk-for-scanning-chiseled-ubuntu-containers)

Canonical, the publisher of Ubuntu, is pleased to announce a new partnership with developer-focused cybersecurity company Snyk. Snyk Container, Snyk’s container security...

[Canonical](https://canonical.com/blog/author/canonical)

20 March 2026
