Eli5: What is Kubernetes in software development?

901 views

Eli5: What is Kubernetes in software development?

In: Engineering

3 Answers

Anonymous 0 Comments

Kubernetes is a abstraction of common cloud computing operations. It provides an api for running processes across a suite of (virtual) machines (collectively called a cluster) and for the provision of storage; interaction over an internal network and with the outside world; and to scale resources on demand – amongst other things.

There’s an (optional) fine grained permissions system for operations within the cluster.

It’s based around a declarative model of the state a cluster – operations with the api revolve around telling the system what you want it to look like. It may be that the system will never reach the desired state, but operations will generally retry in the expectation that eventually the desired state will be achieved.

By providing a standard api if offers some hope of avoiding vendor lock in (although the abstraction is somewhat leaky, so this isn’t perfect). The major cloud providers have commercial managed kubernetes services. It’s an open source project, so you’re free to provision your own clusters on your own hardware if you choose.

Its relative popularity means that there’s plenty of free and commercial tools for implementing common tasks within k8s clusters – think in particular monitoring, logging, operations dashboards etc.

You are viewing 1 out of 3 answers, click here to view all answers.