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

Automating Stateful Applications Using Kubernetes Operators

Jan Kleinert
February 06, 2019

Automating Stateful Applications Using Kubernetes Operators

Kubernetes scales and manages stateless applications quite easily. Stateful applications can require more work. They can be harder to dynamically manage with data intact and sometimes come with their own notion of clustering. Operators are Kubernetes agents that know how to deploy, scale, manage, back up, and even upgrade complex stateful applications. The Operator pattern was introduced by CoreOS. It has been adopted by many community projects, including Rook and Prometheus, and is supported by this spring’s release of the Operator Framework by Red Hat.

First, we offer an overview of Operators and lead a demonstration on installing and using an Operator on a OpenShift Kubernetes cluster. With an understanding of Operators in place, we then detail the Operator Framework and its main components, the Operator SDK and the lifecycle management backplane.

Jan Kleinert

February 06, 2019
Tweet

More Decks by Jan Kleinert

Other Decks in Technology

Transcript

  1. @jankleinert 14 Every application on any platform must be installed,

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

    installation and lifecycle of Kubernetes applications
  3. @jankleinert 22 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 [...]
  4. @jankleinert 24 What is etcd? Example: etcd Operator • distributed

    key-value store • primary datastore of Kubernetes • stores and replicates all Kubernetes cluster state