This event has ended. Visit the official site or create your own event on Sched.
Customize your schedule by session topic and skill level:  Session Topic - Refer to the "Type" filter list to the right to find a session based on topic. Talk Difficulty - Sessions are categorized as [B]eginner, [I]ntermediate or [A]dvanced at the end of each talk title.

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

KubeCon Deep Dive [clear filter]
Thursday, March 30

11:30 CEST

Programming Kubernetes with the Go SDK [I] - Aaron Schlesinger, Deis
Most people talk to their Kubernetes clusters using the kubectl tool, but we’re seeing more and more cases where engineers are writing their own software to talk to the Kubernetes API itself. The use cases for doing so are many: writing ingress controllers, managing pods and watching logs to name a few.

At Deis, we’re using the Kubernetes Go SDK for quite a few different purposes. We first started by vendoring in the Kubernetes mono-repo to watch pod events. We pushed our code to production and quickly learned all about Kubernetes event stream internals and the server-side event cache. When we got something working reliably, we expanded our usage of this client code to a few other domains. We later migrated to the the client-go package when it was released and now use it in almost all of our projects and infrastructure.

In this talk, we’ll share our use cases and detail what we’ve learned using client-go in production. We’ll also share some best practices and show a demo to illustrate how you can get started with the client yourself.

avatar for Aaron Schlesinger

Aaron Schlesinger

Cloud Developer Advocate, Microsoft
Aaron is a developer advocate at Microsoft Azure and a core maintainer of the Athens Project. He is an emeritus core maintainer and chair of the Kubernetes SIG-Service-Catalog and a contributor to various other projects in the Kubernetes community. He enjoys distilling his wide ranging... Read More →

Thursday March 30, 2017 11:30 - 12:05 CEST
C 01 Berlin Congress Center, Alexanderstraße 11, 10178 Berlin, Germany

12:15 CEST

Life of a Packet [I] - Michael Rubin, Google
Tracing the path of network traffic in the kubernetes system. Clarifying which API objects map to implementation and how Google deploys this in GKE today. Attendees will learn about topics from how networking packets are processed when the cluster is working as designed and what are common problems when the cluster is being creative and surprising.

avatar for Michael Rubin

Michael Rubin

Senior Staff Eningeer & TLM, Google
Twenty years in the Systems Software Industry, from developing enterprise file servers and systems. The past ten years he has worked at Google where he founded the Linux Storage group for its data centers and worked on world wide WAN and BGP technologies. Today he is co-leading and... Read More →

Thursday March 30, 2017 12:15 - 12:50 CEST
C 01 Berlin Congress Center, Alexanderstraße 11, 10178 Berlin, Germany

15:40 CEST

Writing a Custom Controller: Extending the Functionality of Your Cluster [I] - Aaron Levy, CoreOS
Much of the functionality in a Kubernetes cluster is managed by a reconciliation pattern within "controllers". The node, service, or deployment controllers (just to name a few) watch for changes to objects, then act on those changes to drive your cluster to a desired state. This same pattern can be used to implement custom logic, which can be used to extend the functionality of your cluster without ever needing to modify Kubernetes itself.

This talk will cover how to implement your own custom controller, from contacting the Kubernetes API to using existing libraries to easily watch, react, and update components in your cluster. By building on existing functionality and following a few best practices, you can quickly and easily implement your own custom controller.


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.

Thursday March 30, 2017 15:40 - 16:15 CEST
C 01 Berlin Congress Center, Alexanderstraße 11, 10178 Berlin, Germany
Filter sessions
Apply filters to sessions.