Skip to content

Instantly share code, notes, and snippets.

@ross-humphrey
Created February 21, 2020 21:26
Show Gist options
  • Save ross-humphrey/caa3f3d14545005ce905596d56607289 to your computer and use it in GitHub Desktop.
Save ross-humphrey/caa3f3d14545005ce905596d56607289 to your computer and use it in GitHub Desktop.
βˆ› Kubernetes vs Docker 🐳

Kubernetes VS Docker

Notes From Youtube Video

  • Kubernetes allows you to use your existing Docker configurations and workloads, but tackle complexity issues at scale.

Pure docker approach to deployment for a simple deployment:

  • Take applications create containers
  • Push to a registry and push
  • Spin up containers on server stack

Server Stack - for Docker

  • Top Layer - App1 App2 App3 (all scaled out etc)
  • docker
  • OS (Ubuntu)
  • Hardware

Scaling out - We could get more hardware and do the same thing again...

  • But what if we scaled
  • We need more microservices etc
  • Scaling out individual components would be tricky also

So.... We can use an orchestration tool like Kubernetes

  • Use existing docker apps
  • But orchestrate them, taking advantage of your servers and space.

We have a bunch of worker nodes

  • We have one master node - connected to the other worker nodes

3 Advanatages of Kubernetes

  • 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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment