Like a musical, where we have different instruments being played by different people, we have a conductor who keeps all aligned to the music being played. It is the Conductor/ Orchestrator that maintains state along with facilitating availability of resources when needed to achieve a desired state.
We need K8s to ensure a balance is maintained between our Desired state and Deployed state. We need K8s to ensure solutions we create are reliable and available. Also to ensure the pitfalls of Docker are addressed, like Load balancing/ Network problems (host/ IP/ port)
It presents an API server that takes in requests and persists in the etcd Database that it keeps upto date with latest information. Keeping track of resources and scheduling work as needed.
kublet is the only component that hosts the virtual concept of pod, this is where we have the physical aspect of Docker container running.