►
Description
Kubernetes Operators have been around a long time, and are core to OpenShift 4. Learn more about Operators and the Operator Framework!
A
B
Amazing,
but
you
know
what
I'll
take
it
all
right:
where
are
we
good
afternoon?
Gadopsians
apologies
for
the
delay
in
the
starting
there's,
not
even
a
good
excuse.
We
were
just
running
our
mouths
at
each
other
and
then
we
realized
the
time.
That's
yeah!
That's
us!
This
is
who
we
are
as
people.
B
So
I,
don't
even
I've,
been
back
from
vacation
right,
so
the
whole
reason
we
were
not
on
air
are.
Two
weeks
ago,
Rose
I
was
on
vacation,
I
went
on
vacation
for
two
weeks,
so
I
went
on
vacation
for
two
weeks
and
I
felt
like
I
was
you
know,
I
was
I,
was
changing
changing
roles
here
at
red
hat,
so
folks
who
follow
me
on
LinkedIn
will
have
seen
that
I
changed
from
what
I
was
doing.
I've
now
gone
over
to
the
SRE
team
for
Arrow
as
a
team
lead,
which
is
yay.
B
A
B
It's
really
exciting:
it's
really
fun.
It's
a
really
brand
new
space,
so
with
a
really
like
amazing
set
of
people.
So
I'm
super
happy
about
the
move,
it's
very
exciting,
but
so
that,
like
that
happened
and
I
had
two
weeks
until
I
was
going
on
vacation.
So
I
like
transitioned
everything
to
to
somebody
else
and
I,
don't
even
start
my
onboarding
by
the
time
I
got
to
like
my
last
two
or
three
days
before
vacation.
My
brain
had
already
left
right.
It
exited
the
building.
Oh.
A
B
And
two
weeks
is
the
longest
like
block
vacation
I've,
actually
ever
taken
I've,
never
taken
a
two-week
vacation
before
and
so
I've
been
back
almost
two
weeks
now
and
I.
Only
just
now
feel
like
my
brain
is
re-emerged
from
vacation,
so
like
in
in
body
I
was
on
vacation
two
weeks
in
mind,
I
I,
don't
even
know,
I,
don't
even
know.
A
Sometimes
you
need
that,
though
you
know,
I
mean
like
there's
there's
times
where
I
think
you
know,
I
think
I'd
gone
like
a
year
or
so,
where
I'd
taken
like
a
decent
like
amount
of
PTO,
and
when
you
come
back
you
you
just
it's
good
to
just
kind
of
reset,
because
you
come
back
you're
an
email,
Jill
you're
like
I'm,
not
doing
that
today,
you
just
push
it
along
like
I'm,
not
doing
that
all
right!
Well,
I,
guess
I'm
not
doing
that
this
week
and.
B
Well,
I
think,
what's
really
nice,
for
me,
too,
is
the
way
it
all
like
aligned.
It
was
a
full
clean
transition
off
of
my
old
world,
so
like
a
really
brand
new,
like
I,
basically
started
it
red
hat
all
over
again.
That
is
that
is
how
new
it
all
is:
it's
it's
new
access,
new
systems,
new
teams
and
ceremonies
and
meetings,
and
every
day
somebody
remembers
a
meeting.
B
They
forgot
to
invite
you
to
like
it's
really
like,
starting
completely
like
we
just
teleported
back
to
November
2020
when
I
first
started
like
that's
that's
where
I'm
at
in
so
many
ways.
That's.
A
B
A
B
To
try
and
check
my
little
notebook
to
see
no
I,
don't
see
anything
so
yeah
I'm
just
going
to
safely
assume
no
announcements,
maybe
not
so
safely,
if
Christian
Hernandez
wanders
into
the
chat
and
reminds
me
about
announcements.
I
was
supposed
to
do
then
great,
but
I
haven't
heard
from
him
this
week.
So
probably
not
his
birthday's
coming
up,
though,
so
we
all
remember
to
reach
out
and
wish
him
a
happy
birthday
on
August
14th,
because
I
like
to
remind
him
that
he's
getting
old,
yeah.
B
Yeah,
it's
a
milestone.
He's
got
a
milestone
this
year,
so
I
hope
he
never
watches
this
and
is
just
so
confused
when
strangers
start
reaching
out
to
him
on
Monday.
I
really
hope.
Well,.
B
Get
options
you
have
your
assignments
but
anyway,
so
what
we
were
kind
of
coming
back
from
brain
vacation
mode
and
I
was
trying
to
figure
out
like
what
is
our
topic
since
I
am
getting
back
into
this
space
and
I've
talked
about
it
a
few
times.
You
know
kubernetes
operators
on
the
stream
I
realized,
we've
never
really
done
like
I'll.
B
Just
an
episode
on
this
I
think
I've
talked
about
doing
an
episode
on
it,
but
I've
never
really
done
an
episode
on
kubernetes
operators
and
if
Christian
did
one
I
couldn't
find
it
in
my
brief
scroll
through
through
the
history,
so
we're
doing
it
again
so
yeah
when
I
first,
when
I
first
started
at
Red
Hat
was
like
super
deep
into
all
this
stuff
like
this
was
what
I
was
working
on
and
supporting
and
touching
every
single
day,
and
then
I
basically
went
the
last
year
like
stagnating
on
it
and
now
I'm
new
role
right
back
into
these
things
again
and
I'm
like
oh
man,
there
are
so
many
things
about
these
that
I
sort
of
like
just
the
knowledge,
stagnated
I
kind
of
forgot.
B
Basic
functionality
I
still
remembered,
but
like
they're
they're,
there's
minutia
right,
there's
minutia
yeah
touched
them
a
little
bit
because
we
did
some
demos
of
some
we've
done.
Demos
of
operators
lots
of
times
over
the
last
year
on
the
show.
So
it's
not
completely
stale
information.
B
But
you
know,
as
you
get
into
more
complex
operators,
they
have
a
little
bit
more
complexity,
but
the
important
thing
about
it
is
really
that
kubernetes
operators
are
get
Ops
and
I.
Don't
know
that
that
is
always
necessarily
like
extremely
well
known
and
I
actually
went.
Looked
and
I
keep
this
at
my
desk
because
it's
so
handy
right,
Christians
the
path
to
get
UPS
book.
B
I
bet
Christian,
wrote
about
this
and
like
steal
his
exact
words,
and
he
did
so
I
can't
yes,
yeah
I
love
it
I,
don't
have
to
be
I,
don't
have
to
be
smart,
myself,
I
just
I
had
I
just
have
to
let
him
continue
to
be
the
smart
one,
I'm
not
going
to
read
this
entire
excerpt,
but
you
can
get
this
book
for
free
online
through
the
red
hat
developer
portal
because
it's
published
by
Red
Hat
developer,
but
so
anyway,
it's
in
chapter
three
about
templating
and.
B
He
even
kind
of
points
out
like
that's,
really
not
like
you're,
not
gonna,
really
use
operators
to
avoid
duplicating
yaml
but
like
this
is
still
like
the
best
fit
because
they
don't
not
save
you
from
duplicating
Gamel
and
so
I'm
actually
going
to
also
use
some
slides
that
so
Chris
and
I
have
given
talks
about
operators
before
right
and
so
I'm
actually
going
to
pull
up
some
slides
that
we
did
for
the
talk
and
I
don't
want
to
put
this
into
present
mode
because
that
will
ruin
my
life.
A
B
Here
we
go
right
so
taking
a
step
back
from
like
what's
operator
right,
we
have
the
concepts
of
like
objects
and
controllers
Within
kubernetes,
so
you
you
have
like
all
of
the
kubernetes
kinds
and
then
and
then
the
things
that
can
control
right.
So
basically.
B
They're
very
declarative,
and
that's
that's
like
kind
of
the
guts
to
the
kubernetes.
You've
got
some
objects.
You've
got
some
controllers,
so
then
we
extended
this
whole
concept
of
of
this
with
a
custom
resource
definitions.
Right,
there's
a
lot
of
times,
it's
just
abbreviated
to
crd,
so
you
can
have
a
custom
resources.
Cr,
you
can
have
a
custom
resource
definition
right.
B
Actually
this
little
thing
right
here
like
beautifully
illustrates
the
relationship
there.
So
the
idea
behind
that
is
basically
that
you
want
to
kind
of
create
your
own
thing,
but
have
the
platform
understand
your
thing
and
that's
that's
where
the
custom
resource
definitions
come
in.
That
is
like
the
laziest
way.
I
can
put
it
because
I
don't
want
to
spend
tons
of
time
on
the
in-depth
here.
A
One
thing
to
keep
in
mind
too,
like
when,
when
you're
installing
an
operator,
if
you,
if
you
just
go
into
olm
and
you
sure,
yeah
olm
operator,
Hub
whatever
and
you
deploy
an
operator,
it
doesn't
actually
deploy
the
the
end
state
right
it
just
it
deploys.
The
extension
of
the
API,
like
the
very
first
bullet
point
here,
is
like
it's
so
key
to
all
this
because,
like
I,
think
there's
a
lot
of
confusion.
A
If
you're
not
familiar
with
how
the
operator
deployment
Cycle
Works,
where
like
they
have
deploy
the
operator
but
I,
don't
see
the
thing
that
I
thought
I
was
going
to
have,
and
it's
because
you
still
have
to
do.
The
rest
of
the
work
right,
like
you
still
have
to
you
know,
create
the
instance
of
it
or
use
the
CR
to
create
the
CR
to
extend
that
the
crd.
B
B
B
Like
that
is
a
whole
thing,
it's
the
whole
thing,
so
I
got
really
like
used
to
those
which,
due
to
the
end
State
and
had
that
exact
kind
of
wait
a
minute.
What
did
I
forget
to
configure
in
this
operator?
In
fact,
you
actually
saw
it
on
one
of
the
I
think
was
the
external
Secrets
operator
I
had
gone
through
and
I
was
following.
The
documentation.
I
was
like
what
am
I
missing.
What
did
I
not
follow,
and
it
was
that
in
the
other
documentation
it
was
saying.
B
Okay
also
remember
to
set
this,
and
then
it
will
work
and
then,
as
soon
as
I
found
that
that
it
was
which
was
the
operator
Hub
version
of
the
documentation
said
it
and
I
didn't
look
at
the
operator.
Hub
version
of
the
documentation,
I
just
stuck
with
the
the
main
documentation.
So
also
you
know
check
both
documentation
sets
because
a
lot
of
things
that
are
available
as
operators
are
also
available.
You
just
can
install
from
a
Helm
chart
or
something
like
that
as
well,
so
make.
B
And
so
right,
so
then
the
operator
you
can
configure
operator
and
off
you
go
so
that
basically,
the
idea
behind
it
is
like
you're
you're,
encapsulating
the
human
knowledge
required
to
life
cycle,
your
application
into
the
operator,
so
operators
are
continuously
running.
They
have
something
called
a
reconciled.
Loops
like
takes
I'm
gonna.
Do
these
things
over
X
period
of
time
and
I'm
gonna
compare
the
actual
state
of
these
operands,
which
is
the
things
that
operator
manages
with
I'm
gonna,
compare
their
desire,
their
desired
State
expected
state
with
their
actual
state.
B
B
But
I
want
to
finish
this
part
first,
if
that
makes
like
okay
lovely,
let's
just
finish
the.
Let's
finish,
the
train
of
thought:
we'll
come
down
to
it
right
so
now,
I
have
to
reverse
how
I
did
this
because
for
Google
Slides
you
control
mindfulness,
get
the
things
big
and
now
my
other
window
is
Tiny.
A
And
just
to
back
up
a
little
bit
too
right
like
that,
that
last
slide
that
you
were
showing
that
that's
a
good
reason
for
like
when,
when
you're
thinking
about
like
why
an
operator
right,
like
generally
it's
like
okay,
well,
I've
got
a
helmet
chart
and
I
can
I
can
manage
the
life
cycle
with
that.
But
it's
it's
me
that
has
to
manage
the
life
cycle
with
an
operator.
That's
all
done
for
you
right!
That's
that's
the
idea
behind
it.
A
So
if
you
want
something,
that's
going
to
be
deployed
and
updated
and
upgraded
as
you
go
along
and
as
your
cluster
grows
and
as
the
you
know,
as
the
application
gets
updated,
then
you
want
the
operator
so
that
way,
it's
all
automated
there's
nothing
wrong
with
using
the
helmware
or
the
customized
way,
but
just
know
that
what
you
get
with
an
operator
is
that
automation.
B
You
can
actually
also
combine
the
things
right,
so
the
presentation
that
I
just
showed
a
few
slides
out
of
called
helmond
back
again,
which
is
a
talk
that
Chris
and
I
have
given
several
times.
Well
Christian
I
gave
it
like
together
once
and
I've,
given
it
several
times
without
him,
and
that's
kind
of
the
thing
about
is,
if
you
want
to
start
with
Helm
and
then
move
to
an
operator,
what
does
that
look
like
and
then
also
kind
of
some
strategies
for
combining?
B
So
you
can
have
a
helmet
for
an
operator
or
you
can
have
a
operator
execute
a
helmetric,
and
so
the
point
is,
is
that
you
can
still
your
the
reason
these
fit
into
the
Opera
is
fit
into
get
Ops
is
git
can
still
be
the
source
of
Truth.
So,
for
example,
with
the
external
Secrets
operator
right
that
is
actually
leveraging
a
reference,
and
so
what's
codified
into
the
operator
is
a
reference
point
or
the
ability
to
go,
read
or
read
a
reference
point,
and
then
the
ref
and
then
go
get
the
thing.
B
That's
referenced
right,
that's
that's!
Actually,
what's
there
so,
and
maybe
this
sort
of
answers,
your
question
Alan,
because
I
have
like
some
follow-up
questions
for
clarity,
but
basically
what
you
can
do
is
if
it
gets
still
the
source
of
Truth.
Your
operational
knowledge
can
include
hey,
go
get
this
thing
over
here
based
off
of,
like
you
know,
XYZ
thing,
so
it's
either
like
I've
configured,
some
information
about
secrets
and
the
secret
of
storing
is
actually
a
reference
and
then
I
also
know
how
to
go.
Get
the
the
value
of
that
reference
right.
B
So
in
the
in
the
case
of
that
particular
operations,
operator's
behavior,
you
can
also
tend
to
do
things
like
some
fine
tuning
of
like
changing
replica
sets
and
so
forth,
or
sometimes
you
can
even
toggle
certain
features
on
in
the
configuration
of
the
operator
so
like
Auto
scaling
and
so
forth,
like
that
could
exist
in
some
operators
and
there's
there's
there's
concepts
of
that
within
their
configs
right.
B
Basically,
like
so
like
kind
of
like
talking
about
building
operator,
you
have
the
operator
engine,
which
is
called
the
operator
SDK,
and
an
important
thing
to
know
about
the
operator
SDK
is
under
the
hood.
This
is
basically
ansible
right
this.
This
leverages
ansible
under
the
hood,
which
is
why
the
ansible
operators
are
exactly
as
fully
featured
as
the
going
operators,
and
then
you
also
have
Helm
operator,
which
is
the
idea
of
I,
can
take
my
home
charts
and
turn
it
into
an
operator.
It
will
have
I'm.
B
B
Max
out
around
levels
like
it's
like
two
and
a
half
level,
three-ish
operator
and
I
am
trying
to
find
you
know
what
I
have
it
over
here.
Sorry
we're
going
there
now
I
have
to
change
my
zoom
again,
I,
don't
like
the.
B
But
there,
basically
that's
as
much
as
I
can
get
it.
That
is
like
the
the
operator
SDK
levels
and
the
the
max
functionality,
capabilities
of
each
operator,
type
or
level
type
rather,
and
so
like
this
is
like
cumulative
right.
So
like
what
level
one
does.
What
level
two
does
level
two
is
the
new
things
plus
level
one
right
so
like
level
five
is
autopilot,
plus
everything
that
came
before
so
you
can
see
like
go,
will
do
it
all
ansible
do
it
all
hell
will
do
get
you
about
halfway
and.
B
B
Was
gonna
say,
that's
a
whole
other
talk
day,
though.
What's
the
question
it.
A
Is
has
ansible
always
been
full
featured
yes,
okay
I
was
always
under
the
impression
that
it
wasn't
like
that.
It
was
close,
but
it
wasn't.
You
know.
Obviously
you
had
like
Helm
as
the
lowest
barrier
to
entry
and
then
ansible,
but
Ansel
didn't
go
all
the
way
so
yeah,
that's
awesome.
B
Well,
we'll
say,
as
for
as
long
as
I
have
been
aware
of
this,
and
this
that's
I've
updated
this
slide
since
I
initially
did
this
presentation
but
I
first
did
this
presentation
in
2021
spring
of
2021
was
the
first
time
I
gave
this
presentation,
and
so
at
that
time
the
helm
operators
were
squarely
into
level.
Two
now
they've
continued
to
build
out
the
functionality
with
that
within
the
SDK,
and
also
not
present
here
and
I'm,
not
really
sure
where
it
lives
in
its
whole
life
cycle,
but
they're
also
doing
a
Java.
B
B
A
B
Hate
that
so
I
the
red
hat
managed
services
like
and
like
odf.
They
do
that
I
hate
that
model
I
hate
that
model
a
lot,
but
it's
very
common
one
of
the
most
like
compelling
examples
for
doing
it
is
it
allows
you
to
deploy
your
application
workloads
and
also
your
observability
workloads
at
the
same
time.
So
the
and
I'm,
probably
like
very
unpopular
with
this,
we
call
it
umbrella
operators,
sometimes
like
the
author,
that
controls
the
other
operators.
B
I,
probably
like
in
the
minority
here,
I
hate
that
I
I
think
I
would
rather
you
mix
Helm
and
together
then
do
umbrella
operators,
because
I've
seen
that
go
wrong
so
many
times
like
painfully
wrong
like
hours
and
hours
in
front
of
the
computer,
trying
to
fix
a
customer
environment
wrong
I,
just
don't
like
it.
People.
A
A
Oh
I'm,
sorry
I
keep
doing
that
not
bad.
It's.
B
No
we're
both
really
excited
about
this
topic,
so,
like
I'll,
say
from
my
from
my
experience
right.
So
what
you
can
do
is,
if
you
have,
if
you
have
to
deploy
your
workloads
in
multiple
new
spaces
right.
So
that's
that's
what
we're
good
for
and
that
might
include
you
know
both
an
application
that
has
to
span
multiple
namespaces
such
as
you
know.
The
world
has
the
three
scale.
Api
thing
plus
also
has
key
cloak
for
identity
and
a
few
other
things.
So
that's
that's.
B
B
You
don't
want
to
over
delineate,
you
don't
want
to
under
delineate,
and
you
also
want
to
be.
You
know
deploying
or
upgrading
your
Opera,
your
your
alerting,
your
Prometheus
and
everything
with
all
of
that
at
the
same
time,
so
so
that
it
all
happens
just
as
one
that's
that's
when
to
do
it,
but
be
careful
how
many
layers
deep
you
go
at
and
be
careful
how
many
other
operators
you
are
are
working
with,
so
there
are
can
be
things
because
operators
are
cluster
scope,
not
namespace
scoped.
B
This
is,
it
can
be
pretty
difficult
to
run.
Multiple
instances
sometimes
impossible
to
run
multiple
instances
of
the
same
operator
on
a
cluster
so
watch
out
for
that
make
sure
that
we
are
not
going
to
be
conflicting
with
that
model
and
be
careful
when
operators
need
to
multiple
operators
are
using
the
same
resource
because
they
can
fight
over
it
or
like
over
it.
Or
you
know
if
one
of
them
is
expecting
something
with
one
expecting
it
to
be
named
in
one
certain
way.
B
It
might
change
that,
but
then
some
the
other
one's
expecting
it
to
be
named,
maybe
in
a
slightly
different
way,
do
typo
or
failure
to
you
know,
because
it
can't
completely
keep
your
code
dry
in
that
situation.
Right
you
end
up
repeating
yammals.
You
could
end
up
failing
to
update
the
name
understanding
in
the
second
second
operator
on
the
same
source
so
that
it
might
change
its
name
backup.
B
A
You
know,
if
you
know,
if
you
and
I
are
both
working
with
an
instance
of
Kafka
and
I,
say:
hey
I,
don't
need
that
and
they're
named
the
same
and
the
operator
is
like
it's
working
in
the
same
space
then
I
could
I
could
accidentally
remove
your
instance
of
Kafka,
but
the
other
thing
is
when
you're
trying
to
clear
out
the
operator.
So
when
you
have
that
meta
operator
or
the
umbrella
operator-
and
you
do
all
those
installs
the
cleanup
of
that
is
it's
atrocious
right
and
so
and
and
almost
virtually
non-existent.
A
So
then
what
ends
up
happening?
Is
you
end
up
having
all
these
stale
resources
that
are
in
your
cluster
and
when
you
try
to
redeploy
through
something
like
git
Ops,
you
might
run
into
an
issue
where
it's
like:
hey
I've,
already
got
that
thing
there.
Even
though
you've
already
deleted
everything
else
so.
B
Yep
there's
some
other
things,
so
a
few
other
real
examples
from
from
the
field
is
right.
B
Installs
and
upgrades
use
more
resources
than
runtime,
so
this
is
and
what
we
see
usually
in
the
management
space
is
people
spend
money
on
their
clusters
and
then
they
use
it
like
they're
using
all
of
the
compute
they're
paying
for
right
and
I
mean
I
I
would
too
that's
expensive,
so
they're
using
their
full
quota,
and
so
what
ends
up
happening
is
sometimes
in
installations
and
upgrades
can
get
stuck
even
though
technically
there's
enough
resources
available
on
the
cluster
for
the
runtime,
so
you
can
easily
do
is
if
something
is
already
finished
installing
you
could
actually
scale
its
replica
sets
down
to
zero
to
temporarily
like
release
resources.
B
But
what
happens
is
the
operator
will
set
it
back?
So
when
you
have
to
do
that,
you
need
to
change
what
the
operator
is
expecting
that
to
look
like
in
terms
of
resets,
but
the
umbrella
operator
will
also
maintain
because
it's
get
UPS
right.
So
it
will
look
at
the
operator
definition
for
the
the
second
operator
secondary
operators
and
if
their
definitions
don't
match
what
it's
expected
will
change
them
back.
So
you
actually
have
to
go
all
the
way
through
the
layers
and
change
the
first
operator
like
scale
it
down
just
turn.
B
This
isn't
an
uncomfortable
amount
of
room
for
human
error,
because
if
you
forget
to
turn
something
back
on
or
if
you
have
to
turn
something
back
on
in
the
correct
way,
your
stuff's
going
to
be
Fubar
so,
like
I,
said,
I
hate
it,
but
I
hate
it
because
I
spend
like
a
year
and
a
half
on-call
supporting
it.
B
So
I've
also
seen
it
go
really
really
well
and
completely
like
save
us
and
and
like
yes,
there's
the
operator
doing
its
job
everything's
first,
because
it's
great
for
chicken
and
egg
scenarios,
because,
if
something's
not
ready
yet
the
operator
will
go
back
and
check
again
later
and
then
also
operators
never
fail,
because
it'll
always
retry
forever,
and
sometimes
you
just
want
a
failure,
as
it
would
have
made
everything
a
lot
clearer,
a
lot
faster
if
there
could
have
just
been
a
failure.
B
So
I,
don't
like
the
The
Meta
operator
or
the
umbrella
operator.
The
operator
for
operator
like
I,
don't
like
it
double-edged
sword,
just
be
careful
with
that.
One
you're
getting
cut
know
how
you're
going
to
get
cut.
Choose
your
technical
debt
wisely.
That's.
A
That's
good
though
it's
it's
perspective
right
and
it's
you're
coming
from
a
place
of
it's
not
like
you're
talking
Theory
at
this
point
right,
like
you're
you're,
talking
legitimate
pain
like
you've,
been
there,
you've
got
Battle,
Scars
and
scar
tissue
and
all
that
so
yeah.
That's
it's
coming
from
a
real
place!
That's
good!
Yeah!.
A
B
Actually
can
make
some
of
our
rcas
public,
because
one
we
do
a
really
really
good
job
of
being
blameless
in
Ric
is
Anthony
and
I.
Think
I
value
that
that
much
it's
so
important
to
have
that
and
two
I
mean
we've
learned
so
many
things
that,
like
people,
could
read
our
RCA's
and
learn
so
much
about
how
we
accomplish
things,
how
we
handled
harder
problems,
how
we
operated
you
know
as
a
team
and
how
we'd
like
oh,
we
cleaned
up
after
our
messes.
You
know
what
I
mean
like
yeah.
B
A
Yeah
when,
when
Reddit
went
down,
was
it
like
three
or
four
I,
don't
know
when
it
was
a
while
ago
this
year,
I
think
like
they,
they
did
one
and
it
was.
It
was
awesome
because
you
got
to
see
like
that
decision
tree
being
made
like.
B
A
Did
I
go
down
this
path
for
a
while
and
then
I
thought
it
was
so
awesome
the
way
that
they
just
they
were
completely
legit
and
completely
honest
about
it.
Like
look,
we
we
thought
it
was
going
to
be
this
way.
It
didn't
work
out.
So
we
backtracked-
and
we
went
this
way
and
like
and
plus
this
guy
built
this
thing
five
years
ago
and
then
he
rolled
out.
You
know.
B
It
was
good
yeah,
I
love
a
good
RCA.
That's
that's
amazing
that
that's
really
great
reasoning,
like
it's
really
great
reading,
I
love
reading
through
people's
reasoning,
honestly,
seeing
how
people
do
what
people
do
in
a
crisis
is
a
great
like
insight
into
human
creativity.
B
You'd
be
like
we
tried
this
thing
on
a
whim
and
it
turned
out.
It
was
right
like
I.
Just
you
know,
yeah
I
love
that,
because
sometimes
the
errors
are
not
they're
telling
you
something
is
failing
and
that's
not
the
thing
that's
failing,
and
that
happens
a
lot
and
that
that
can
especially
happen
with
operators
notice,
but.
B
So
so
yeah
now
I
feel
like
a
great
time.
Alan,
you
had
said
something
you
said,
ask
a
question
about
what,
if
you
need
variables,
did
we
already
answer
your
question
like
do
you
feel,
or
can
you
expand
on
that
question
more
I
wish
we
could
like
just
pull
people
up
and
have
them
just
talk
at
us.
B
Yeah,
oh,
that
would
be
cool
like
an
old
radio
show
or
a
modern
podcast
or
a
modern
Rio
show
yeah.
Okay,
we'll
put
that
on
our
streaming
host
wish
list,
it'd
be
real
cool
right,
we
was
I
was
going
over
the
high
level
stuff
and
you
were
going
to
go
over
the
demo.
Are
you
ready
to
do
that
or
should
we
was
there
something
I
needed
to
show
I
forget
I'm
still
on
vacation
mentally
I'm,
not
even
yeah.
B
I
made
this
joke
and
somebody
told
me
not
to
be
so
self-deprecating
but
I
was
saying
because
I
don't
have
all
my
access
and
everything
set
up.
Yet
for
my
new
role,
I
was
like
I'm,
sorry,
I'm,
just
decorative
and
he's
like,
don't
be
self-decating
you're,
not
decorative
and
I'm
like,
but
a
little
bit.
B
Okay,
okay,
we
actually
have
we
have
the
clarity,
so
I
was
deploying
app
sets
with
Helm
but
I
needed
to
modify
existing
resources
like
the
I
server.
A
Yeah,
so
with
that,
normally
that's
where
that's
I
think
where,
like
customized,
is
actually
really
good,
because
you
can
patch
it,
but
I
don't
know
if
it
just
depends
on.
If
that
resource
can
be
patched
or
not
or
if
it
can
accept
emerge,
essentially
Can
it
can
that
resource.
If
you
change
once
it
exists
or
do
you
have
to
you
know,
do
you
have
to
blast
it
out
and
then
recreate
it.
B
Yeah
you've,
you
know
they're
not
constantly,
checking
back
to
get
for
the
desired
State.
They
they're,
storing
them
they're,
storing
that
within
themselves,
not
that
I,
don't
think
I
think
they
could
store
a
reference
to
a
value
of
the
operator,
go
get
the
value
and
then
update
that
value
and
get
I
think
this
is
actually
something
that
Christian
has
demonstrated
with
certain
tools
that
do
this
but
I'm
like
I
feel.
Like
me,
oh
my
God
I
want
to
say,
flux
is
probably
not
flux,
but
it
was.
B
Yeah
you
you
might
like
I.
This
is
very
arm
share,
coding
and
again,
like
part
of
the
reason
we're
going
into
this
right
now
is
because
my
my
operator,
knowledge
has
gone
about
a
year
stale,
but
I
believe
that
you
could
do
it
similar
mechanism
to
the
way
the
external
sequence
operator
does
things
where
you
actually
store
a
reference,
and
then
the
operator
knows
where
to
go,
get
the
value
of
the
reference
and
then
so.
B
You
update
a
reference
on
some
sort
of
cycle,
and
that
should
that
should
allow
you
to
not
need
an
entire
race
of
your
operator.
That's
what
I
would
try
with
I'm
gonna
like
ask
that
this
is
armchair
coding
and
like,
let
me
know
how
it
actually
goes,
but
I
I
think
that's.
B
What
I
would
do
is
I
would
actually
store
these
things
as
references
that
can
be
updated
and
then
the
the
operator
goes
and
checks
the
source
of
Truth
and
does
a
comparison
to
the
sort
of
Truth
and
what
there
and
then
updates
based
on
whether
or
not
you've
made
changes.
A
B
Could
do
that
but
yeah
so
and
then
so
rotation
and
secret
rotation
stuff,
like
that,
can
all
be
done
through
that
type
of
thing.
Yeah
example:
it's
a
great
I
would
that's
a
great
idea.
B
B
Live
and
die
by
being
like
asking
stupid
questions
all
the
time.
Okay,
I'm
gonna,
stop
sharing
my
screen,
then
wake
up
Bluetooth
mouse
there
we
go.
B
B
No,
that
was
terrible
now
I
accidentally
exited
full
screen
on
or
entered
full
screen
on
restream
here,
and
that
that's
a
terrible
experience.
A
Let's
see
all
right
so
yeah,
so
I
just
followed
the
the
prerequisites
here.
So
what
I'm
going
to
do
is
I'll
walk
through
this,
this
part
of
it
since
I've
already
got
it
built
out
I'm
using
a
Mac,
so
podman
and
Docker
there's
no
iPod
Man,
2,
Docker
or
Docker
to
podman
Brew
package.
A
Third
stalker
I
tried
to
search
I
I
Googled
it,
but
you
know
my
Google
food
actually
kind
of
sucks,
so
power,
okay,
good
so
far,
I'm
so
good.
So
essentially
what
I'll
do
is
I'll
walk
through
like
just
initializing
the
the
directory
and
then
like
when
it
comes
to
building
the
image
and
stuff
like
that,
I
I'm,
just
pushing
it
out
to
my
Quay
repo
and
then
I
also
have
just
a
three
node
cluster.
So.
A
Nothing
crazy
and
if
I
do
project
and
we'll
just
call
it
demo,
all
right
all
right,
so
the
Yeah.
So
basically,
what
we're
going
to
do
is
we're
going
to
use
the
SDK
I
went
through
the
installation
for
the
SDK,
so
on
a
Mac,
it's
Brew,
install
upper
operator,
SDK,
like
everywhere
I,
mean
there's
a
package
for
it
everywhere.
You
can
pull
it
down
from
kit
and
do
all
the
craziness.
If
you
want
but
yeah.
For
me,
it
was
super
easy
just
using
using
Brew
I.
B
B
A
Did
you
use,
did
you
go
through
like
udemy
or
something
or
like
LinkedIn
learning
I.
B
Used
ice
code
cat
I
mean
there's
some
pretty
light
to
be
honest,
but
codecademy
they
used
to
be
completely
free
and
that's
actually
so
I've
tested
a
few
times
right.
I'm
myself,
like
I,
didn't
go
to
college
I,
don't
have
a
composite
degree.
I've,
never
taken
a
computer
science
course.
B
B
I
was
using
it
for
jQuery,
so
I
kind
of
always
go
back
to
them,
because
I
know
I
like
their
standard
interactive
environments,
but
that
particular
course
it
was
more
of
a
primer
I
think
than
like
a
full
course
compared
to
and
I,
don't
think
they
would
try
to
build
it
differently
compared
to
some
of
their
other
things,
but
the
W3
schools,
their
free
goldling,
interactive
tutorial,
is
to
act
really
robust
started
going
through
that
one.
B
A
B
A
B
B
B
A
All
right,
so
all
right,
so
what
we're
using
SDK
here
to
create
the
the
memcache
API
so
we're
just
creating
a
group
called
Cash.
The
API
versions
can
be
viewed
one
alpha
one
and
then
the
kind
just
gonna
be
a
memcache
to
you.
A
So
that
means
when
we
want
to
create
the
instance
of
this
operator,
we
would
the
kind
would
be
memcache
D,
and
so
then,
once
we've
done,
that
we've
run
this,
make
Docker
build
and
Docker
push
targets,
and
what
this
is
essentially
going
to
do
is
in
my
other
directory,
it's
gonna
run
podman
build
and
then
it's
going
to
run,
podman
push
and
then
it's
going
to
push
the
image
to
and
it's
in
this
example
it's
example.com
G,
but
it's
really
going
to
go
to
Quay,
IO
or
key
if
you're
one
of
those
people.
A
B
A
A
Of
cool,
that's
awesome
all
right,
so
this
is
my
make
Docker
build,
build
and
Docker
push
and
I'm
actually
just
gonna
control.
All
of
this
all
right!
So
again,
it's
just
going
to
my
repo
and
I.
Have
this
set
up,
as
both
of
these
images
are
public.
Otherwise,
if
it
was
in
a
private
repo,
you'd
have
to
set
it
and
we'll
get
in
that
with
the
SDK
stuff,
but
essentially
you'd
have
to
push
this
certificates
or
the
authentication
mechanism
into
it.
A
So
that
way
you
can
keep
olm
updated,
but
yeah
just
gonna
run
this
really
quick,
I'll,
just
change
the
tag
here
to
version
two.
A
And
then
it's
gonna
go
and
it's
going
to
build
everything.
That's
in
the
directory,
so
there's
two
Targets
within
the
make
file
there's
more
than
two,
but
these
two
Targets
are
make
build
and
make
push
right.
So
essentially
it's
just
gonna.
Do
the
podman
build
and
then
once
the
build
is
complete,
then
it's
going
to
run
podman
push
if
we
want
to
use
olm.
So
that
means
that
we
want
to
go
into
operator.
Hub
select,
memcache
D
operator,
and
then
you
know,
click
on
it.
We
want
the
UI.
A
Essentially,
then
we
would
use
the
SDK
to
create
olm
and.
A
Got
it
installed
so
it'll
just
barf
on
me,
but
next
what
we
got
to
do
is
we
need
to
make
the
bundle
image
and
what
that
does
is
that
creates
a
bundle
with
the
memcache
D
image
in
it
and
or
the
operator
contents
in
it
and
it
makes
it
available.
So
if
I
run,
let's
see-
and
just
just
so
you
guys
know,
let
me
file
I
set
my
image
in
here.
A
A
A
And
this
takes
a
minute:
it's
pretty
slow,
so
once
we
have
this
up,
then
we
can
create
our
memcache
resource
or
if
we
want
to
get
crazy
and
just
skip
olm
all
together,
we
can
just
create
the
we
could
just
apply
the
the
Manifest
directly
and
go
in.
So
that's
another
thing
about
operators
right,
like
I,
think
a
lot
of
people
like
a
bunch
of
red
Hatters
included
right
where
they
think
that
if
you
have
an
operator
you
have
to
use
operator
Hub,
you
have
to
use
the
olm,
but
you
don't
right.
A
It's
it's
kubernetes,
manifest
at
the
end
of
the
day
and
when
you
go
through
the
tutorial
here
like
this
is
just
a
quick
start.
So
this
really
just
gets
the
memcache
D
resource
available.
Now,
if
you
want
to
get
like
super
crazy
and
you
actually
want
to
create
like
the
the
manager
which
is
the
reconciler
that
you
were
talking
about
earlier,
then
you
can
go.
Go
to
the
the
rest
of
the
tutorial
like
the
actual
full-blown
tutorial
and
then
you
can
go
insane
and
you
can
do
all
kinds
of
stuff.
A
You
can
add
memcache
D
instances
like
your
replica
sets
that
you're
talking
about
and
stuff
like
that,
all
right.
So
if
we
do
an
ocg
pods,
we
can
see
that
we
have
the
memcache
D
operator
going.
We
have
our
operator
bundle
going
and
now
I
can
create
a
an
instance
of
the
memcache
D
custom
resource
and
because.
A
A
A
Yeah
I
should
just
there
we
go
yep,
so
we've
got
our
our
group.
We've
got
our
domain
and
we've
got
our
API
version.
We've
got
our
kind,
and
then
this
is
just
like
a
generic
instance
of
memcache
D.
There's
really
there's
nothing
in
here
but,
like
I
said,
if
you
wanted
to
go
through
the
tutorial
and
add
like
more
extensive
things,
I
thought
that
this
was
going
to
take
a
lot
longer
to
do.
But
what
you
don't
have
when
you
already
have
everything
installed.
It
works
a
little
bit
faster,
so
yeah.
B
B
There
is
a
philosophy
that
I
have.
That,
basically,
is
that
a
good
operator
requires
a
good
story
right,
because
you're
you're
encoding
human
knowledge
so
like
the
who?
What
when,
where
why
and
how
of
your
operations?
That's
what
goes
into
an
operator.
So
I
have
a
good
story,
so
I
don't
actually
always
recommend
people
immediately,
just
start
out
the
gate,
with
a
concept
of
an
operator,
anything
that
you
build
towards
the
majority
of
it
once
you
understand
how
how
your
application
will
run
and
behave
but
like
when
you're
there.
That's
that's.
B
You
know
that's
the
time,
but
I.
Also
there
are
a
lot
of
operators
here
in
this.
In
this
operator,
Hub
thing,
and
so
the
best
the
best
people
to
build
an
operator
are
the
people
who
like
write
and
maintain
the
application.
So
I
don't
really
recommend
building
operators
for
like
custom
building
operators
for
things
you
don't
own,
because
you're
not
going
to
be
able
to
guarantee
guarantee
that
the
consistency
of
operations
with
code
that
you're
not
maintaining
yourself.
So
if
you
can
get
one
from
somebody
else,
there's
there
are
a
lot
of
them.
B
Do
that
and
then
stick
with
some
best
practices
as
well,
so
keeping
in
mind
that
this
is
get
Ops,
and
so
you
know
get
us
a
source
of
Truth,
don't
use
filling
tags
so,
like
you'll
notice,
when
Johnny
was
doing
his
demo
right,
he
had
the
like
the
version
like
0.0.1
right.
It
didn't
do
latest
because
what
happens
is
if
you
just
always
have
latest
and
then
a
new
latest
gets
pushed
to
the
registry.
B
Your
operator
is
going
to
automatically
bring
that
image
down
and
then
you're
gonna
potentially
get
an
attended,
upgrade
that
may
or
may
not
break
things
and
can
be
really
hard
to
debug.
So
if
you
are
for
whatever
reason,
using
going
to
make
an
operator
for
code
that
you
don't
yourself
right,
maintain
or
your
team
doesn't
write,
maintain
or
a
sister
team
at
the
same
company
like
you,
you
see
my
point.
B
There
right
make
sure
that
you're
doing
it
for
something
that
will
not
accidentally
give
you
heart
heartburn
later,
like
that
you
don't
those
those
are
very,
very
difficult
incidents.
When
there's
a
breaking
change
involved
and
there
was
a
floating
tag,
those
are
terrible
and
there
is
no
good
way
to
revert.
B
You
have
to
you,
have
to
roll
out
a
new
latest
or
get
whoever
agree,
whoever
owns
it
to
a
greater
Rod
or
too
late.
It's
like
you
can't
then
do
that
once
it
is
done,
so
don't
use
loading
tags.
A
Yeah,
the
other
thing
too,
is
like
with
the
install
plans
in
openshift
right
like
you
have
you
can
do
it
automatically,
which
is
what
you're
talking
about.
Then
you
have
the
manual
where
you
have
to
go
in
and
at
least
approve
it
right
if
you
have
it
as
automatic
right
like
it.
It's
awesome
because,
like
when
things
go
great
things
are
great
right.
That's
like
you're
talking
about
it
earlier
when
it
works,
it
works.
You
get
the
little
operator.
Fist
bump
everybody's
excited.
A
You
know
it's
the
same
thing
with
openshift
when
the
automatic
install
planning
is
everything's
working,
great,
but
sometimes
even
even
red,
hat
right,
we'll
push
out
a
break
and
change,
but
sometimes
even
on
a
community
offer
like
I,
have
not
to
not
to
poo
poo
on
grafana,
but
they
had.
They
pushed
out
a
change
where
it
it
updated
the
API,
but
it
broke
something,
and
so
it
literally
like
they
pushed
it
out.
A
They're,
like
hey
everything's,
good,
to
go
everybody's
high-fiving
and
then
yeah
Downstream
everything
was
broken
and
so
yeah
that
go
back
and
they've
worked
on
it
to
triage
it
and
getting
a
community
operator
back
into
the
Hub,
updated
it.
It's
not
a
point
and
click
and
you're
done
in
10,
minute
kind
of
thing.
It's
yeah.
B
It
takes
time
to
get
through
the
cycle
yeah
somewhere
in.
There
is
an
operator
that
I
worked
on
for
a
long
time
called
deployment,
validation,
operator
and
yeah.
Getting
that
into
the
operator.
Hub
was
in
a
deal
yeah
getting
and
getting
updates
into.
That
is
an
ordeal,
so
definitely
definitely
be
careful
about
that.
I
have
a
similar
story.
B
A
really
good
like
one
of
my
is
this
is
one
of
like
my
really
early
incidents
here
too
I,
don't
remember
which
Community
operator
it
was
so
basically
so
what's
happening,
is
manage
cluster
managed
service
and
we're
getting
alerts
that
the
AI
server
is
like
not
meeting
its
responsive,
like
targets
right,
so
take
a
look,
we're
trying
to
figure
out
what's
going
on
and
olm,
because
remember
how
I
said:
I,
don't
like
operators
managing
other
operators?
Okay,
olm
is
absolutely
churning.
B
B
This
is
not
true
of
memory,
but
it
is
true
of
CPU.
So
with
what
was
happening
is
so
the
node
where
our
olm
is
running
is
at
300
percent
of
its
like
Target
CP.
That's
that's!
B
How
much
it's
using
it's
using
300
CPU
right
and
we're
like
what
is
it
doing,
and
so
what
happened
was
immunity
operator
had
an
install
plan
and
in
the
install
and
in
the
version
that
was
actively
installed
sealed
on
it
was
immutable
and
in
the
new
install
plan
this
was
changed,
so
it
not
only
no
longer
was
immutable,
but
it
was
also
different.
So
this
could
not
those
changes
from
the
one
install
plan
to
the
other.
That
could
not
be
wide.
A
A
B
Awesome
and
we
figured
out
it's
technically
a
one
of
the
customers,
workloads
right
so
like
very
technically.
My
team
isn't
responsible
for
this,
but
we
got
like
interface
with
the
customer
through
customer
experience.
We're
like
this
is
what
it
is.
Do
you
want
us
to
just
do
it
and
they
said
yes,
please
just
do
that,
so
we
just
did
it
for
them.
While
we
were
there
and
we
were
like
okay,
you
need
to
go.
Do
this
on
your
studio,
though,
because
if
all
of
your
clusters
are
the
same,
they
may
be
already
breaking.
B
But
like
here's,
your
steps,
we
figured
it
out,
but
yeah
so
like
that's.
Why
I'm
kind
of
like
I?
Don't
like
operators
for
operators,
it's
variable
and
I,
don't
think
you
should
write
an
operator
for
things
that
you
don't
own,
because
you're
not
going
to
be
able
to
guarantee
that
things
are
going
to
go
well
for
you
with
it.
B
So,
but
people
do
it
all
the
time
they
write
customized
versions
of
operators
of
Open
Source
technology
that
that
meets
their
very
particular
cases
and
they're
extremely
happy
with
it,
and
they
think
it's
great
and
I.
You
know
honestly
have
never
had
to
do
it
myself,
so
there
there
could
be
some
like
really
important,
amazing
context
about
why
that's
a
wonderful
way
of
working
that
icing
I
just
personally
went.
A
No,
that
makes
total
sense
right
because
there's
also
like
the
license
constraints
like
you
might
not
be
aware
of,
like
whatever
open
source
light,
if
they
are
using
the
open
source
license
or
if
they
do
have
a
subscription
or
something
like
that,
then
you've
kind
of
all
you've
done
is
really
just
build
like
this
thing
that
you
have
to
still
configure
to
go
point
to
something
else.
Right,
like
you,
you
there's
really
I,
don't
know
it
just
seems
kind
of
pointless.
B
Yeah
yeah
so,
but
folks
do
it
Do
It,
you
know
what
I
would
like
one
of
these
days.
I
would
love
to
have
somebody
like
sit
me
down
and,
like
tell
me
everything
they
gained
by
doing
it
I,
don't
because
even
with
red
hat,
when
we
have
offer
Community
operators,
we
put
software
engineers
and
we
get
them
into
contributor
roles
at
the
very
minimum
on
the
open
source
projects
right.
B
A
That's
where
that's
where
we
got
to
get
Daniel
Daniel
Messer
on
he's
on
the
operator
framework
side
and
I
watched
a
video.
He
did
a
couple
man,
it
might
have
been
a
couple
years
ago,
holy
crap,
but
he
essentially
wrote
a
home
chart
operator
for
cockroachdb
I
think
is
what
it
was,
and
so
like
that's
a
situation
where
it's
like
okay.
Well,
why
would
you
do
that
yeah
and
then
just
have
him
walk
it
through
put.
B
A
pit
on
it,
let's
ask
him:
sometimes
we
always
talk
about
interesting,
like
potential
side
topics
in
these
streams,
and
we
never
really
follow
up.
Some
of
that
is
because
it's
not
technically
get
opsy
enough.
We
sometimes
leave
it,
but
I
I
kind
of
don't
want
to
stick
to
the
entire,
like
complete,
get
Ops
purism
to
this
because
we're
starting
to
run
out
of
content
around
that
man.
We've
covered
a
lot.
We've
covered
a
lot
on
this
stream
about
get
Ops
to
date,
so
we
got
a.
B
On
that
note,
if
you
have
ideas-
and
you
want
us
to
cover
something
on
the
stream-
send
me
a
message:
what
is
it
there
we
go?
That's
my
Twitter
handle
I,
don't
know,
are
you?
It's
still
called
Twitter.
A
B
So
like
big
shout
out
for
that,
that's
how
I
have
a
sky
account.
I
do
have
Luke,
guy
and
yeah.
I'll
start
posting
things
there,
so
you
can
also.
You
can
also
at
me
on
that.
But
I
don't
remember
what
it
is,
but
I'll
put
it
on
my
Twitter
so
that
people
can
migrate
their
following
if
they're
on
Blue
Sky,
as
you
can
reach
out
to
me
on
LinkedIn,
you
can
reach
out
to
me
on
the
artist
formerly
known
as
Twitter.
B
You
know,
I,
don't
know
you
can
send
a
carrier
pigeon.
Do
you
have
topic
ideas
or
requests?
A
So
a
little
fun
fact
Andrew,
it's
solely
enlightened
me
on
this
and
I
I.
Just
think
it's
the
funniest
thing
ever
it's!
You
know
you
don't
Mastodon
right,
like
the
yeah,
like
the
where
everybody
I'm
done
with
Twitter
I'm,
going
to
Mastodon.
So
on
Twitter,
it's
called
tweets.
I,
don't
know
what
it's
called
them
blue
skies,
but
a
mastodon
they're
called
toots.
B
B
B
B
Sometimes
I
think
sometimes
I
do
they'll
be
like
I'll,
see
something
they
love
and
I'm.
Like
oh,
my
God,
it's
so
dumb.
My
best
friend
and
I
started
doing
that
I,
don't
know
she
and
I've
been
friends
since
we
were
teenagers
so
literally
forever.
We
started
doing
that
when
we
were
young.
We
still
do
that.
Every
now
and
again,
I'll
say
something's,
dumb
and
people
be
like
you
don't
like
it.
Oh
no
sorry
that
means
I
love.
It.
B
Okay,
new
material,
I
love
it
all
right.
Well,
we
are
Beyond
top
of
the
hour
and
at
this
point
we're
not
even
being
like
useful
people,
so
I
I
guess
we
can
go
back
to
our
day
jobs
I,
yes,
also,
still,
no
announcements,
I,
don't
remember
anything!
Christian,
never
came
on
and
told
me
what
I
forgot.
We
did
our
armchair
coding
for
the
day,
so
we
accomplished
things.
Alan
I,
appreciate
you
joining
the
stream
and
and
asking
questions.
B
I
will
remind
you
all
I
already
said
it
once
the
stream
I
usually
say
it.
Multiple
times,
choose
your
technical
debt
wisely
and
we'll
see
you
in
two
weeks
for
what
I
yet
do
not
know.