Features of a COE
- load balancing (pets to cattle)
- monitoring services vs monitoring
- fault tolerance
- app deployment
Why use kubernetes
- battle hardened
- open source
Downsides to kubernetes
- zero to dev
|Scaling/Fault Tolerance||Replication controllers, replica sets|
kubectl <— scheduler (which node is used for container launch etc.) api server controllers manager (replication controller etc.) etcd (service discovery)
Replication controller vs set
|old way||new way|
|works with rolling updates||supports sets based selectors|
|imperative||part of deployments|
eg. I want to select these pods, add it to replication sets
Articles on Kubernetes
Argues that Kubernetes is affordable and worth the try for personal projects.
The main arguments are:
- Kubernetes is reliable and scalable.
- It’s cheap to run: run HTTP proxy for each node, instead of using Google’s HTTP load balancer.
- Kubernetes makes rollback deployments trivial, since everything is containerised.
A response to the above article. Basically arguing that Kubernetes is very complex and has a lot of moving parts, which is wholly unnecessary for side projects.
Mesos is responsible for managing cluster resources (CPU, RAM, disk, etc) and the allocation of applications into those resources.
Two-level scheduler, compared to k8s one-level scheduler.
Scheduler scales a lot better than k8s (earlier).