Federation of Kubernetes Clusters (a.k.a. "Ubernetes") - KubeCon 2015 slides - Quinton Hoole
KubeCon Europe 2017: Running Workloads in Kubernetes
-
Upload
janet-kuo -
Category
Technology
-
view
138 -
download
0
Transcript of KubeCon Europe 2017: Running Workloads in Kubernetes
![Page 1: KubeCon Europe 2017: Running Workloads in Kubernetes](https://reader036.fdocuments.in/reader036/viewer/2022081515/58f144fd1a28ab43168b4605/html5/thumbnails/1.jpg)
Running Workloads in KubernetesJanet Kuo, Software Engineer, Google
![Page 3: KubeCon Europe 2017: Running Workloads in Kubernetes](https://reader036.fdocuments.in/reader036/viewer/2022081515/58f144fd1a28ab43168b4605/html5/thumbnails/3.jpg)
https://goo.gl/2NLT0f
VP of Software Architecture @Spire.
![Page 4: KubeCon Europe 2017: Running Workloads in Kubernetes](https://reader036.fdocuments.in/reader036/viewer/2022081515/58f144fd1a28ab43168b4605/html5/thumbnails/4.jpg)
Concept| Kubernetes: a platform for application patterns
| Pod: a single instance of an application in Kubernetes
| Controller: manages replicated pods for an application pattern
![Page 5: KubeCon Europe 2017: Running Workloads in Kubernetes](https://reader036.fdocuments.in/reader036/viewer/2022081515/58f144fd1a28ab43168b4605/html5/thumbnails/5.jpg)
Master node Worker node
Worker node
![Page 6: KubeCon Europe 2017: Running Workloads in Kubernetes](https://reader036.fdocuments.in/reader036/viewer/2022081515/58f144fd1a28ab43168b4605/html5/thumbnails/6.jpg)
Master node Worker node
Worker node
Pod
Container Container
Pod
Container Container
![Page 7: KubeCon Europe 2017: Running Workloads in Kubernetes](https://reader036.fdocuments.in/reader036/viewer/2022081515/58f144fd1a28ab43168b4605/html5/thumbnails/7.jpg)
Master node Worker node
Worker node
Pod
Container Container
Pod
Container Container
C
![Page 8: KubeCon Europe 2017: Running Workloads in Kubernetes](https://reader036.fdocuments.in/reader036/viewer/2022081515/58f144fd1a28ab43168b4605/html5/thumbnails/8.jpg)
4 Common, General Patterns| Stateless
| Stateful
| Daemon
| Batch
![Page 9: KubeCon Europe 2017: Running Workloads in Kubernetes](https://reader036.fdocuments.in/reader036/viewer/2022081515/58f144fd1a28ab43168b4605/html5/thumbnails/9.jpg)
4 Common, General Patterns| Stateless: web frontends, web servers
| Stateful
| Daemon
| Batch
![Page 10: KubeCon Europe 2017: Running Workloads in Kubernetes](https://reader036.fdocuments.in/reader036/viewer/2022081515/58f144fd1a28ab43168b4605/html5/thumbnails/10.jpg)
4 Common, General Patterns| Stateless: web frontends, web servers
| Stateful: databases, message queues
| Daemon
| Batch
![Page 11: KubeCon Europe 2017: Running Workloads in Kubernetes](https://reader036.fdocuments.in/reader036/viewer/2022081515/58f144fd1a28ab43168b4605/html5/thumbnails/11.jpg)
4 Common, General Patterns| Stateless: web frontends, web servers
| Stateful: databases, message queues
| Daemon: logs collection, node monitoring
| Batch
![Page 12: KubeCon Europe 2017: Running Workloads in Kubernetes](https://reader036.fdocuments.in/reader036/viewer/2022081515/58f144fd1a28ab43168b4605/html5/thumbnails/12.jpg)
4 Common, General Patterns| Stateless: web frontends, web servers
| Stateful: databases, message queues
| Daemon: logs collection, node monitoring
| Batch: processing of independent work items
![Page 13: KubeCon Europe 2017: Running Workloads in Kubernetes](https://reader036.fdocuments.in/reader036/viewer/2022081515/58f144fd1a28ab43168b4605/html5/thumbnails/13.jpg)
Stateless: Deployment| Availability
| Scale, Deploy, Rolling Update
| e.g. Web apps, mobile backends, API servers, ...
![Page 14: KubeCon Europe 2017: Running Workloads in Kubernetes](https://reader036.fdocuments.in/reader036/viewer/2022081515/58f144fd1a28ab43168b4605/html5/thumbnails/14.jpg)
kubectl
Master node Worker node
Worker node
Pod
Container Container
Pod
Container Container
ServiceC
async
Demo: github.com/janetkuo/k8s-demos/tree/master/dep
![Page 15: KubeCon Europe 2017: Running Workloads in Kubernetes](https://reader036.fdocuments.in/reader036/viewer/2022081515/58f144fd1a28ab43168b4605/html5/thumbnails/15.jpg)
Stateful: StatefulSet| Consistency
| Stable identity and state
| Ordered deployment, scaling, deletion
| e.g. Databases, caches, message queues, ...
![Page 16: KubeCon Europe 2017: Running Workloads in Kubernetes](https://reader036.fdocuments.in/reader036/viewer/2022081515/58f144fd1a28ab43168b4605/html5/thumbnails/16.jpg)
kubectl
Master node Worker node
Worker node
Pod 0
Container Container
Pod 1
Container Container
ServiceC
async
Demo: github.com/janetkuo/k8s-demos/tree/master/stateful
![Page 17: KubeCon Europe 2017: Running Workloads in Kubernetes](https://reader036.fdocuments.in/reader036/viewer/2022081515/58f144fd1a28ab43168b4605/html5/thumbnails/17.jpg)
Daemon: DaemonSet| One per node
| Node labels
| e.g. Logs collection daemon, node monitoring daemon, ...
![Page 18: KubeCon Europe 2017: Running Workloads in Kubernetes](https://reader036.fdocuments.in/reader036/viewer/2022081515/58f144fd1a28ab43168b4605/html5/thumbnails/18.jpg)
kubectl
Master node Worker node
Worker node
Pod
Container Container
Pod
Container Container
ServiceC
async
Demo: github.com/janetkuo/k8s-demos/tree/master/ds
![Page 19: KubeCon Europe 2017: Running Workloads in Kubernetes](https://reader036.fdocuments.in/reader036/viewer/2022081515/58f144fd1a28ab43168b4605/html5/thumbnails/19.jpg)
Batch: Jobs| Parallel + Complete
| Related but independent work
| e.g. Emails to send, frames to render, ...
![Page 20: KubeCon Europe 2017: Running Workloads in Kubernetes](https://reader036.fdocuments.in/reader036/viewer/2022081515/58f144fd1a28ab43168b4605/html5/thumbnails/20.jpg)
kubectl
Master node Worker node
Worker node
Pod
Container Container
Pod
Container Container
Casync
Demo: github.com/janetkuo/k8s-demos/tree/master/jobs
![Page 21: KubeCon Europe 2017: Running Workloads in Kubernetes](https://reader036.fdocuments.in/reader036/viewer/2022081515/58f144fd1a28ab43168b4605/html5/thumbnails/21.jpg)
Recap| Stateless: Deployment; availability
| Stateful: StatefulSet; consistency
| Daemon: DaemonSet; one per node
| Batch: Job; parallel to completion
![Page 22: KubeCon Europe 2017: Running Workloads in Kubernetes](https://reader036.fdocuments.in/reader036/viewer/2022081515/58f144fd1a28ab43168b4605/html5/thumbnails/22.jpg)
Where do I start?| Helm: The Kubernetes Package Manager github.com/kubernetes/helm
| Helm Charts: Curated applications for Kubernetes github.com/kubernetes/charts
![Page 23: KubeCon Europe 2017: Running Workloads in Kubernetes](https://reader036.fdocuments.in/reader036/viewer/2022081515/58f144fd1a28ab43168b4605/html5/thumbnails/23.jpg)
How do I customize?| Kubernetes is extensible!
| Write your own controllers
| e.g. github.com/upmc-enterprises/elasticsearch-operator github.com/coreos/etcd-operator
![Page 24: KubeCon Europe 2017: Running Workloads in Kubernetes](https://reader036.fdocuments.in/reader036/viewer/2022081515/58f144fd1a28ab43168b4605/html5/thumbnails/24.jpg)
Kubernetes is Open github.com/kubernetes/kubernetes
kubernetes.io
slack.k8s.io / @janet
@kubernetesio / @janet_kuo