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

Operator Hub and your Kubernetes Cluster

Operator Hub and your Kubernetes Cluster

Red Hat DevNation Tech Talk demonstrating how to use Operator Lifecycle Manager (OLM) and software catalogs like OperatorHub.io to deploy and maintain foundation software like databases on any Kubernetes cluster.

Josh Wood

June 25, 2020
Tweet

More Decks by Josh Wood

Other Decks in Technology

Transcript

  1. With the Operator Lifecycle Manager Operator Hub and your Kubernetes

    Cluster Josh Wood Developer Advocate, Red Hat [email protected] – @joshixisjosh9 – joshix.com 1
  2. 3 Any application in any system must be installed, configured,

    managed and upgraded over time Patching is critical to security
  3. 5 What is Kubernetes? An open source orchestration system for

    managing containerized workloads across a cluster of nodes.
  4. 6 Kubernetes Object Definitions kind: Pod apiVersion: v1 metadata: name:

    example-app spec: containers: - name: example image: quay.io/my/app:v1.2.0 [...]
  5. 19 Custom Resource Developer / Kubernetes User Deployments StatefulSets Autoscalers

    Secrets Config maps PersistentVolume How Does an Operator Work? K8s API kind: ProductionReadyDatabase apiVersion: database .example.com/v1alpha1 metadata: name: my-important -database spec: connectionPoolSize: 300 readReplicas: 2 version: v4.0.1 Custom Kubernetes Controller Watch Events Reconciliation + Custom Resource Definition Kubernetes Operator Native Kubernetes Resources
  6. 20 Custom Resource (CR) kind: ProductionReadyDatabase apiVersion: database.example.com/v1alpha1 metadata: name:

    my-production-ready-database spec: clusterSize: 3 readReplicas: 2 version: v4.0.1 [...]
  7. 21

  8. 22

  9. Value of Operators 24 Improve the “time to first value”

    for your customers Minimize software upgrade risk and associated operational costs Embed best practices from the experts – you – into the Operator Provide a cloud-like "As a Service" experience
  10. Operator Deployment Custom Resource Definitions RBAC API Dependencies Update Path

    Metadata YourOperator v1.1.2 Bundle OPERATOR LIFECYCLE MANAGER Deployment Role ClusterRole RoleBinding ClusterRoleBinding ServiceAccount CustomResourceDefinition OPERATOR LIFECYCLE MANAGER: The Operator Operator 25
  11. 26 OPERATOR LIFECYCLE MANAGER YourOperator v1.1.2 YourOperator v1.1.3 YourOperator v1.2.0

    YourOperator v1.2.2 Subscription for YourOperator Time Version Operator Catalog OPERATOR LIFECYCLE MANAGEMENT
  12. OPERATOR SDK KUBERNETES OPERATOR + = + OPERATOR LIFECYCLE MANAGER

    + USER “create new operator” scaffolding custom logic metadata package “make available to” “list packages” “subscribe to channel” subscription namespace operator instance managed application “Create application” SERVICE INSTANTIATION PUBLISHER ADMINISTRATOR + 27 AUTHOR
  13. 28 Use Operators Today OperatorHub.io is a home for the

    Kubernetes community to share Operators. Find an existing Operator or list your own today.
  14. 29 Red Hat Products ISV Partners Community TYPES OF OPERATORS

    OPERATOR HUB Operator Hub - Allows administrators to selectively make operators available from curated sources to users in the cluster.
  15. 30

  16. 31 Easy self service of Operator-backed Services Reduce friction for

    deploying operator backed applications • Rich UI for creating and mutating the app instances
  17. 33 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