> what specific need it solves,
Kubernetes creates a pattern for developing infrastructure. That pattern is to have two components: an api server filled with resources, where users register the desired state of resources, and operators/controllers, which autonomically work to bring about & maintain that desired state of those declared resources.
There's a lot of specific things you CAN use for Kubernetes for. It can solve all manners of needs. But the specific thing Kubernetes does that nothing else does is create a consistent, repeatable pattern for engineering new specific self-healing systems of any variety, any sort. There has not been a good deployable pattern for this, and Kubernetes specifically is one of the first generic meta-practices for writing new solutions: making new resources, & new operators to manage resources. Such that those new solutions can resemble & work like other Kubernetes resources is what makes Kubernetes a "cloud" technology, an adaptive system of systems, and one that we can continue to cloudify more & more systems under. Nothing else does this.
such that they can fit in to the pattern, and live on the same api-server as any other
(with some concepts like roles, authorization, events built in)
Kubernetes provides a set of common concepts and tools to deploy services into the cloud. This allows developers to (mostly) ignore the underlying provider (Amazon, Google) and focus on deploying, maintaining, and running services.
The abstractions that Kubernetes provides means that developers can have a common understanding of how services are deployed and run, instead of bespoke deployment processes that are individualized for each service/organization.