Managing your containers at Google scale

4 readers like this.
How Kubernetes is helping Docker blossom

Maersk Line. CC SA-BY 4.0

The tooling around Linux containers has matured to the point that they are now a viable method of software packaging and deployment. The developer side of the containers equation has gotten a lot of emphasis. However, in order for containers to be a complete solution, they must not only be easy to build, but easy to deploy reliably at scale.

A company that arguably has more experience than any other company in deploying Linux containers at scale is Google. They have been running containers in their own datacenters for over a decade, contributing to the upstream Linux kernel in the areas of cgroups and namespaces. Using an internal system named Borg, Google deploys about 2 billion containers per week.

Deploying containers at that scale for that long tends to separate good container clustering design patterns from bad. Google generalized those good patterns into a container orchestrator they thought would be generally useful to others using the popular docker node-level container manager. In June 2014, Kubernetes was released.

Since that time, Kubernetes' growth has exploded by almost any metric. There have been over 17,000 commits from over 800 unique contributors. Many new projects are leveraging Kubernetes as a base for other projects like Red Hat's Openshift. Contributing companies include Red Hat, IBM, CoreOS, and Intel. Kubernetes is not only open source, but open design. All new features go through a public proposal process which allows members of the community to play a part in directing the project.

Kubernetes seeks to solve the challenge of deploying containers at scale. It has a modular and decoupled design to enable fault tolerance and scalability. Cluster resources are defined declaratively, in yaml or json formatted resource definition files, and Kubernetes components work in an asynchronous way to converge the actual cluster state with the user-declared desired state. Users interact with Kubernetes through a well-defined API.

I will be presenting on Kubernetes at Texas Linux Fest on July 9, 2016 in the Austin Convention Center. Things attendees will learn are:

Kubernetes cluster demo

Most importantly, I will be doing an extensive live demonstration on a small 3 node Kubernetes cluster comprised of 3 Minnowboard Turbots graciously provided by Netgate.

User profile image.
I am a Senior Software Developer at Red Hat working on the upstream Kubernetes project in service to Red Hat's Openshift project

5 Comments

Hi Seth -

Good article, what really caught my eye was your 3 Node Minnowboard cluster. I was just starting to research options for creating something similar for customer demo's of OpenShift. Would you mind sharing your "build spec's" of your cluster?

Thanks for your help,

- Greg

Yes, I love those Minnowboards! I am going to write a build blog about them soon. I'll reply here with the link.

In reply to by Greg Hoelzer (not verified)

Hi Seth,

I am considering to buy these boards; could you please let me know where I can get those stands to stack the boards?

Thanks,
Sandeep

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.