Solving Common Problems With Kubernetes
Adam Chalmers (via Jim Rea):
My computer science degree had taught me all about algorithms, data structures, type systems and operating systems. It had not taught me about containers, or ElasticSearch, or Kubernetes. I don’t think I even wrote a single YAML file in my entire degree.
[…]
This article is aimed at engineers who need to deploy their code using Kubernetes, but have no idea what Kubernetes is or how it works. I’m going to tell you a story about a junior engineer. We’re going to follow this engineer as they build a high-quality service, and when they run into problems, we’ll see how Kubernetes can help solve them.
[…]
Kubernetes exists to solve one problem: how do I run m containers across n servers?
Its solution is a cluster. A Kubernetes cluster is an abstraction. It’s a big abstract virtual computer, with its own virtual IP stack, networks, disk, RAM and CPU. It lets you deploy containers as if you were deploying them on one machine that didn’t run anything else. Clusters abstract over the various physical machines that run the cluster.