One could look at this and conclude that Kubernetes is way too complex but along the lines of my post here, I see mostly irreducible complexity that you’d have to implement eventually if you want to run containers smoothly on multiple hosts.
Config management, interactions with the container runtime, APIs, auth, encryption, metrics, locking, local caching, volume management, image management, and pod lifecycle management are all essential functions of an agent like this. I suspect you’d find a lot of the same code in Nomad, Docker Swarm, ECS, etc. Maybe mirror pods aren’t strictly necessary.
One could look at this and conclude that Kubernetes is way too complex but along the lines of my post here, I see mostly irreducible complexity that you’d have to implement eventually if you want to run containers smoothly on multiple hosts.
Config management, interactions with the container runtime, APIs, auth, encryption, metrics, locking, local caching, volume management, image management, and pod lifecycle management are all essential functions of an agent like this. I suspect you’d find a lot of the same code in Nomad, Docker Swarm, ECS, etc. Maybe mirror pods aren’t strictly necessary.