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
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