Skip to content

Instantly share code, notes, and snippets.

@mechazod
Last active July 3, 2017 16:54
Show Gist options
  • Save mechazod/1fcd14b07cd4469e8e13fda50aae9ba7 to your computer and use it in GitHub Desktop.
Save mechazod/1fcd14b07cd4469e8e13fda50aae9ba7 to your computer and use it in GitHub Desktop.
Kubernetes
About
is an open-source system for automating deployment, scaling and management of containerized applications that was originally designed by Google and donated to the Cloud Native Computing Foundation.
History
Kubernetes (Greek for "helmsman" or "pilot") was founded by Joe Beda, Brendan Burns and Craig McLuckie, was quickly joined by other Google engineers including Brian Grant and Tim Hockin, and was first announced by Google in mid-2014. Its development and design are heavily influenced by Google's Borg system, and many of the top contributors to the project previously worked on Borg. The original codename for Kubernetes within Google was Project Seven, a reference to a Star Trek character that is a 'friendlier' Borg. The seven spokes on the wheel of the Kubernetes logo is a nod to that codename.
Kubernetes v1.0 was released on July 21, 2015. Along with the Kubernetes v1.0 release, Google partnered with the Linux Foundation to form the Cloud Native Computing Foundation (CNCF) and offered Kubernetes as a seed technology.
Design
Kubernetes defines a set of building blocks ("primitives") which collectively provide mechanisms for deploying, maintaining, and scaling applications. The components which make up Kubernetes are designed to be loosely coupled and extensible so that it can meet a wide variety of different workloads. The extensibility is provided in large part by the Kubernetes API, which is used by internal components as well as extensions and containers running on Kubernetes.
Key Features
- automatic binpacking
- self-healing
- horizontal scaling
- service discovery and load balancing
- automated rollout and rollbacks
- storage orchestration
- batch execution
- secret and configuration management
Case Studies
- Pearson
- Box
- eBay
- WikiMedia
- SAP
- GolfNow
- WePay
- SoundCloud
Using containers, everything required to make a piece of software run is packaged into isolated containers. Unlike VMs, containers do not bundle a full operating system - only libraries and settings required to make the software work are needed. This makes for efficient, lightweight, self-contained systems and guarantees that software will always run the same, regardless of where it’s deployed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment