> When a kubelet starts up, it registers itself as a node with the API server and starts watching for pods to run. This is really great, because it means that when we get to running a multinode cluster, we can add nodes without having to reconfigure the API server
I really like the parts of this series that emphasize Kubernetes' design decisions -- it also says that all state is stored in etcd and that the API server is the only component that has access to etcd.
My main resource is probably time. I read all the documentation when Kubernetes was first announced, and reread it when they were coming up to 1.0. I've also been following the proposals and issues a little. I've also got a clone of the codebase and read bits to make sure I'm understanding what goes on.
But yeah, it's a really fast moving project with a lot of moving parts, and I'm still not on top of everything!
Thanks for the writing up, really nice series so far!
I would like to know what are the competitors of Kubernetes to run docker in production and if you think Kubernetes is suitable for small / single man projects? Or what would you advice instead?
Kubernetes is very much still under development. Most of the work up to 1.0 has gone into refinement of the API, rather than stability. For instance, HA is only now being seriously worked on - and if your API server goes down and you need to start it on another host, if you don't have an external reconvergence mechanism you have to restart every kubelet so they can point to the new one.
Mesos is much more mature, but is more low-level, and schedulers like Aurora or Marathon do not give you the same service abstraction, but they have many features not currently present in Kubernetes. But, in return for being more low-level, you can run things that are simply impossible in a declarative system like Kubernetes. Personally I see Kubernetes-on-Mesos as being a really bright future choice, but like pretty much anything other than Marathon/Aurora on Mesos, it's pretty nascent.
We would (biasedly) say that Kubernetes is ready for production today, and have lots of public folks (Samsung, eBay, Porch, and thousands more) who are doing so.
If you're in any way concerned about the management, feel free to get a trial on GKE (the hosted version of Kubernetes) on the Google Cloud ($300 trial free). We have a 99.5% SLA on it, so it's backed by Google engineers.
I don't really know what the alternatives are. I'm hoping by the end of this series to convince at least myself that it's reasonably to run for personal projects.
[+] [-] jvns|10 years ago|reply
I really like the parts of this series that emphasize Kubernetes' design decisions -- it also says that all state is stored in etcd and that the API server is the only component that has access to etcd.
[+] [-] AndrewHampton|10 years ago|reply
Kamal, what resources are you using to learn the information in these posts?
[+] [-] kalmar|10 years ago|reply
But yeah, it's a really fast moving project with a lot of moving parts, and I'm still not on top of everything!
[+] [-] aprdm|10 years ago|reply
Cheers
[+] [-] krenoten|10 years ago|reply
Mesos is much more mature, but is more low-level, and schedulers like Aurora or Marathon do not give you the same service abstraction, but they have many features not currently present in Kubernetes. But, in return for being more low-level, you can run things that are simply impossible in a declarative system like Kubernetes. Personally I see Kubernetes-on-Mesos as being a really bright future choice, but like pretty much anything other than Marathon/Aurora on Mesos, it's pretty nascent.
[+] [-] TheIronYuppie|10 years ago|reply
We would (biasedly) say that Kubernetes is ready for production today, and have lots of public folks (Samsung, eBay, Porch, and thousands more) who are doing so.
If you're in any way concerned about the management, feel free to get a trial on GKE (the hosted version of Kubernetes) on the Google Cloud ($300 trial free). We have a 99.5% SLA on it, so it's backed by Google engineers.
[+] [-] argc|10 years ago|reply
[+] [-] parasubvert|10 years ago|reply
The underlying scheduler, Diego, has some interesting constructs, like supporting Windows, Docker, and buildpack-built containers (aka. droplets).
[+] [-] kalmar|10 years ago|reply
[+] [-] CMCDragonkai|10 years ago|reply
[+] [-] gtaylor|10 years ago|reply
[+] [-] josephjacks|10 years ago|reply