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

Kubernetes Beyond

Kubernetes Beyond

As in the Star Trek Beyond movie, which the title of this talk tries to recall, we will present how Kubernetes can be extended beyond containers using Custom Resource Definitions (CRD) to schedule custom tasks and resources or bring Kubernetes automation to the next level.
During the presentation we will go deep into the concept of Operator and provide some useful examples of application of this pattern.

Andrea Tosatto

November 11, 2017
Tweet

More Decks by Andrea Tosatto

Other Decks in Technology

Transcript

  1. KUBERNETES “Production-Grade Container Orchestration” “Automated container deployment, scaling, and management”

    “Groups containers that make up an application into logical units for easy management and discovery” “Planet Scale” “Never Outgrow” “Run Anywhere” https:///kubernetes.io
  2. KUBERNETES Container DaemonSet Deployment Job Pod ReplicaSet ReplicationController StatefulSet Ingress

    Service ConfigMap Secret PersistentVolumeClaim Volume HorizontalPodAutoscaler PersistentVolume “Production-Grade Container Orchestration”
  3. KUBERNETES “Production-Grade Container Orchestration” Designed to be flexible, adapt to

    the specific application requirements Kubernetes is an Orchestration Framework
  4. BEYOND Container Runtime Interface Container Networking Interface Kubelet / KubeProxy

    South Bound Custom Resource Definitions kube-apiserver North Bound API Server Aggregation Additional Controllers
  5. BEYOND Container Runtime Interface Container Networking Interface Kubelet / KubeProxy

    South Bound Custom Resource Definitions kube-apiserver North Bound API Server Aggregation Additional Controllers
  6. MOTIVATIONS In the real world, not all the applications are

    cloud-native Decouple applications lifecycle management from Pods / Container Images definition Provide additional services to the infrastructure, such as Functions, Databases, Monitoring etc.
  7. MOTIVATIONS In the real world, not all the applications are

    cloud-native Decouple applications lifecycle management from Pods / Container Images definition Provide additional services to the infrastructure, such as Functions, Databases, Monitoring etc.
  8. MOTIVATIONS In the real world, not all the applications are

    cloud-native Decouple applications lifecycle management from Pods / Container Images definition Provide additional services to the infrastructure, such as Functions, Databases, Monitoring etc.
  9. ✔ Who knows better what’s the lifecycle of an application

    in Production and how to deal with its state transitions? AUTOPILOT PATTERN THE INFRASTRUCTURE THE APPLICATION
  10. Who knows better what’s the lifecycle of an application in

    Production and how to deal with its state transitions? AUTOPILOT PATTERN THE INFRASTRUCTURE THE APPLICATION ✔
  11. AUTOPILOT PATTERN Is an approach to application and infrastructure design

    that pushes automation for each component of our systems into the application http://autopilotpattern.io/ States that the automation logic of an application component should be kept in the same repo with that component's code
  12. AUTOPILOT PATTERN Is an approach to application and infrastructure design

    that pushes automation for each component of our systems into the application http://autopilotpattern.io/ States that the automation logic of an application component should be kept in the same repo with that component's code
  13. OPERATOR An Operator is an application-specific controller that extends the

    Kubernetes API to create, configure and manage instances of applications on behalf of a Kubernetes user. An Operator represents human operational knowledge in software to reliably manage an application. https://coreos.com/operators
  14. OPERATOR An Operator is an application-specific controller that extends the

    Kubernetes API to create, configure and manage instances of applications on behalf of a Kubernetes user. An Operator represents human operational knowledge in software to reliably manage an application. https://coreos.com/operators
  15. HOW 1. Kube API Client 2. Create an Informer 3.

    Add an EventHandler 4. State Transaction Reconciliation Loop
  16. RECAP Kubernetes is meant to be easily extented beyond its

    standard capabilities With Kubernetes we can go beyond the infrastructure and focus on applications Kubernetes enables new orchestration / life-cycle management patterns that were not possible before
  17. RECAP Kubernetes is meant to be easily extented beyond its

    standard capabilities With Kubernetes we can go beyond the infrastructure and focus on applications Kubernetes enables new orchestration / life-cycle management patterns that were not possible before
  18. RECAP Kubernetes is meant to be easily extented beyond its

    standard capabilities With Kubernetes we can go beyond the infrastructure and focus on applications Kubernetes enables new orchestration / life-cycle management patterns that were not possible before