- Kubernetes allows you to use your existing Docker configurations and workloads, but tackle complexity issues at scale.
- Take applications create containers
- Push to a registry and push
- Spin up containers on server stack
- Top Layer - App1 App2 App3 (all scaled out etc)
- docker
- OS (Ubuntu)
- Hardware
- But what if we scaled
- We need more microservices etc
- Scaling out individual components would be tricky also
- Use existing docker apps
- But orchestrate them, taking advantage of your servers and space.
- We have one master node - connected to the other worker nodes
- Deployment
- Define application, resources and restart policies etc - defined as a Kubernetes deployment - as part of the stack.
- If the app crashes - Kubernetes will recover the application
- Development
- Deploys load balancers for all microservices
- Takes advantage of discovery services (Kubernetes Services names are used to communicate between each other)
- Monitoring
- Kubernetes has great monitoring capabilities in nice UI
- Open source community has great introspection on Kubernetes (ITSIO for example)