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

Automating Stateful Applications with Kubernetes Operators

Jan Kleinert
September 23, 2019

Automating Stateful Applications with Kubernetes Operators

Jan Kleinert

September 23, 2019
Tweet

More Decks by Jan Kleinert

Other Decks in Technology

Transcript

  1. @jankleinert 3 What is Kubernetes? An open source orchestration system

    for managing containerized workloads across a cluster of nodes.
  2. @jankleinert 4 Pod Deployment DaemonSet ReplicaSet StatefulSet Job Kubernetes objects

    are persistent entities that represent the state of your cluster that you can manage with the K8s API EndPoints Ingress Service ConfigMap Secret StorageClass Namespace NetworkPolicy PersistentVolume Role RoleBinding ServiceAccount Understanding Kubernetes objects
  3. @jankleinert 5 Kubernetes Object Definitions kind: Pod apiVersion: v1 metadata:

    name: example-app spec: containers: - name: example image: quay.io/my/app:v1.2.0 [...]
  4. @jankleinert 16 Every application on any platform must be installed,

    configured, managed, and upgraded over time Patching is critical to security
  5. @jankleinert 21 Operators are automated software managers that deal with

    installation and lifecycle of Kubernetes applications
  6. @jankleinert 23 The Operator Pattern K8S API CUSTOM RESOURCE &

    MY APP STATE WATCH EVENTS RECONCILE MY K8S APPLICATION Controller
  7. @jankleinert 25 Custom Resource Definition (CRD) kind: ProductionReadyDatabase apiVersion: database.example.com/v1alpha1

    metadata: name: my-production-ready-database spec: clusterSize: 3 readReplicas: 2 version: v4.0.1 [...]
  8. @jankleinert 27 What is etcd? Example: etcd Operator • distributed

    key-value store • primary datastore of Kubernetes • stores and replicates all Kubernetes cluster state
  9. @jankleinert 32 Use Operators Today OperatorHub.io is a home for

    the Kubernetes community to share Operators. Find an existing Operator or list your own today.
  10. @jankleinert 37 Operator Maturity Model Phase I Phase II Phase

    III Phase IV Phase V Basic Install Automated application provisioning and configuration management Seamless Upgrades Patch and minor version upgrades supported Full Lifecycle App lifecycle, storage lifecycle (backup, failure recovery) Deep Insights Metrics, alerts, log processing and workload analysis Auto Pilot Horizontal/vertical scaling, auto config tuning, abnormal detection, scheduling tuning
  11. linkedin.com/company/red-hat youtube.com/user/RedHatVideos facebook.com/redhatinc twitter.com/RedHat Red Hat is the world’s leading

    provider of enterprise open source software solutions. Award-winning support, training, and consulting services make Red Hat a trusted adviser to the Fortune 500. Thank you 39