Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Kubernetes“Manage a cluster of Linux containers as a single system to accelerate Dev and simplify Ops.”
MartinPodval
Our goal is to transform ...
… a large set of physical resources ...
… to one or couple logical resources ...
your.business.com
http://customer1.your.business.com/first-service
http://custome...
… for:
● Customers
● Developers
● Operations
Demo
Developed and Open Sourced by Google
● Many contributors (MS, RedHat, IBM, Mesosphere)
● Successor of Borg
● Google manage...
Road Map
2008 - linux containers by google, ibm, parallels
2013 - docker
2013 - CoreOS stack, donated by google
2014 - kub...
How to Use It in Three Steps
1. Installation
2. Modeling of You App in K8s
3. Run It and Manage It
Installation
Use CoreOS!
● Pre-installed Docker, Fleet, Flannel and etcd
● One or cluster of masters
○ API, scheduler, man...
Installation Contd.
Use AWS or GCE!
● Obtain some EC2/GCE instances
● Use a script within the Kubernetes distribution to s...
Modeling of Your App In K8s
Problem Statement
Worker
Node#4
Worker
Node#2
Worker
Node#3
REST API
Node#1
REST API
Node#2
Browser
Browser
Browser
LB
Nod...
Expected Result of Modeling
REST API Worker
Service A Service B
… in form of yaml’
Pod
Recipe to one (more) docker container(s)
● Treated as one logical object
● Deployed on one machine together
● One stat...
Replication Controller
Ensures that expected pods exist
● Defined in model or using cmd tool
● Auto-scaling
● Liveness pro...
Service
Logical Abstraction Above Pods
● Decouples clients from real running pods
○ Discovery service
○ Client load balanc...
How Does It Work Together?
● Pod
● RC
● Service
Worker
Worker
WorkerREST API
RC
VirtualIP-10.100.45.1
KubeProxy
10.240.5.7...
Running And Managing
It’s pretty simple:
1. Save your pods, rc and svc as yaml or json files
2. Run it by kubectl create, ...
Other Key Aspects
Service Discovery
How REST API
looks up a Worker?
● via environment properties
● virtual DNS
Load Balancing
Routing Traffic to Proper Pod
● Build-in support for cloud providers - AWS, GCE
● Hardware load balancers
●...
Examples:
● Logging via ELK, Elastic Search
● Cassandra, Redis, Mongo, MySQL
● Spark, Storm, etc.
● NGINX
● Monitoring
Thi...
Other Kubernetes Features
● Volumes using GIT, Flocker, EBS, etc.
● Namespaces
● Secretes
● Deamons
● Jobs
● Autoscaling
●...
Q & A
Kubernetes
Kubernetes
Kubernetes
Kubernetes
Kubernetes
Kubernetes
Kubernetes
Kubernetes
Kubernetes
Kubernetes
Kubernetes
Upcoming SlideShare
Loading in …5
×

Kubernetes

818 views

Published on

Manage a cluster of Linux containers as a single system to accelerate Dev and simplify Ops.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Kubernetes

  1. 1. Kubernetes“Manage a cluster of Linux containers as a single system to accelerate Dev and simplify Ops.” MartinPodval
  2. 2. Our goal is to transform ...
  3. 3. … a large set of physical resources ...
  4. 4. … to one or couple logical resources ... your.business.com http://customer1.your.business.com/first-service http://customer2.your.business.com/other-service
  5. 5. … for: ● Customers ● Developers ● Operations
  6. 6. Demo
  7. 7. Developed and Open Sourced by Google ● Many contributors (MS, RedHat, IBM, Mesosphere) ● Successor of Borg ● Google manages 100 000’s nodes and 2 billions of container per week ● Google Container Engine (GCE) is based on top of that ● Scheduler for OpenStack ● Placed on github ● A.k.a. K8s
  8. 8. Road Map 2008 - linux containers by google, ibm, parallels 2013 - docker 2013 - CoreOS stack, donated by google 2014 - kubernetes by google
  9. 9. How to Use It in Three Steps 1. Installation 2. Modeling of You App in K8s 3. Run It and Manage It
  10. 10. Installation Use CoreOS! ● Pre-installed Docker, Fleet, Flannel and etcd ● One or cluster of masters ○ API, scheduler, manager ● Many slaves - nodes ○ kubelet, proxy ● Possible installation to many other linux distros
  11. 11. Installation Contd. Use AWS or GCE! ● Obtain some EC2/GCE instances ● Use a script within the Kubernetes distribution to setup the environment
  12. 12. Modeling of Your App In K8s
  13. 13. Problem Statement Worker Node#4 Worker Node#2 Worker Node#3 REST API Node#1 REST API Node#2 Browser Browser Browser LB Node#1 Node#4 Node#2
  14. 14. Expected Result of Modeling REST API Worker Service A Service B … in form of yaml’
  15. 15. Pod Recipe to one (more) docker container(s) ● Treated as one logical object ● Deployed on one machine together ● One state ● Volumes, ports, resources, etc.
  16. 16. Replication Controller Ensures that expected pods exist ● Defined in model or using cmd tool ● Auto-scaling ● Liveness probes ● Rolling update
  17. 17. Service Logical Abstraction Above Pods ● Decouples clients from real running pods ○ Discovery service ○ Client load balancing ● Expose virtual IP ● Indirection level by labels
  18. 18. How Does It Work Together? ● Pod ● RC ● Service Worker Worker WorkerREST API RC VirtualIP-10.100.45.1 KubeProxy 10.240.5.7 10.240.1.2 10.240.9.5 SVC 10.240.3.2
  19. 19. Running And Managing It’s pretty simple: 1. Save your pods, rc and svc as yaml or json files 2. Run it by kubectl create, from your platop 3. Manage it by kubectl from your platop
  20. 20. Other Key Aspects
  21. 21. Service Discovery How REST API looks up a Worker? ● via environment properties ● virtual DNS
  22. 22. Load Balancing Routing Traffic to Proper Pod ● Build-in support for cloud providers - AWS, GCE ● Hardware load balancers ● Software load balancers - NGINX, K8s Ingress
  23. 23. Examples: ● Logging via ELK, Elastic Search ● Cassandra, Redis, Mongo, MySQL ● Spark, Storm, etc. ● NGINX ● Monitoring Third Party Components How to run? ● Download yamls ● Execute them ● Manage them
  24. 24. Other Kubernetes Features ● Volumes using GIT, Flocker, EBS, etc. ● Namespaces ● Secretes ● Deamons ● Jobs ● Autoscaling ● cmd tools ● REST API
  25. 25. Q & A

×