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

GitOps Happy Hour - Operators in a GitOps World

Red Hat Livestreaming
December 03, 2020
160

GitOps Happy Hour - Operators in a GitOps World

Join Christian Hernandez, GitOps Extraordinaire, for a journey through how to achieve GitOps in any number of ways. The occasional Red Hatters and special guest will join us too.

https://openshift.tv

Red Hat Livestreaming

December 03, 2020
Tweet

Transcript

  1. Operators in a GitOps World
    1
    Christian Hernandez
    Senior Principal Technical Marketing Manager
    Cloud Platforms Business Unit
    @christianh814

    View Slide

  2. ● Overview of Operators
    ● Overview of Operator Lifecycle Management
    ● Where Operators fit in the bigger GitOps picture
    It’s a GitOps World
    2

    View Slide

  3. 3
    Operators: A cloud-like
    experience, everywhere

    View Slide

  4. Flexible app
    architectures
    Uniform deploy
    and debug
    No reinvention
    of core concepts
    Truly hybrid
    Operators codify operational knowledge and workflows to automate
    life-cycle management of containerized applications with Kubernetes
    Kubernetes-native day 2 management

    View Slide

  5. ● Codify operational knowledge and software lifecycle
    ● Software-as-a-Service consumption model
    The purpose of Operators
    5
    Embed ops knowledge from the
    experts
    Operator v1.1.2 Deployments
    StatefulSets
    Autoscalers
    Secrets
    Config maps

    View Slide

  6. Capability levels
    6

    View Slide

  7. Operators in action
    7
    Custom Resource
    Developer /
    OpenShift User
    Deployments
    StatefulSets
    Autoscalers
    Secrets
    ConfigMaps
    PersistentVolumes
    K8s API
    apiVersion:
    etcd.database.coreos.com/v1beta2
    kind: EtcdCluster
    metadata:
    name: example-etcd-cluster
    spec:
    size: 5
    version: 3.2.13
    Custom Kubernetes
    Controller
    Watch Events
    Reconciliation
    +
    Custom Resource
    Definition
    Kubernetes Operator
    Native
    Kubernetes
    Resources

    View Slide

  8. Operator updates
    8
    OPERATOR
    LIFECYCLE
    MANAGER
    YourOperator v1.2
    YourOperator
    v1.3
    YourOperator
    v2.0
    YourOperator v2.1
    Subscription for
    YourOperator
    Time
    Version
    YourApp
    v3.0
    YourApp
    v3.1
    YourApp
    v3.1
    Operator
    Catalog

    View Slide

  9. ● OperatorHub.io launched by Red Hat, AWS,
    Microsoft and Google
    ● OpenShift Operator Certification
    ● OperatorHub integrated into OpenShift 4
    COMMUNITY OPERATORS
    OperatorHub and certified Operators
    OPENSHIFT CERTIFIED OPERATORS

    View Slide

  10. ● Operators
    ○ Codify Operational/Software-lifecycle knowledge
    ○ Built on Kubernetes primitives (CRDs)
    ○ SDK: Golang, Ansible, Helm, more to come!
    ○ Meant for Automating applications
    ○ OpenShift 4 is built on top of Operators
    ● Manage Operators with OLM
    ○ An operator for Operators
    ○ Control versions and upgrades
    ○ Catalog/SaaS experience
    In Summary
    10

    View Slide

  11. 11
    GitOps and Operators,
    like peanut butter and
    chocolate.

    View Slide

  12. ● What are Operators, really?
    ○ Custom Resource saved in YAML
    ○ Automation triggered by the CR (the YAML)
    ○ Changes are made by editing the CR (YAML)
    ○ Other changes are reconciled back to the desired
    state
    ○ Easily Replicated to other clusters
    ● What is GitOps?
    ○ Manifests are saved in git (YAML)
    ○ Automation/sync tool reads manifest (YAML)
    ○ Changes are made by PRing the YAML
    ○ Other changes are reconciled back to the desired
    state.
    ○ Easily Replicated to other clusters
    So Many Automation Tools!
    12

    View Slide

  13. How To Interface with Operators/OLM
    13
    CLUSTER VERSION
    OPERATOR
    YAML
    MACHINE CONFIG
    OPERATOR
    CLUSTER
    OPERATORS
    DNS, Authentication,
    Console, Ingress,
    Network, Registry,
    Monitoring, Logging, etc.
    OpenShift Nodes

    View Slide

  14. It’s Just YAML!
    14
    CLUSTER VERSION
    OPERATOR
    YAML
    MACHINE CONFIG
    OPERATOR
    CLUSTER
    OPERATORS
    DNS, Authentication,
    Console, Ingress,
    Network, Registry,
    Monitoring, Logging, etc.
    OpenShift Nodes

    View Slide

  15. ● Operators are YAML Driven
    ● YAML for the Operator function should live in Git
    ● The point of demarcation is the handoff of this YAML
    You manage the manifest with GitOps as you normally would, while allowing the automation
    of Operators to be performed.
    The Point Of Demarcation
    15

    View Slide

  16. ● Cluster Operators and the CVO
    ● Machine Config Operators
    ○ RHCOS MachineSet Configs
    ○ Windows MachineSet Configs
    ○ MachineSet Autoscalers
    ● Machine Configs
    ● Machine Config Pools
    Other Things To Consider
    16

    View Slide

  17. linkedin.com/company/red-hat
    youtube.com/user/RedHatVideos
    facebook.com/redhatinc
    twitter.com/RedHat
    Thank You
    17

    View Slide