Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Continuous Delivery of Micro services
with Kubernetes
27-2-2017 – Quintor
Bedankt voor jullie aandacht
“Once you stop learning, you start dying”
- Albert Einstein
ARJEN WASSINK
Principal Consultan...
The Menu
1. Intro Microservices
2. Intro Docker
3. Kubernetes
4. Rolling updates
5. Persisted volumes
6. Stateful services
Martin Fowler on Microservices:
In short, the microservice architectural style [1] is an approach to
developing a single a...
Microservices: Scaling is important
https://www.nginx.com/blog/introduction-to-microservices/
Microservices: advantages
● The services themselves are very simple, focussing on doing
one thing well;
● Each service can...
Microservices: drawbacks
● Diverse technology stack
● Complex distributed systems
● More software projects to manage
● Rel...
Build Ship Run
http://www.zdnet.com/article/what-is-docker-and-why-is-it-so-darn-popular/
Virtual Machines vs. Containers
Docker - Layering
https://docs.docker.com/engine/userguide/storagedriver/imagesandcontainers/
https://docs.docker.com/engine/introduction/understanding-docker/
Docker - Architecture
Microservices: drawbacks
● Diverse technology stack
○ Containerization freedom of technology choice
○ Uniform way of distr...
Docker at scale with Kubernetes
Everything at Google
runs in containers
Launch over 2 billion
containers per week.
Enter Kubernetes
Greek for “Helmsman”; also the root of
the word “Governor”
• Container orchestrator
• Runs containers
• S...
web browsers
Scheduler
kubectl web browsers
scheduler
Kubelet Kubelet Kubelet Kubelet
Config
file
Kubernetes Master
Contai...
Pods, Replication sets & scaling
Pod
con-
tainer
con-
tainer
Deployment
Replication Set
Pod
con-
tainer
con-
tainer
Pod
co...
Kubernetes - Architecture
https://en.wikipedia.org/wiki/Kubernetes
Worker Node
192.168.178.200
10.1.2.0/24
Worker Node
192.168.178.100
10.1.1.0/24
Cluster networking
Pod
10.1.1.21
Pod
10.1....
Services
Pod
con-
tainer
con-
tainer
Service
Cluster IP:port <10.0.0.20:80>
Node IP:port <10.150.42.191:88>
Pod
con-
taine...
Worker Node
Persistent Storage Node
Persistent Volumes
Pod
con-
tainer
con-
tainer
Persisted Volume
Persisted Volume Claim...
Microservices: drawbacks
● Diverse technology stack
● Complex distributed systems
○ Service discovery helps
● More softwar...
Stateful Set
Pod-1
con-
tainer
con-
tainer
Statefull Set Pod-0
con-
tainer
con-
tainer
Pod-2
con-
tainer
con-
tainer
Servi...
Quintor
Deploying without downtime
• Rolling updates
• Rollback
• Readiness Probes
Worker Node
Namespaces
PodDeployment Pod
Service
PodDeployment Pod
Service
Worker Node
Kubernetes - Centralized Logging
Kubernetes - Centralized Monitoring
Microservices: drawbacks
● Diverse technology stack
● Complex distributed systems
● More software projects to manage
○ Nam...
Quintor
Resources
• Docker - Build, Ship, and Run Any App, Anywhere – www.docker.com
• Kubernetes - Accelerate Your Delive...
Continuous delivery of microservices with kubernetes - Quintor 27-2-2017
Continuous delivery of microservices with kubernetes - Quintor 27-2-2017
Prochain SlideShare
Chargement dans…5
×

Continuous delivery of microservices with kubernetes - Quintor 27-2-2017

594 vues

Publié le

My presentation on continuous delivery of micro service with Kubernetes at Quintor on 9-2-20117

Publié dans : Technologie
  • Soyez le premier à commenter

Continuous delivery of microservices with kubernetes - Quintor 27-2-2017

  1. 1. Continuous Delivery of Micro services with Kubernetes 27-2-2017 – Quintor
  2. 2. Bedankt voor jullie aandacht “Once you stop learning, you start dying” - Albert Einstein ARJEN WASSINK Principal Consultant a.wassink@quintor.nl @ArjenWassink
  3. 3. The Menu 1. Intro Microservices 2. Intro Docker 3. Kubernetes 4. Rolling updates 5. Persisted volumes 6. Stateful services
  4. 4. Martin Fowler on Microservices: In short, the microservice architectural style [1] is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.
  5. 5. Microservices: Scaling is important https://www.nginx.com/blog/introduction-to-microservices/
  6. 6. Microservices: advantages ● The services themselves are very simple, focussing on doing one thing well; ● Each service can be built using the best and most appropriate tool for the job; ● Systems built in this way are inherently loosely coupled; ● Multiple developers and teams can deliver relatively independently of each other under this model; ● They are a great enabler for continuous delivery, allowing frequent releases whilst keeping the rest of the system available and stable.
  7. 7. Microservices: drawbacks ● Diverse technology stack ● Complex distributed systems ● More software projects to manage ● Reliability and performance ● Exponentially more service instances to manage
  8. 8. Build Ship Run
  9. 9. http://www.zdnet.com/article/what-is-docker-and-why-is-it-so-darn-popular/ Virtual Machines vs. Containers
  10. 10. Docker - Layering https://docs.docker.com/engine/userguide/storagedriver/imagesandcontainers/
  11. 11. https://docs.docker.com/engine/introduction/understanding-docker/ Docker - Architecture
  12. 12. Microservices: drawbacks ● Diverse technology stack ○ Containerization freedom of technology choice ○ Uniform way of distributing and running apps ● Complex distributed systems ● More software projects to manage ● Reliability and performance ● Exponentially more service instances to manage
  13. 13. Docker at scale with Kubernetes
  14. 14. Everything at Google runs in containers Launch over 2 billion containers per week.
  15. 15. Enter Kubernetes Greek for “Helmsman”; also the root of the word “Governor” • Container orchestrator • Runs containers • Supports multiple cloud and bare-metal environments • Inspired and informed by Google’s experiences and internal systems • Open source, written in Go Manage applications, not machines
  16. 16. web browsers Scheduler kubectl web browsers scheduler Kubelet Kubelet Kubelet Kubelet Config file Kubernetes Master Container Image Developer View What just happened?
  17. 17. Pods, Replication sets & scaling Pod con- tainer con- tainer Deployment Replication Set Pod con- tainer con- tainer Pod con- tainer con- tainer
  18. 18. Kubernetes - Architecture https://en.wikipedia.org/wiki/Kubernetes
  19. 19. Worker Node 192.168.178.200 10.1.2.0/24 Worker Node 192.168.178.100 10.1.1.0/24 Cluster networking Pod 10.1.1.21 Pod 10.1.1.22 Pod 10.1.1.20 Pod 10.1.2.31 Pod 10.1.2.32 Pod 10.1.2.30
  20. 20. Services Pod con- tainer con- tainer Service Cluster IP:port <10.0.0.20:80> Node IP:port <10.150.42.191:88> Pod con- tainer con- tainer Pod con- tainer con- tainer Loadbalancer Kube Proxy (IP Tables) API server Watches
  21. 21. Worker Node Persistent Storage Node Persistent Volumes Pod con- tainer con- tainer Persisted Volume Persisted Volume Claim Persisted Volume Mount
  22. 22. Microservices: drawbacks ● Diverse technology stack ● Complex distributed systems ○ Service discovery helps ● More software projects to manage ● Reliability and performance ○ Manages availability actively ● Exponentially more service instances to manage ○ Manage instances from code
  23. 23. Stateful Set Pod-1 con- tainer con- tainer Statefull Set Pod-0 con- tainer con- tainer Pod-2 con- tainer con- tainer Service
  24. 24. Quintor Deploying without downtime • Rolling updates • Rollback • Readiness Probes
  25. 25. Worker Node Namespaces PodDeployment Pod Service PodDeployment Pod Service Worker Node
  26. 26. Kubernetes - Centralized Logging
  27. 27. Kubernetes - Centralized Monitoring
  28. 28. Microservices: drawbacks ● Diverse technology stack ● Complex distributed systems ● More software projects to manage ○ Namespaces enables multiple projects ● Reliability and performance ○ Stateful Sets enables persistence clusters ○ Active health monitoring and resource limiting ● Exponentially more service instances to manage ○ Centralized monitoring and logging
  29. 29. Quintor Resources • Docker - Build, Ship, and Run Any App, Anywhere – www.docker.com • Kubernetes - Accelerate Your Delivery – kubernetes.io • Creating a Raspberry Pi cluster running Kubernetes – tinyurl.com/rpi-k8s-cluster @ArjenWassink

×