This event has ended. Visit the official site or create your own event on Sched.

Sign up or log in to bookmark your favorites and sync them to your phone or calendar.

KubeCon [clear filter]
Tuesday, November 8

11:00am PST

Visualizing Kubernetes: The Power of Dashboard - Dan Romlein, Apprenda & Piotr Bryk, Google
What purpose does a web UI serve in Kubernetes? As the team responsible for building ‘Dashboard’ – the official UI for Kubernetes – that question is one we continually reexamine and assess our product against. We think a web UI has tremendous value to offer to Kubernetes users, and in this talk we’re excited to share why that is. We’ll make a case for the existence of Dashboard (including how it specifically serves different types of user), show & tell what we’ve been up to recently, and finally, share our plans for the future.


Piotr Bryk

Software Engineer, Google
Piotr Bryk is a software engineer at Google and leads development of Kubernetes’ Dashboard, the official UI. He runs the SIG UI with Dan Romlein.
avatar for Dan Romlein

Dan Romlein

UX Designer, Apprenda
Dan Romlein heads up user experience design at Apprenda. He is the primary UX and visual designer for Dashboard, and leads design critiques around new features. Dan runs the SIG UI with Piotr Bryk.

Tuesday November 8, 2016 11:00am - 11:40am PST
Willow B

11:50am PST

Compiling to Containers - Brendan Burns, Microsoft
Containers have revolutionized the way that people build and manage distributed systems. More and more they are becoming the “assembly language” for modern, scalable distributed applications. But if containers are the “assembly language”, most people deploying distributed systems are actually still programming in this “assembly language.”

But what if, instead of writing in “assembly” we started writing our distributed systems, in higher level languages, that compiled to containers? Traditionally this has been the task of domain specific languages like Puppet, Chef, Salt or Ansible. In contrast, in this talk, I show how a general purpose programming language (in this case JavaScript) can be used to write programs that compile to a distributed system of containers that is then deployed onto Docker containers.

Using a general purpose programming language unlocks significant value for users. They now have a large array of development tools, from unit test frameworks, to code style conventions at their disposal. Further, the (optional) use of a single language that describes both the pieces of the distributed system as well as the manner in which these pieces are composed, radically simplifies building and maintaining such a system. This in turn increases application reliability and agility for developers.

avatar for Brendan Burns

Brendan Burns

Software Engineer, Microsoft
Brendan Burns is a software engineer at Microsoft Azure and co-founder of the Kubernetes project. Before Kubernetes he worked on search infrastructure at Google. Before Google he was a professor at Union College in Schenectady, NY. He received his PhD in Computer Science from the... Read More →

Tuesday November 8, 2016 11:50am - 12:30pm PST
Redwood AB

11:50am PST

Scaling Microservices Beyond a Single Cluster with Kubernetes - Dan Wilson, Concur
All things fail, including clustered technologies that are designed for failure. Learn how Concur uses external load balancing and the existing k8s tools (pre-ubernetes) to provide cluster failure tolerance for our services in a fully automated way.

avatar for Dan Wilson

Dan Wilson

Principal Architect IV, Concur
I have a passion for collaborating across the business and using data to drive decision making. My primary areas of focus include container orchestration, developer pipeline, cloud service architecture, scale out technologies, design for failure and open source technologies.

Tuesday November 8, 2016 11:50am - 12:30pm PST
Grand Ballroom C

2:00pm PST

Taking the Helm: Delivering Kubernetes-Native Applications - Michelle Noorali and Matt Butcher, Deis & Adnan Abdulhussein, Bitnami
The typical workflow for delivering an application on top of Kubernetes involves managing a bunch of manifest files in your Git repositories, and writing new manifests usually means copying lots of boilerplate. There are no standard ways to share and manage what’s running in your cluster. Enter Helm, a tool that streamlines the creation, deployment and management of Kubernetes-native applications. In this demo-led session, members of the CNCF Helm team show you how you can use Helm to improve your deployment workflows.

This presentation will cover:
- The history of Helm
- Deploying your first Chart
- Making your application Kubernetes-native with Helm
- Best practices for creating and configuring Kubernetes Charts
- Guidelines for contributing official Kubernetes Charts
- Setting up a Chart Repository to share your own Charts

avatar for Adnan Abdulhussein

Adnan Abdulhussein

Software Engineer, Bitnami
Adnan Abdulhussein is a Software Engineer at Bitnami, where he works on building tools to make apps easier to run on Kubernetes. He contributes to the Kubernetes community as a co-chair of SIG-Apps and a core maintainer of the Helm project. Adnan is passionate about cloud-native infrastructure... Read More →
avatar for Matt Butcher

Matt Butcher

Helm Lead, Deis
avatar for Michelle Noorali

Michelle Noorali

Software Engineer, Microsoft
Michelle is a Core Maintainer on the Kubernetes Helm project. She co-leads SIG-Apps which is the Kubernetes special interest group for running and managing applications and workloads on Kubernetes.

Tuesday November 8, 2016 2:00pm - 2:40pm PST
Willow B

3:40pm PST

Kompose: The Docker-Compose of Kubernetes - Sebastien Goasguen, Skippbox
Developers who embrace containers start with Docker on their laptop and quickly build a docker-compose file to describe their multi-container application. To deploy this application in a cluster they can rely on Swarm or systems like Rancher. But until now there was no easy way to go from Compose to Kubernetes. In this talk we will present Kompose, a tool that takes a docker-compose file and automatically converts it into Kubernetes primitives. The tool is highly flexible and provides the same functionality as docker-compose, but it also provides extended functionality to embrace Kubernetes powerful API objects. A community driven open-source tool, kompose meets Docker users where they are and brings them automatically to Kubernetes operations.

avatar for Sebastien Goasguen

Sebastien Goasguen

Kubernetes Lead, Bitnami
Sebastien Goasguen is a twenty year open source veteran. A member of the Apache Software Foundation, he worked on Apache CloudStack and Libcloud for several years before diving into the container world. He is the founder of Skippbox, a Kubernetes startup acquired by Bitnami where... Read More →

Tuesday November 8, 2016 3:40pm - 4:20pm PST
Redwood AB

3:40pm PST

Life of a Kubernetes API Request - Daniel Smith, Google
We'll follow an API request through the Kubernetes API stack, starting from kubectl and ending with the storage layer (etcd). This is targeted at people who want to develop Kubernetes itself. We will look at code snippets! (This is a talk I have given internally at Google.)

avatar for Daniel Smith

Daniel Smith

Staff Software Engineer, Google
Daniel has been working on Kubernetes since before it was open sourced, and is still one of the top contributors overall today. Currently, he is co-TL of the Kubernetes API Machinery SIG, and TL of the corresponding Google team. Before Kubernetes, Daniel worked on Google’s borg... Read More →

Tuesday November 8, 2016 3:40pm - 4:20pm PST
Willow A
Wednesday, November 9

9:00am PST

KubeCeption! A Story of Self-Hosted Kubernetes - Aaron Levy, CoreOS, Inc.
Self-hosted Kubernetes is here, and with it you can upgrade Kubernetes using nothing but Kubernetes, manage the full cluster lifecycle using nothing but kubectl, and run Kubelets with Kubelets.

Wondering what a self-hosted Kubernetes cluster actually is? This talk will go over how we can vastly improve and simplify management of Kubernetes clusters by getting out of its way, and letting Kubernetes manage itself. At the end of the day, Kubernetes is oftentimes better at managing applications than the tools we build to manage Kubernetes.

From the initial node bootstrap, to a scaling a highly-available Kubernetes installation - we will cover how it works through each stage of deploying a self-hosted cluster, and what it looks like to use Kubernetes to manage Kubernetes.


Aaron Levy

Head of Kubernetes Cluster Lifecycle, CoreOS
Aaron Levy is a software engineer at CoreOS, working on all things Kubernetes. He is also the lead maintainer of bootkube, a kubernetes-incubator project that enables launching self-hosted kubernetes clusters.

Wednesday November 9, 2016 9:00am - 9:40am PST
Willow B

9:50am PST

Third Party Dynamic Volume Provisioners - Jan Šafránek, Red Hat
Kubernetes 1.4 introduces an API for dynamic provisioning of persistent volumes by third party provisioners. Any storage vendor, big or small, open or proprietary, can write a standalone plugin that can provision storage for Kubernetes. The plugin can live outside of Kubernetes source tree, running on any platform and be written in any language, as long as it can talk to Kubernetes using REST protocol. In this tutorial, we will write a simple provisioner using a prepared skeleton written in Go language and we will handle all possible corner cases that the plugin needs to deal with in a highly dynamic system such as Kubernetes.

Some user experience with Kubernetes is strongly desired. Golang knowledge is not required, code samples should be universally understandable to anyone with a programming experience.

avatar for Jan Šafránek

Jan Šafránek

Principal Software Engineer, Red Hat
Jan is a Principal Software Engineer at Red Hat working on storage aspects of Kubernetes. He started developing Kubernetes more than 4 years ago, and is one of the founding members of SIG-Storage. He’s the author of PersistentVolume controller, dynamic provisioning and StorageClass... Read More →

Wednesday November 9, 2016 9:50am - 10:30am PST
Willow A

10:55am PST

Everything You Ever Wanted to Know About Resource Scheduling, But Were Afraid to Ask - Tim Hockin, Google
Effective management of shared resources (CPU, memory, etc) is critical to achieving higher utilization and stronger isolation in shared-machine systems like Kubernetes. As the industry evolves from single-purpose machines toward shared machines running containers, we must begin to internalize and embrace the ideas of resource-based scheduling. There are several facets of resource management to consider, but it's clear that many people are still asking the wrong questions.

The truth is that managing resources is HARD. This talk will try to demystify some of the thinking around this topic, share some techniques for better cluster management, and present some ideas for making Kubernetes an overall more robust system.

avatar for Tim Hockin

Tim Hockin

Principle Software Engineer, Google
Tim is a Principal Software Engineer at Google, where he works on the Kubernetes, Google Kubernetes Engine (GKE), and Anthos. He has been working on Kubernetes since before it was announced, and mostly pays attention to topics like APIs, networking, storage, nodes, multi-cluster... Read More →

Wednesday November 9, 2016 10:55am - 11:35am PST
Redwood AB

10:55am PST

New Features in Kubernetes Storage - Brad Childs, Red Hat
Two major features were recently added to kubernetes storage-- volume selectors and dynamic provisioning using StorageClasses.

The addition of persistent volume selectors greatly increases a user’s ability to manage and consume volumes. With pv-selector the user can still view storage as ‘cattle’, meaning fungible, but with specific attributes that may impact a running application.

With the addition of StorageClass as configuration parameters to dynamic provisioning in Kube 1.4, administrators can create multiple provisioners with different parameters. Users then request instances of that storage by name.

In this presentation we’ll go over use-cases and scenarios where pv-selector is helpful in managing volumes. Some of the scenarios covered are data in brownfield (legacy storage), various storage topologies, shared storage security, and storage with specific performance characteristics.

We’ll also demonstrate use cases for StorageClass, configuring StorageClasses and requesting storage by named StorageClass. Dynamic Provisioning of storage on both AWS and GCE will be covered.


Brad Childs

principal software engineer, Red hat
Brad is a principal software engineer and the container storage development lead at Red Hat. He has experience with big data, storage, cloud and PaaS engineering.

Wednesday November 9, 2016 10:55am - 11:35am PST
Willow B

12:35pm PST

rkt and the Open Container Initiative: Promoting Industry Standards - Derek Gonyeo, CoreOS, Inc.
The container industry has come together and drafted the OCI specifications to define what a container runtime is and how they should package and share content. As a founding member of the OCI, CoreOS is dedicated to making rkt, our container runtime engine, compliant with these new specifications. This talk will describe the particulars of the OCI specifications as they relate to rkt, what we’ve done so far to bring rkt into compliance, what our next steps are, and how this benefits our users.


Derek Gonyeo

Software Engineer, CoreOS

Wednesday November 9, 2016 12:35pm - 1:15pm PST
Redwood AB