GSoC/GCI Archive
Google Summer of Code 2015

Google Kubernetes

License: Apache License, 2.0

Web Page:

Mailing List:

Kubernetes is a system for managing containerized applications (currently using Docker containers) across multiple hosts, providing basic mechanisms for deployment, maintenance, and scaling of applications. 

It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions. Using the concepts of "labels" and "pods", it groups the containers which make up an application into logical units for easy management and discovery.


  • A More readable template language implemented by Go Kubernetes provides a command line tool kuberctl which can set and view configuration for the current system. The kuberctl can accept a template and render configuration content through it. However, the current template language provided by Go package text/template is not suitable for Kubernetes because of its readability and learning cost problems. Therefore, I’ll implement a more readable template language for Kubernetes.
  • Kubectl documentation and UX enchantments Kubernetes is an open source system for managing containerized applications. A user can use the command line tool kubectl to deploy, maintain, and scale his applications. The purpose of this proposal is to improve user's navigation experience on kubectl through helpful API type/operation descriptions on both CLI and Swagger (Issues: #3060, #5331, #3059 and #2971) and also through implementing various other issues from the CLI roadmap.
  • Kubernetes: Improve Proxy Google's Kubernetes is an open source system for managing containerized applications. Kubernetes currently uses a proxy to route between services consisting of a tcp/udp proxy in go along with some iptables rules. Ideally where possible we can improve performance by using iptables to perform transparent routing in place of the userspace proxy. See: I'm also interested in adding pf support for OSX/BSD. Markdown Proposal Link: