1 What is an orchestrator?

 

This chapter covers

  • The evolution of application deployments
  • Classifying the components of an orchestration system
  • Introducing the mental model for the orchestrator
  • Defining requirements for our orchestrator
  • Identifying the scope of our work

Kubernetes. Kubernetes. Kubernetes. If you’ve worked in or near the tech industry in the last five years, you’ve at least heard the name. Perhaps you’ve used it in your day job. Or, perhaps you’ve used other systems such as Apache Mesos or Hashicorp’s Nomad.

In this book, we’re going to build our own Kubernetes, writing the code ourselves in order to gain a better understanding about just what Kubernetes is. And what Kubernetes is—like Mesos and Nomad—is an orchestrator.

When you’ve finished the book, you will have learned the following:

  • What components form the foundation of any orchestration system
  • How those components interact
  • How each component maintains its own state and why
  • What tradeoffs are made in designing and implementing an orchestration system

1.1 The (Not So) Good 'Ol Days

Let’s take a journey back to 2002 and meet Michelle. Michelle is a system administrator for her company, and she is responsible for keeping her company’s applications up and running around the clock. How does she accomplish this?

1.2 What is a container and how is it different from a virtual machine?

1.3 What is an orchestrator?

1.4 The components of an orchestration system

1.4.1 The Task

1.4.2 The Job

1.4.3 The Scheduler

1.4.4 The Manager

1.4.5 The Worker

1.4.6 The Cluster

1.4.7 CLI

1.5 Why implement an orchestrator from scratch?

1.6 Meet Cube

1.9.5 Security

sitemap