Docker VS Kubernetes
Uvod
Docker ♥ Kubernetes
VM i Kontejneri
Docker ♥ Kubernetes
Docker ♥ Kubernetes
Docker
● Jednostavno upravljanje, jednostavan deployment
● Pisan u Golang-u
● Koristi cgroups API za kontrolu Linuks kontejnera
● Poseduje swarm mod za menadžment kontejnera u klasteru
● Postoje i alternative kao što je rkt (CoreOS)
Docker ♥ Kubernetes
Docker
● Moguće je pokrenuti ga kao osnovni proces (Rancher OS)
● Garantuje ispravnu konfiguraciju
● Menadžment mreže, izlaganje resursa i DNS razrešavanje
● Kontrola komunikacije između kontejnera uz pomoć iptables
● Hub sa slikama kontejnera, lako pretraživanje
Docker ♥ Kubernetes
Kubernetes
● Nastao iz iskustva sa Google Borg engine-om, kompleksan
● Pisan u Golang-u, kao Docker
● 23k repo-a na Github-u
● Klaster menadžment dosta moćniji nego Docker Swarm
Docker ♥ Kubernetes
Kubernetes
● Kubeless plugin za serverless framework
● Pod kao atomska jedinica
● Kubelet na workeru
● Autoscaling servisa
Docker ♥ Kubernetes
Pregled klastera
Docker ♥ Kubernetes
Docker Swarm
Docker ♥ Kubernetes
Kubernetes
Docker ♥ Kubernetes
● Serverless rešenje za Kubernetes
● FaaS struktura
● Plaćanje po korišćenju
● Podrška za:Python, Node.js, Ruby, PHP, Golang,...
Docker ♥ Kubernetes
● AWS Lambda CLI compliant
● Triger dogadjaja uz Kafku i HTTP
● Prometheus monitoring funkcija
● Serverless Framework plugin
● Kubeless UI
Docker ♥ Kubernetes
Docker swarm vs Kubernetes
Docker ♥ Kubernetes
● Pod, deployment, microservices
● Flat network
● NFS, AWS EBS, ceph, flocker, ...
● Liveness, readiness
● Rolling updates, recreate
● Services, microservices, labels
● Overlay network
● Overlay2, devicemapper, zfs, vfs
● Running state, HEALTHCHECK
● Delayed one by one
Docker swarm vs Kubernetes
Docker ♥ Kubernetes
● Auto scaling based on CPU
● LB detection
● DNS, ENV
● Flexible
● Manual scaling
● HA raft consensus, ingress LB
● DNS
● Simple
Docker ♥ Kubernetes
Docker ♥ Kubernetes
Pitanja?
Docker ♥ Kubernetes