21. From Containers to Kubernetes
VM
Host OS
Container Runtime
Benefits
Isolation
Immutable infrastructure
Portability
Faster deployments
Versioning
Ease of sharing
Container
22. From Containers to Kubernetes
VM
Host OS
Container Runtime
Benefits
Isolation
Immutable infrastructure
Portability
Faster deployments
Versioning
Ease of sharing
Challenges
Networking
Security
Deployments
Service Discovery
Auto Scaling
Persisting Data
Logging, Monitoring
Access Control
Container
23. From Containers to Kubernetes
VM
Host OS
Container Runtime
Benefits
Isolation
Immutable infrastructure
Portability
Faster deployments
Versioning
Ease of sharing
Challenges
Networking
Security
Deployments
Service Discovery
Auto Scaling
Persisting Data
Logging, Monitoring
Access Control
Container Scheduler
Container
24. From Containers to Kubernetes
VM
Host OS
Container Runtime
Benefits
Isolation
Immutable infrastructure
Portability
Faster deployments
Versioning
Ease of sharing
Challenges
Networking
Security
Deployments
Service Discovery
Auto Scaling
Persisting Data
Logging, Monitoring
Access Control
Container Scheduler
Container
25. From Containers to Kubernetes
VM
Host OS
Container Runtime
Benefits
Isolation
Immutable infrastructure
Portability
Faster deployments
Versioning
Ease of sharing
Challenges
Networking
Security
Deployments
Service Discovery
Auto Scaling
Persisting Data
Logging, Monitoring
Access Control
Container Scheduler
Container
26. From Containers to Kubernetes
VM
Host OS
Container Runtime
Benefits
Isolation
Immutable infrastructure
Portability
Faster deployments
Versioning
Ease of sharing
Challenges
Networking
Security
Deployments
Service Discovery
Auto Scaling
Persisting Data
Logging, Monitoring
Access Control
Container Scheduler
Container
27. From Containers to Kubernetes
VM
Host OS
Container Runtime
Benefits
Isolation
Immutable infrastructure
Portability
Faster deployments
Versioning
Ease of sharing
Challenges
Networking
Security
Deployments
Service Discovery
Auto Scaling
Persisting Data
Logging, Monitoring
Access Control
Kubernetes
Orchestration of cluster of containers across
multiple hosts
• Automatic placements, networking,
deployments, scaling, roll-out/-back, A/B testing
Container Scheduler
Container
28. From Containers to Kubernetes
VM
Host OS
Container Runtime
Benefits
Isolation
Immutable infrastructure
Portability
Faster deployments
Versioning
Ease of sharing
Challenges
Networking
Security
Deployments
Service Discovery
Auto Scaling
Persisting Data
Logging, Monitoring
Access Control
Kubernetes
Orchestration of cluster of containers across
multiple hosts
• Automatic placements, networking,
deployments, scaling, roll-out/-back, A/B testing
Declarative – not procedural
• Declare target state, reconcile to desired state
• Self-healing
Container Scheduler
Container
29. From Containers to Kubernetes
VM
Host OS
Container Runtime
Benefits
Isolation
Immutable infrastructure
Portability
Faster deployments
Versioning
Ease of sharing
Challenges
Networking
Security
Deployments
Service Discovery
Auto Scaling
Persisting Data
Logging, Monitoring
Access Control
Kubernetes
Orchestration of cluster of containers across
multiple hosts
• Automatic placements, networking,
deployments, scaling, roll-out/-back, A/B testing
Docker
Workload Portability
• Abstract from cloud provider specifics
• Multiple container runtimes
Declarative – not procedural
• Declare target state, reconcile to desired state
• Self-healing
Container Scheduler
Container
30. Gerrit-Slave Helm Chart
MySQL Helm Chart
PV
Slaves on Kubernetes
MySQL
Master
Kubernetes
deployment
Apache-Git
CronJob
git gc
Persistent Volume
Git Repositories
Fetch
Fetch
GerritMaster
gitgc
Replication
Plugin
Push
Git Repositories
read
write
gcread
deployment
replica set
Gerrit
Slave
NFS Helm Chart
NFS Server
MySQL
Slave
Storage
ingress
ingress
PVC PVC PVC
PVC
31. Gerrit-Slave Helm Chart
MySQL Helm Chart
PV
Kubernetes Cluster
deployment
Apache-Git
CronJob
git gc
Persistent Volume
Git Repositories
Fetch
deployment
replica set
Gerrit
Slave
MySQL
Slave
NFS Volume
ingress ingress
PVC PVC PVC
PVC
Gerrit-Master Helm Chart
MySQL Helm Chart
PV
job
git gc
Persistent Volume
Git Repositories
deployment
replica set
Gerrit
Master
MySQL
Master
NFS Volume
PVC PVC
PVC
Fetch
Push
Master-Slave on Kubernetes