Upgrade to Pro — share decks privately, control downloads, hide ads and more …

KubeCon Europe 2017: Running Workloads in Kubernetes

Janet Kuo
March 29, 2017

KubeCon Europe 2017: Running Workloads in Kubernetes

The slides of my talk at KubeCon Europe 2017. In this talk, I gave an overview of built-in controllers in Kubernetes. The intended audience is Kubernetes beginners.

https://medium.com/google-cloud/running-workloads-in-kubernetes-86194d133593

Janet Kuo

March 29, 2017
Tweet

More Decks by Janet Kuo

Other Decks in Technology

Transcript

  1. Concept | Kubernetes: a platform for application patterns | Pod:

    a single instance of an application in Kubernetes | Controller: manages replicated pods for an application pattern
  2. 4 Common, General Patterns | Stateless: web frontends, web servers

    | Stateful: databases, message queues | Daemon | Batch
  3. 4 Common, General Patterns | Stateless: web frontends, web servers

    | Stateful: databases, message queues | Daemon: logs collection, node monitoring | Batch
  4. 4 Common, General Patterns | Stateless: web frontends, web servers

    | Stateful: databases, message queues | Daemon: logs collection, node monitoring | Batch: processing of independent work items
  5. Stateless: Deployment | Availability | Scale, Deploy, Rolling Update |

    e.g. Web apps, mobile backends, API servers, ...
  6. Master node Worker node Worker node Pod Container Container Pod

    Container Container Service C async Demo: github.com/janetkuo/k8s-demos/tree/master/dep
  7. Stateful: StatefulSet | Consistency | Stable identity and state |

    Ordered deployment, scaling, deletion | e.g. Databases, caches, message queues, ...
  8. Master node Worker node Worker node Pod 0 Container Container

    Pod 1 Container Container Service C async Demo: github.com/janetkuo/k8s-demos/tree/master/stateful
  9. Daemon: DaemonSet | One per node | Node labels |

    e.g. Logs collection daemon, node monitoring daemon, ...
  10. Master node Worker node Worker node Pod Container Container Pod

    Container Container Service C async Demo: github.com/janetkuo/k8s-demos/tree/master/ds
  11. Batch: Jobs | Parallel + Complete | Related but independent

    work | e.g. Emails to send, frames to render, ...
  12. Master node Worker node Worker node Pod Container Container Pod

    Container Container C async Demo: github.com/janetkuo/k8s-demos/tree/master/jobs
  13. Recap | Stateless: Deployment; availability | Stateful: StatefulSet; consistency |

    Daemon: DaemonSet; one per node | Batch: Job; parallel to completion
  14. Where do I start? | Helm: The Kubernetes Package Manager

    github.com/kubernetes/helm | Helm Charts: Curated applications for Kubernetes github.com/kubernetes/charts
  15. How do I customize? | Kubernetes is extensible! | Write

    your own controllers | e.g. github.com/upmc-enterprises/elasticsearch-operator github.com/coreos/etcd-operator