Chapter 5. Kubernetes
5.0 Introduction
Contributed by Joe Beda
As applications grow beyond what can be safely handled on a single host, a need has arisen for what has come to be called an orchestration system. An orchestration systems helps users view a set of hosts (also referred to as nodes) as a unified programmable reliable cluster. That cluster can be viewed and used as a giant computer.
Kubernetes (often abbreviated as k8s) is an open source system started by Google to fill this need. Kubernetes is based on ideas validated through internal Google systems over the last 10 years (Borg and Omega). These systems are used to run and manage all of the myriad Google services, including Google Search, Google Mail, and more. Many of the engineers who built and operated Borg clusters at scale are helping to design and build Kubernetes.
Traditionally, Borg has been one of the key things that ex-Google engineers miss from their time at the company. But now Kubernetes fills this need for engineers who don’t happen to work for Google. Kubernetes features some enhanced capabilities and new concepts.
Enhanced capabilities
A Kubernetes cluster coordinates Docker across multiple nodes and provides a unified programming model with enhanced capabilities:
- Reliable container restart
-
Kubernetes can monitor the health of a container and restart it when it fails.
- Self-healing
-
If a node fails, the Kubernetes management system can automatically reschedule work onto healthy nodes. Dynamic service ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access