Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

3 Operators: A cloud-like experience, everywhere

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

● 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

Slide 6

Slide 6 text

Capability levels 6

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

● 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

Slide 10

Slide 10 text

● 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

Slide 11

Slide 11 text

11 GitOps and Operators, like peanut butter and chocolate.

Slide 12

Slide 12 text

● 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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

● 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

Slide 16

Slide 16 text

● 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

Slide 17

Slide 17 text

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