►
From YouTube: TGI Kubernetes 043: Kops revisited
Description
Come hang out with Kris Nova as she does a bit of hands on hacking of Kubernetes and related topics. Some of this will be Kris talking about the things she knows. Some of this will be Kris exploring something new with the audience. Come join the fun, ask questions, comment, and participate in the live chat!
A
Hey:
what's
up,
everybody
welcome
to
TTI
k
live
from
the
hefty
O
studios.
I
am
your
host
Chris
Nova
and
we're
gonna
be
talking
about
cops
or
K,
ops
or
kubernetes
operations.
I
think
was
the
original
name
a
lot
today
and
as
we
like
to
start
off,
every
episode,
we're
gonna,
say
hello
to
some
of
our
friends
online.
This
is
pull
up
our
chat
here
and
see
who's
all
joining
us
today.
Happy
Friday
everyone!
It's
good
to
see
you
alright,
so
let
Maddie
first
in
line
as
usual.
A
Well
good
to
see
you
live
Maddie,
olav,
hello.
It
says
howdy
there
and
happiness
right
back
at
you
folks
evening,
all
from
Rory.
Oh
my
gosh
I
love
that
name.
That's
one
of
my
favorite
names,
yay
Friday,
happy
Friday,
TJ
good
to
see
you
in
Rudy,
happy
Friday
greetings
from
Hamburg
Germany
H
Suresh,
one
of
our
other
frequent
intenders,
hello,
Michael,
hello
from
Paris,
hey,
Philippe,
it's
good
to
see
everybody!
A
So
we
like
to
start
off
our
episodes,
saying
hello
and
then
we
usually
go
through
and
we
jump
in
and
look
at
kind
of
what
happened
in
kubernetes
this
week
and
over
the
past
couple
of
episodes.
I've
made
it
a
point
to
kind
of
talk
a
little
bit
about
an
interesting
part
of
the
go
programming,
language
and
spend
you
know
a
minute
or
two
talking
about.
You
know
some
sort
of
like
feature
or
interesting
paradigm
or
some
sort
of
concept
or
an
article
that
we
find
and
read
it.
A
So,
let's
see
who
else
we
have
I
think
we
stopped
at
Felipe
from
Paris,
so
we
have
Noah
from
Las
Vegas
Ola
from
Havana,
it's
good
to
see
you
Carlos
Nicholas
hi
from
Santa
Clara,
Philip
hi
from
Germany
Broyles,
says
jello
or
soft
Jay
hello,
hi
from
London
good
to
see
you
an
idea
in
the
deme,
hello,
Doug,
hey
Chris
and
gift
hi,
my
favorite
one
is
just
a
chai
as
the
best
okay.
So,
let's
jump
in
and
let's
look
at
the
episode
for
the
week.
How
do
I
do
this?
A
Let's
go
to
screen
face
poof,
okay,
rad!
So
for
those
of
you
who
don't
know
over
the
past
30
days
or
so
I've
been
recovering
from
the
hand,
injury
I
had
to
get
a
helicopter
and
off,
if
not
Rainier.
So
this
week,
when
we're
doing
cops,
I
figured
it
would
be
appropriate
to
fajn
and
I
figure
to
be
appropriate
to
have
a
helicopter.
It
was
one
of
the
images
I
found
when
I
searched
unsplash
for
I
think
I've
typed
in
an
officer
this
week.
A
But
anyway
that's
the
the
reason
that
we
have
the
helicopter
with
the
police
on
abacus.
For
cops
and
my
helicopter
accident
so
anyway,
Georgia
has
put
together
this
really
lovely
framework
for
us
and
down
here
at
the
bottom
we
have
reference
links
and
throughout
the
show
we
have
show
notes
and
I.
Think
I
was
talking
to
to
George
a
little
bit
this
week
at
OSCON
I
just
got
back
from
Portland.
We
were
down
there
all
week
and
just
drove
up
last
night
with
franceska
about
this
new
tool.
A
So,
let's
go
through
the
links
that
I
put
together
for
us
this
week
and
this
week
again
like
I
feel
like
I,
say
this
more
and
more,
but
it's
kind
of
in
a
quieter.
We
can
kubernetes
as
far
as
like
open
source
announcements
or
big
to
lean
or
big,
exciting
things.
I
found
a
couple
of
cool
things
that
I
noticed
when
I
was
at
OSCON,
but
I
was
also
kind
of
like
wrapped
up
in
conference
mode
all
week.
So
if
anybody
has
anything
else,
they
want
to
share
now.
A
It'd
be
a
good
time
to
drop
it
into
the
chat,
but
the
first
one
is
the
actual
repo
for
the
tool
we're
gonna
be
looking
at
today,
so
to
be
completely
honest,
I
think,
the
last
time
I
looked
at
the
kubernetes
cops
repo.
We
had
less
than
a
thousand
stars
actually
I
think
we
had
less
than
2,000
stars
and
I
was
like
the
second
largest
contributor,
and
it
was
like
a
year
and
a
half
ago,
so
I
kind
of
had
like
no
idea
what
I
was
getting
myself
into
I
used
to
be
the
contributor
I'm.
A
Still
a
registered
maintainer
of
the
project,
I
haven't
actually
looked
at
cops
or
touched
cops
in
quite
some
time.
So
I
kind
of
look
at
myself
as,
like
a
retired
cops
contributor,
cops,
maintainer
and
I
just
kind
of
jumped
into
the
repo
and
I
scrolled
down
and
like
we
got
a
new
logo.
So
that
was
really
cool.
I
didn't
realize
that
we
had
a
new
logo
and
I.
Remember.
A
A
I
made
this
like
a
long
time
ago
when
I
still
lived
in
Colorado
and
it's
still
like
online
and
hopefully
it's
still
relevant
so
we're
gonna
find
out
today
we're
gonna
be
going
through
and
doing
all
of
this
from
the
ground
up.
So
anyway,
let's
go
back
well.
We're
gonna
talk
a
lot
more
about
cops
later.
So
let's
go
talk
about
some
of
this
other
stuff.
First,
let's
see
looks
like
we
have
some
questions
or
actually
up
some
hellos
and
some
questions.
So
let's
read
those
really
quick.
A
Okay,
so
the
last
one
was
high
and
we
have
ashish
says
hello
from
Pike
Place,
Market,
hello,
happy,
Pike,
Place,
Market,
that's
cool
I'm
gonna
go
work
for
my
place.
That
place
is
awesome.
We
have
hello
from
Santiago
Chile,
hello,
Jay,
Roop,
Ave,
hi,
Pablo,
hello
from
Chile.
Esta
rocks
good
to
see
you
Pablo
thanks
for
clarifying
I'm,
still
working
on
my
foreign
language
skills,
so
you
guys
are
gonna
have
to
bear
with
me.
A
Carlie
yeah
hi,
it's
good
to
see
you
Carly
yeah,
welcome
to
hefty
Oh
again
I
know
I've
already
told
you
like
a
hundred
times,
but
it's
good
to
see
you
every
time.
I
see
your
face.
I
get
happy,
Jason
good
to
see
you
as
well
I
feel
like
I,
see
you
a
lot
on
the
cluster
API
calls,
but
it's
good
to
see
you
here.
A
Dino
hello,
from
tons
and
tons,
yeah
I.
Think
I
said
that
right
and
ylim
Adi
says
what
were
your
top
three
things
from
oz,
Khan.
So,
honestly,
my
top
three
things
from
oz
kind.
This
was
said
this
was
the
first
conference
I've
been
to
probably
in
about
two
years
where
I
actually
just
went
as
an
exhibitor
I
didn't
have
a
speaking
slot.
I
didn't
go
to
any
of
the
sessions.
I
wasn't
even
allowed
in
many
of
the
sessions.
I
just
hung
out
at
the
booth
the
whole
week
and
just
did
a
handful
of
interviews.
A
I
did
some
podcasts
I
hosted
an
event
and
I
taught
a
workshop
for
two
days,
along
with
some
of
our
other
folks
in
training,
Ryan
and
John.
So
it
was
really
low-key
for
me,
like
I
kind
of
just
got
to
like
hang
out
and
talk
to
people
I,
don't
really
get
to
do
that
much
anymore.
So
that's
definitely
my
number
one
from
oz.
Colin
was
my.
You
know
just
chill
and
you
know
have
a
good
time
and
just
be
calm
at
a
conference.
I
really
don't
get
that
much
these
days.
A
Another
exciting
thing
about
Oz
Khan
was
I,
got
to
do
one
of
our
trainings
and
I
learned
about
some
really
cool
stuff
that
we
do
in
trainings
and
I.
Think
the
third
thing
at
OSCON
was
the
kubernetes
trivia
night
that
we
put
on
on
Wednesday,
so
big
shout
out
to
folks
at
Google
and
CN
CF
and
Red
Hat,
who
helped
with
that.
That
was
really
fun.
We
like
basically
did
kubernetes
pub
style,
trivia
and
I
got
to
host
it.
A
So
I
got
to
ask
all
kinds
of
like
silly
kubernetes
questions
and
try
to
stump
the
people,
so
that
was
fun.
So
those
are
my
big
feet
anyway.
Felipe
says
what
would
be
the
best
tool
for
creating
a
production-ready
operator
today,
sample
controller,
a
cue
builder
operator,
SDK
or
other
Felipe.
That
is
a
great
question.
I'm
going
to
actually
take
a
note,
really
quick
and
I'll
we'll
talk
about
that
at
the
end
of
the
episode
we've
done.
Actually,
I
can
just
talk
about
it
now.
A
A
On
top
of
the
kubernetes
libraries,
you
just
get
good
old
fashioned,
kubernetes
libraries
venner,
didn't
care
controllers,
so
that's
the
direction
we
were
talking
about
going
and
open
source
I
did
a
live
coding
demonstration
in
Iceland
with
the
operator
SDK
and
a
tgia
on
it.
It
works
great.
It's
really
simple.
A
You
could
probably
write
an
operator
in
less
than
an
hour
if
you
just
wanted
to
sit
down
and
play
with
that,
so
they're
all
good,
so
maybe
poke
around
and
try
a
few
and
let
us
know
what
you
think
as
well
and
feel
free
to
watch
any
of
the
TGI
keys
on
them.
Joe
Thompson
greetings
from
sunny,
DC
and
Leonardo
hide
from
Brazil
good
to
see
everyone.
Okay,
we've
been
staying
at
this
helicopter
for
long
enough.
A
Let's
go
and
look
at
what
what
else
we
have
here
so
the
other
thing
I
wanted
to
put
in
was
this
cluster
API
link.
So
this
is
like
sort
of
my
new
project
in
kubernetes,
and
you
know
I
really
am
curious,
like
if
I
come
back
two
years
later
from
the.
If
this
get
I
think
I
really
wanna
put
this
on
YouTube,
because
if
it's
true
I
want
YouTube
back
and
point
to
this
clip
I'm
wondering
if
this
hundred
and
seventeen
github
stars
here
is
going
to
turn
into
you
know.
A
I've
got
a
lot
of
material
out
there,
I
wrote
a
book
that
talks
about
a
lot
of
the
concepts
in
this
project
and
we
have
a
whole
working
group
and
I
could
rant
about
this
thing
for
for
forever,
so
we're
gonna
get
more
into
why
this
is
relevant
as
we
start
looking
at
the
cop
source
code,
but
this
is
just
here
as
a
reference
in
case
folks
want
to
find
out
more
actually
start.
Looking
at
the
code
here
as
well.
Oh
man
there's
a
lot
of
questions
today.
I
have
a
feeling.
A
This
is
going
to
be
a
super.
Interactive
episode
and
I'm,
just
gonna
be
doing
a
little
bit
of
cops,
but
that's
cool.
So,
let's
see
what
folks
are
saying:
Ivan
fetch
says
first
time
joining
live
hello
from
the
mountains
in
Sandpoint
Idaho,
where
I'm
currently
no
madding
I.
Haven't
you
sound
like
a
really
cool
dude,
if
you're
gnome,
adding
in
the
mountains,
we
should
hang
out
I
love
the
Idaho
mountains,
there's
some
of
my
favorite
ones,
I
also
I'm
really
fond
of
the
Past
going,
though
I
don't.
A
Of
course,
the
Tetons
are
some
of
my
favorites
as
well
I'm,
so
cool
I'm,
glad
you're
here
hanging
out
in
Idaho
welcome
to
TGI
K
for
the
first
time
we're
glad
you
joining
us.
Let's
see,
we
have
a
leaf,
siano
and
again
I'm
horrible
with
names.
So
please
please
correct
me
if
I
use
the
wrong
names
or
wrong
pronouns
ever
and
they
say
I'm
using
cops
for
several
clusters
and
I
really
like
the
design.
What
I'm
not
a
super
fan
of,
is
the
lag
behind
the
official
kubernetes
releases.
A
That's
a
really
great
point
and
I'm
gonna
start
like
a
little
notepad
over
here.
Let's
see
if
I
can
do
this
right
now,
let's
do
dock
camera
and
I'm
gonna
start
doing
kind
of
pros
and
cons
of
what
we
find
out
and
what
folks
are
experiencing
in
the
wild
when
they're
looking
at
cops,
which
I
was
a
maintainer
and
a
contributor
to
I
loved
this
tool
and
a
long
long
ago,
and
it's
very
interesting
to
see
how
far
kubernetes
has
come
and
how
much
the
open
source
ecosystem
has
come
along
the
ways.
A
So,
let's
go
back
to
my
screen
in
my
face,
Jenny
Zhuang
says:
greetings
from
Seattle
and
Felipe,
say
thanks
you're
welcome,
Felipe
good
to
see
you
Jenny,
okay
cool,
so
going
back
to
our
TGI
K
repo.
This
is
another
walk
down
memory
lane
for
me
here
that
I
used
earlier
today,
which
was
kind
of
exciting
to
use
like
a
piece
of
documentation.
I
wrote
two
years
ago
that
was
still
relevant
today
when
I
was
just
kind
of
going
through
getting
like
in
a
kubernetes
cluster
up
and
running
with
cops.
A
So
like
I,
told
myself,
I
wasn't
going
to
get
a
cluster
up
and
running
before
teaching
ika.
That
I
was
just
going
to
do
it
all
live,
but
I
wanted
just
to
make
sure
because
I
remember
there
was
some
weird
stuff
with
DNS,
so
I'm
really
glad
I
did
it
beforehand,
especially
because
github
was
lagging
a
little
bit
earlier.
A
You
know
one
or
two
years
ago
and
I
was
really
contributing
heavy
weight
to
this
blog.
But
if
you
scroll
down,
there's
this
really
cool
handy
definition
of
all
these
flags
here
and
we're
actually
going
to
be
using
some
of
these
flags
today.
If
we,
if
we
get
a
kubernetes
cluster
up
and
running
with
cops,
the
good
news
is
is
because
of
the
the
guarantee
behind
the
CLI
flags
as
an
API.
These
are
all
still
relevant,
so
it's
really
cool
and
then
I
don't
have
a
date
on
here.
A
I
want
to
see
like
when
I
publish
this
thing,
December
7th
2016
still
relevant
2018.
So
this
is
exciting,
so
yeah
there's
a
good
blog.
It's
an
ancient
version
of
cops,
which
is
like
one
four
one:
five,
when
I
first
started
contributing
to
Cooper
Nettie's,
so
some
of
it
may
not
be
relevant,
but
the
flag
still
definitely
are
good.
The
next
bit
I
wanted
to
talk
about,
is
Cuba
corn,
which
kind
of
does
some
of
the
pros
and
cons
stuff.
A
One
of
my
big
reasons
for
moving
away
from
cops
was
I
have
some
they
wanted
to
see
differently,
so
I
started
Cuba
corn
and
a
lot
of
the
work
I'm
doing
in
Cuba
corn
is
now
translating
to
the
cluster
API
repo
that
we
looked
at
earlier
they're
coming
to
solving
this
the
same
problem
in
the
same
way,
just
in
a
different
code
base
and
I
think
we're
going
to
transition
some
of
our
code
from
Cuba
corn
into
the
cluster
API
repo.
So
anyway,
there's
a
it's
an
article
on
that.
A
If
you
want
to
find
out
more,
if
another
big
update
is
kubernetes
turned
I,
think
kubernetes
turns
3
today,
and
there
was
some
like
there
was
some
back-and-forth
online
about
whether
or
not
kubernetes
turns
3
or
4.
Last
week,
or
earlier
this
week
at
OSCON,
we
did
like
a
birthday
party
thing.
We
had
this
really
awesome
cake.
We
sang
happy
birthday
to
kubernetes,
and
somebody
pointed
out
that
we
said
happy
third
birthday
to
kubernetes
and
if
you
look
it
says
here,
the
initial
release
was
june
7
2014
four
years
ago.
So
folks
were
like.
A
A
So
that
is
that
link.
Oh
and
then
here
you
can
see.
This
is
another.
This
is
another
thing
that
happened
at
OSCON
lumati.
This
is
kind
of
relevant
to
your
three
things
you
asked
about
earlier.
There
was
like
this
most
impact
award
again.
I
didn't
even
have
a
badge
to
get
into
the
the
speak
or
the
speaking
area.
A
So
this
is
just
like
me
hearing
about
it
on
Twitter
and
other
folks,
but
it
looks
like
kubernetes
won
the
most
impact
award
this
week
at
OSCON
and
here's
a
picture
of
some
your
faces
in
the
industry
up
there
to
accept
the
award,
so
congratulations
to
both
them
for
winning
most
impact
and
fraternity
of
three.
We
love
kubernetes
and
we
we
love
all
the
folks
here
in
the
community
who
kubernetes.
A
It
might
not
make
sense
if
you
don't
go
out
of
your
way
to
spend
a
few
minutes
to
kind
of
think
about
it
before
you
jump
into
your
source
code,
because
you
could
see
these
patterns
that
we
see
here
spread
across
much
longer
lines
of
code
and
then
it's
gonna.
It
can
kind
of
be
confusing
or
frustrating.
A
A
It's
a
Joe,
Thompson
says
biggest
kind
of
cops
for
me.
Has
it's
always
been
a
ws
specifically
as
I
understand,
it
was
originally
intended
to
be
multi-cloud
capable,
plus
one
Joe.
Another
big
reason
for
my
inspiration
to
start
the
key
popcorn
project
that
has
kind
of
also
kind
of
come
to
a
grinding
halt
and
I'm.
Gonna.
Add
that
one
to
our
list
here
cops
does
a
fantastic
job
about
the
point,
a
lot
of
inference
of
clusters
on
a
peak
on
AWS,
so
long
that
you
agree
with
how
cops
is
doing
it.
A
But
it's
I
haven't
really
seen
very
many
working
examples
of
the
implementation
that
allegedly
exists
for
Google
or
any
of
the
other
clouds.
I
know
there's
been
work
for
VMware,
I
kind
of
helped
for
that
for
a
bit.
But
again,
I
haven't
really
seen
that
same
user
experience
of
like
type
of
command
and
poof
I
get
a
cluster
that
I
see
on
AWS
so
totally
agree.
A
It
would
be
nice
to
see
other
clouds
implemented
there
as
well,
and
when
we
talked
about
the
cluster
API
and
the
cops
API,
we're
gonna
learn
why
why
a
lot
of
this
is
important
and
relevant,
and
why
this
abstraction
that
cops
started
with
really
translates
into
the
cluster
API
that
we
see
today
and
the
lessons
we
learned
along
the
way
so
I'm
gonna
write
down,
multi-cloud,
implement
Asians,
I'm,
saying
no
multi-cloud
permutations
or
a
few.
Actually,
let's
do
a
few,
that's
more
accurate,
okay
cool!
A
A
We'll
get
over
do
that
and
it
will
come
down
in
this
last.
One
here
is
a
whole
new
scope
and
what
was
putting
a
line
here
and
we'll
come
down
here
and
put
a
line
here,
so
you
can
kind
of
start
to
mentally
see
like
the
three
pieces
we're
going
to
be
talking
about
today
and
how
they're
gonna
impact
each
other,
which
this
is
very
interesting
going
because
we're
effectively
impacting
code
here
on
line
26
from
what
happens
here
on
line
13
and
there's
a
possibility.
A
If
we
change
line
13
line,
26
may
no
longer
be
syntactically
valid,
so
this
line
is
very
dependent
on
this
line
and
what
I
wanted
to
point
out
is
in
this
first
line.
We
are
doing
like
a
lazy
assign
this
implicit
assigned
to
the
error
variable
Eri,
which
is
of
type
interface
error,
which
we
all
know
Jason
Marshall.
If
you
pull
up
the
docs
here,
it's
gonna
return,
a
slice
of
bytes
and
a
an
error,
a
regular
old
going.
A
So
what
we're
doing
here
is
we're
using
this
colon
here
to
create
error
and
create
bytes
and
then
assign
them
to
the
value
that
Jason
Marshall
returns,
and
in
this
case
all
we're
doing
is
we're
just
marshalling
an
empty
jason
object.
So
we
know
what's
going
to
work
and
we're
gonna
get
nil
for
an
error,
but
it's
still
going
to
be
valid
code.
A
That
returns
a
valid
error,
even
though
it's
no
so
in
this
case
we
have
if
they
are
not
equal
to
nil,
just
log
of
fatal
error
and
kill
the
program
and
then
print
out
the
the
amount
of
bytes,
which
should
be
four
for
the
string
we've
defined
here.
So
what's
interesting
is
here
we
repeat
the
exact
same
code
again
down
on
line
24
and
25,
but
in
this
case
we
don't
have
to
add
this
colon
here
and
in
fact,
if
I
add
it
and
I
try
to
run
this.
A
It's
yell
at
me
and
say
this
variables
already
been
defined
and
it
says
no
new
variables
on
the
left
side
of
this.
So
what's
happening
here
is
we're
telling
the
go
compiler
that
we
would
like
to
create
and
assign
error
in
bytes.
But
in
this
case
this
doesn't
work
because
we
have
already
created
the
variable
error
and
the
variable
bytes,
because
air
is
a
second
class
to
the
bytes.
A
We're
only
concerning
ourselves
with
the
second
argument
here
and
we
can
get
around
that
by
removing
the
colon
and
just
doing
an
reassign
instead
of
an
assign
and
create.
So
we
run
this
again.
Our
program
works
now.
What's
interesting
is
if
I
was
to
comment
out
these
lines
of
code,
and
perhaps
you
know,
maybe
the
code
changed
or
there
was
another
patch
or
something
happened
to
upstream
that
I
didn't
know
about.
A
I
could
try
to
rerun
my
program
again
and
in
this
case
we
get
a
lot
of
errors,
so
just
by
simply
mutating
the
lines
above
we're
breaking
behavior
of
code
downstream.
So
this
is
really
simple.
If
you
see
it
here
in
this
example,
but
I
can't
tell
you
how
many
times
I
see,
go
programmers,
not
understanding,
shadowing
and
not
understanding
why
you
have
to
assign,
in
some
cases
and
not
on
the
other
and
it's
very
confusing.
A
And
last
but
not
least,
this
is
a
trick
that
I
didn't
even
know,
existed
and
so
I
started
contributing
to
cops,
which
was
you
can
actually
define
a
whole
new
scope
in
the
go
programming
language
just
by
doing
an
empty
set
of
curly
braces
here.
So
in
this
case
we
have
a
new
scope,
which
means
the
variables
are
defined
only
within
that
scope.
So
we
can
actually
have
to
do
a
create
and
assign
all
over
again
because
we're
in
a
new
scope,
and
this
error
is
technically
different
than
this
error.
A
If
you
run
this
again,
you
should
see
we
get
four
four
four,
so
quick
and
dirty
lesson
on
airs
and
return
types
and
shadowing
and
scope
in
the
go
programming
language
and
just
be
aware
of
this
as
you're
working
go
programs,
so
that
is
Argo
101
lesson
of
the
day.
Let's
see,
how
do
I
go
back?
Oh
these
are
all
new
pages
uh-huh.
A
Cool,
let's
see
what
folks
are
saying
in
chat,
we're
already
23
minutes
into
the
episode
and
then
we're
gonna
start
playing
with
cops
and
talking
about
the
source
code
and
and
seeing
what
we
can
do
here.
So
we
have
good
evening
from
Russia,
Jason,
Morgan,
sighs,
disc
ops
or
Cuba
corn.
Slash
cluster
API
do
any
configuration
of
the
clusters.
A
Your
cluster,
as
far
as
like
arbitrary,
one-off
sub,
like
I,
want
to
turn
on
this
API
or
server
flag
or
turn
this
API
server
flag
off
the
way,
cops
from
the
way
that
cubic
corn
do
it
are
very
different
cubic
or
gives
you
yolo
right,
whatever
you
want,
we're
just
gonna
run
your
bash
blindly,
access
to
configuring,
your
your
kubernetes
bootstrap
with
cube
admin,
whereas
cops,
has
a
whole
different
mechanism
for
passing
API
flags
through
to
note
up,
which
is
how
cops
bootstraps
clusters.
So
actually
that's
a
really
good
point.
A
If
we
go
over
here
to
our
dock
camera,
we're
gonna
draw
another
line
and
we're
gonna
do
this.
One
is
cops,
and
this
is
gonna,
be
a
cube
admin,
and
this
is
gonna,
be
cops
over
here
and
we
can
talk
pros
and
cons.
Actually,
I'm
gonna
call
this
one
node
up,
which
is
going
to
be
cops.
This
version
of
bootstrapping
a
kubernetes
cluster,
so
interesting,
piece
of
trivia.
The
whole
reason
Noda
existed
was
because
we
cops
would
existed
before
cube.
Admin
was
really
a
mature
project.
A
Now
that
cave
admins
amateur
project
I
was
able
to
create
cubic
corn
in
actually
bootstrap
kubernetes,
so
more
official
way
using
cube,
Adnan
cops
traditionally
uses
note
up
and
I
think
bits
and
pieces
of
cube
admin
along
the
way
as
well,
and
we
can
look
at
some
of
the
differences
of
how
those
two
things
bootstrap
side-by-side.
We're
actually
gonna,
go
look
at
a
cop's
cloud
and
knit
script
and
actually
look
at
the
Noda
binary
on
a
node
after
we
create
a
cluster
in
AWS.
It's
a
great
question:
Jason
LeMat,
II
Chris.
A
A
The
question
is
whether
or
not
if
I
should
do
that,
because
I
could
very
well
take
quite
some
time
how
about
I
do
a
really
quick
high-level
just
of
my
personal
opinion
of
these
tools,
and
then
we
can,
you
know,
maybe
do
another
episode
or
drill
down
into
some
of
the
nitty-gritty
later,
like
I
kind
of
want
to
do
like
a
really
deep
dive
in
a
cube
admin
at
some
point
in
the
future
as
well,
but
real,
quick,
off-the-cuff,
off-the-cuff
I
should
say
so.
A
The
question
was
cops:
Cuba,
Korn,
cube
admin
and
cube
spray,
so
right
away,
I'm
gonna,
just
throw
keep
spray
out.
I
haven't
really
worked
with
it,
I
kind
of
know
what
it
does
and
I
cannot
speak
intelligently
about
it
and
how
it
solves.
The
problem.
I
know
that
keep
spray
does
have
multiple
cloud
implementations,
but
it's
just
a
matter
of
figuring
out
which
ones
so
cops
is
command
line
tool.
It's
API
driven
it
uses
a
unique
API
cube.
Accord
is
also
a
command
line
tool.
It's
API
driven.
A
A
A
So
fundamentally,
the
API,
if
how
user
would
interact
with
any
of
these
tools?
Is
it's
very
different
across
across
the
board?
As
far
as
scope
of
work
goes,
I
think
cops
and
cubic
corn
have
a
relatively
similar
scope.
I
think
cops
is
focused
a
little
more
on
like
the
the
enterprise
experience
cubic
corn
is
kind
of
like
ulo.
You
can
do
whatever
you
want
and
then
cube.
Admin
very
firmly
said
we're
not
going
to
care
about
provisioning
infrastructure.
We're
only
gonna
care
about
provisioning.
A
The
kubernetes
bits
that
run
on
top
of
infrastructure
that
you
create
outside
of
our
tool,
so
cops
does
both
start
kubernetes
and
bootstrap
infrastructure
cubic
corn
does
both
start
kubernetes
and
bootstrap
infrastructure
and
keep
admin
does
not
bootstrap
infrastructure
and
only
bootstraps
kubernetes.
So
hopefully
that
makes
sense
there
and
I'm
gonna
have
to
move
on
and
we
get
like
I
said
we
can
talk
more
about
that
a
little
bit
later.
Let
Maddie.
If
you
still
have
questions,
let's
see,
there's
some
questions
between
Matty
and
Pablo
Justin
said:
never
fully
dropped.
A
A
C
A
D
A
I'm
not
going
to
run
that
although
it'll
look
like
I'll
run
it
but
I'm
really
going
to
just
cancel
out
of
this
and
then
I
went
indicates
that
IO
and
I
ran
this
kick
man.
I
did
get
clone,
get
at
github,
comm
kubernetes
cops
dot,
git,
and
this
should
yell
umekes.
It
already
exists,
but
that
is
how
I
cloned
it
and
then
I
can't
went
into
the
cops
directory
and
I
usually
will
do
a
get
remote
remove
origin
get
remote,
add
origin
get
github.com.
A
This
is
gonna,
be
my
fork.
Chris
Nova,
slash,
cops,
I'd
get
and
I'll
do
get
remote
at
origin,
get
I,
github.com,
kubernetes,
slash,
cops,
dot,
get
and
I
don't
want
origin
I
want
this
one
to
be
upstream.
So
let's
change
this
and
I
have
a
tool
called
clone.
That'll.
Do
everything
I
just
typed
for
you,
but
so
you
see
it
expressively.
A
Here's
a
how
I
would
get
ready
to
start
contributing
the
cops
so
coming
here
and
then
again,
like
I,
remember,
working
on
this
MIG
file
forever
ago,
but
I
just
typed
make
and
kind
of
hoped
for
the
best
and
I'm
sure
enough.
It
worked
so
I
can
now
type
cops.
It's
in
my
go
pin.
So
it's
in
my
path
and
we're
off
to
the
races
were
playing
with
cops
from
master
right
now.
A
Let's
talk
about
how
you
would
do
that
if
you
weren't
a
cops
maintainer
contributor
from
two
years
ago,
what
I
would
have
done
is
I
would
have
come
here
and
I
would
have
gone
to
github.com,
slash,
kubernetes,
slash
cops,
and
here
we
have
releases
and
you
can
come
through
and
you
can
see.
Justin's
been
doing
a
really
good
job
at
keeping
up
with
these,
and
we
just
got
a
110
alpha
and
you
can
download
the
binaries
here
and
stick
them
in
your
path.
A
Sean
Smith
says:
hey
everyone
hope
everyone
had
a
good
week
and
Doug
brought
up
another
good
point,
which
is
also
just
brew:
install
cups,
Doug,
just
out
of
habit
I,
usually
try
not
to
brew,
install
anything
unless
I
can't
get
it
any
other
way
and
a
lot
of
the
stuff
I'm
gonna
be
doing
and
saying
today
you
guys
are
gonna
have
to
keep
me
honest,
I'm
doing
because
of
like
old
lessons
learned
the
hard
way
that
I
don't
really
even
think
about
anymore.
So
if
ever
I
jump
ahead,
you're
like
why
did
she
do
that?
A
Just
drop
something
in
chat
and
I'm
happy
to
explain
why
I
just
knew
that
we
really
statically
linked
binaries
here
in
the
the
releases
whenever
we
do
a
release,
so
I
just
knew
I
could
come
here
and
grab
one
if
I
needed
to
as
well
the
reason
I
even
checked
out,
cops
and
built.
It
was
in
case
we
come
across
any
any
issues
that
we
decide
to
fix
here,
live
during
PGI
kay
and
also
because
I
want
to
be
able
to
look
at
the
code
and
maybe
put
some
debugging
in
a
little
bit
later.
A
When
we
actually
look
how
cops
reconciles
infrastructure-
and
if
you
read
my
book,
you
know
that
I
came
up
with
this
thing
called
the
reconciler
pattern,
which
a
lot
of
that
came
from
work
and
terraform
and
working
here
cops
and
you
see
some
of
it
in
cuba,
corn
and
now
it's
really
evolved
into
this.
Even
more
mature
pattern
that
you
see
in
the
cluster
API.
A
So
we're
gonna
kind
of
go
back
here
in
time
and
see
like
you
know:
where
did
this
whole
thing
start
from
and
then
how
is
it
different
now
and
more
importantly,
why
technically
did
we
decide
to
to
move
forward
and
make
it
different
like
what
was
our
inspiration
and
we
can
see
some
of
those
original
concerns
here
as
well?
Okay,
so
that's
why
I
doing
things
this
way?
A
So
anyway,
I
picked
up
TGI
Kate's
calm
earlier
today
and
we're
gonna
be
using
that
for
a
demo.
So
the
first
thing
I
did
after
not
running
this
program,
and
some
time
was
I.
Just
typed
cops
and
I
started
to
kind
of
read
through
and
like
I
remember
when
I
went
through
and
capitalized
all
of
these
words
one
day
because
they
drove
me
crazy,
so
you're
welcome
for
that
everybody
there
capital
now
that
used
to
be
mismatched
and
good
ol
create
and
we
have
described.
A
A
But
it
does
matter
which
order
you
do
these
in
and
they
do
have
different
paradigms
behind
them
and
then
also
we
have
rolling
an
update
as
well.
So
we
can
look
at
those
as
well
as
we
we
get
a
kubernetes
cluster
up
and
running.
So
the
first
thing
we
want
to
do
is
we
want
to
create,
let's
see
here,
a
concept
of
a
cluster.
A
Cr
wool
uses
an
aggregate
API
server
today,
but
hopefully
CR
DS
in
the
future,
which
is
a
fancy
way
of
saying
it,
stores
that
did
that
cluster
representation
in
kubernetes
itself,
which
is
a
huge,
powerful
win
for
the
cluster
API
project,
because
in
both
cops
and
cubic
corn,
we
are
sort
of
pulling
ourselves
away
from
the
kubernetes
cluster.
So
anyway,
what
we
want
to
do
to
create
a
cluster
is
I
just
had
two
cubic
or
cops
create,
and
we
can
just
run
this
and
I'll
just
kind
of
go
through
the
the
commands
here.
A
A
Think
I
should
wait,
I,
think,
let's
create
a
cluster
and
then
do
source
code,
and
we
can
talk
about
where
all
this
flag
validation
is
coming
from
and
why
that
was
a
concern
for
me,
as
a
software
engineer,
maybe
a
little
bit
later
so
yeah,
let's
just
create
a
cluster
first
and
we'll
do
source
later.
So.
A
Do
cops,
create
cluster
name.
T
JK
live,
oh
no.
We
got
this
error.
A
state
store
required
value.
Please
set
the
state
flag
or
export
the
cops
state
store
environmental
variable.
It
says
a
valid
value
follows
the
format,
a
semi
colon,
slash,
slash
in
the
name
of
some
bucket,
and
you
need
some
sort
of
s3
bucket
in
order
for
us
to
store
our
cluster
information
in.
So
we
have
a
dependency
on
s3.
If
we
just
try
to
run
it.
A
A
We
want
to
go
to
s3
and
we're
gonna
create
a
new
bucket
just
for
today,
so
we
have
like
a
an
empty
one
and
all
delete
it
later.
If
we're
gonna
call
it
Chris,
Nova,
Mountain,
TGI
K.
The
reason
I
put
mountain
in
there
is
because
it
needs
to
be
unique
string
and
I
really
doubt
anybody's
done.
Christmas
mountain
TGI
K
before
cuz.
Those
are
all
pretty
weird
strings
to
have
together
unless
you're
me,
okay,
so
next,
we'll
just
do
all
the
default
values
here
and
poof.
C
A
Equals
s3
colon,
slash,
slash,
Chris,
Nova,
Mountain,
TT,
okay
I'm
in
real
quick.
We
have
a
comment:
Eliseo
no
cops
toolbox
is
useful
for
templates
real,
quick
Luciano.
What
do
you
mean
by
templates?
I
can
take
a
look
a
little
bit
later
on
in
the
episode
by
curious.
If
you
can
give
a
little
bit
more
detail
there
on
what
type
of
temple
is
you're
referring
to
and
what
maybe
would
be
a
good.
A
good
example
of
templates
for
folks
to
look
at
that
I
can
maybe
run
through
would
be
helpful.
A
A
Can
a
lot
of
folks
will
use
clear
to
clear
their
screen
and
if
you
didn't
know
at
the
end
of
a
a
line,
if
you
don't
want
to
issue
it
and
you
want
it
just
to
look
kind
of
like
you
did
it's
really
handy
for
demos,
you
can
just
hit
control
C
at
the
end
of
the
line,
and
it
just
like
looks
like
you
typed
it,
but
you
didn't,
but
if
you
had
spent
a
lot
of
time
typing
a
command
like
I
did
here,
and
you
still
wanted
to
clear
your
screen
before
you
ran
your
command.
A
This
is
really
handy
for
demos
when
you
like,
want
to
show
like
a
nice
clean
output
from
a
command
e
ran.
While
you
have
a
text
in
the
terminal
buffer
here,
you
can
hit
control
L
for
like
control,
Lucy
and
it'll
clear
your
buffer
without
having
to
impact
what
have
in
your
buffer.
So
you
can
go
control,
l
ISIL
on
my
command
there
I
do
this
a
lot
during
t,
GI,
K
and
sometimes
I.
A
Do
it
so
fast
folks,
don't
even
realize
I'm
doing
it,
but
that's
a
handy
command
to
be
able
to
clear
your
screen
without
having
to
delete
what
you're
typing,
and
you
can
do
that
mid
typing,
like
I'm,
just
hitting
ctrl
L
over
and
over
here.
Okay,
so
cops
great
cluster
of
mine
is
named,
TJ
kill,
I
must
specify
zones
or
cloud.
This
is
where
we
get
some
good
old
cops
implicit
e
going
on
here.
A
So
again,
this
just
comes
from
me
looking
at
the
source
code-
and
you
know
writing
some
of
this
and
being
a
part
of
it
for
so
long.
What's
actually
happening
here
is
cops
the
same.
You
must
specify
an
AWS
availability
zone.
So
if
we
go
into
Google
Chrome,
we
can
go
back
to
our
ec2
command.
K
also
does
that
it
says
Ashish
and
the
reason
I
don't
do
command.
K
is
because
in
Emacs
that
does
delete
line
and
I
have
some
Emacs
shortcuts
in
my
terminal
as
well.
A
Because
Emacs
is
the
best
text
editor
and
you
have
a
command
you
type,
then
you
can
do
ctrl
a
to
get
to
the
beginning
of
the
line.
I!
Remember
it
because
a
is
in
the
beginning
in
the
alphabet
and
they
control
each
I,
get
to
the
end
of
the
line
and
I
remember
E
for
the
end
of
the
alphabet,
so
you
can
easily
get
to
the
beginning
and
end
of
the
lines
that
way,
and
you
can
clear
your
screen
as
well,
while
using
your
handy
dandy,
control
commands
okay.
A
So
what
was
I
doing?
I
lost
my
train
of
thought.
Oh,
we
were
talking
about
availability
zones,
so
here
in
Amazon
for
folks
that
don't
know
whenever
you
create
an
instance.
Let's
just
like
start
this
instance
creation
process,
you
can
create
I'm,
gonna
launch
it
just
yet.
Okay,
maybe
this
is
not
the
best
way
to
show
it.
Let's
just
look
at
what
we
already
have
running
so
here's
a
kubernetes
cluster
I
have
I
think
this
is
not
Cuba
coin.
This
is
hefty
Oh
quick,
start
yeah.
A
We
have,
let's
see
here,
US
West,
to
be
so
we're
in
the
u.s.
West
to
region
which
is
Oregon
here
and
then
we
have
a
B
and
C
which
are
different
availability
zones,
and
that
says
in
this
region
we
have
availability
zones
that
have
different
fault
concerns,
so
there's
some
guarantees
around.
If
one
zone
goes
down,
the
other
ones
will
remain
up.
So
it's
always
a
good
idea,
especially
in
kubernetes
or
anytime,
your
Ana
system,
if
you
can
distribute
your
distributed
system
across
availability
zones,
that's
handy!
Let's
see
what
folks
are
saying.
A
Leonardo
says:
cloudy
AWS
we're
gonna
get
to
cloudy
and
WS
in
a
second
there's,
some
more
cops
and
Felicity
going
on
around
that
command.
I
wanted
to
point
out
engine
says
this
cops:
have
support
for
bare
metal,
not
really
not
anything.
That,
like
is
going
to
give
you
even
close
to
the
same
user
experience.
Joe
Thompson
says:
ctrl
L
sometimes
clears
your
terminal
by
scrolling
up
one
screen,
so
you
can
count
on
it.
Clearing
sensitive
info
and
Marco
says
what
this
is.
Awesome
control
commands
in
the
terminal.
A
There
also
be
fuse
in
okay,
so
we
have
different
Vale
ability
zones
here.
So
in
cops,
if
you
do
zones-
and
you
can
do
it's
a
CSV
here-
comma
separated
values
and
you
can
name
an
availability
zone
in
this
case.
I'm
just
gonna
need
one
and
let's
go
tell
cops
to
create
a
non
highly
available
cluster
in
just
one
zone.
If
we
listed
more
than
one
zone,
we
would
get
a
highly
available
cluster
distributed
across
multiple
zones
and
that's
the
implicit
being
of
cops.
There's
not
like
a
each
a
flag.
A
It
just
like
looks
up
if
you'll
actually
look
at
the
source
code,
it'll
like
doing
a
length
on
your
zones
here
and
if
it's
more
than
one
it'll
it'll
just
switch
over
to
AJ
mode.
So
we're
duplicity,
if
you
don't
know
if
you're
not
familiar
with
it,
it's
not
very
concrete.
If
you
don't
know
exactly
what
what
we
mean
here,
so
laws
I'm,
really
bad
with
names,
Oceanos
says
so
with
cops.
A
You
can
define
a
cluster
and
a
template
file
using
go
template,
syntax,
and
then
you
can
have
one
cluster
definition
and
then
do
variables
to
find
for
files.
Okay,
so
I
think
what
a
lot
I
think
what
they're
saying
is.
We
can
create
arbitrary
cops
and
use
the
toolbox
command
to
to
sort
of
express
more
of
our
cluster.
A
That
cops
would
give
you
out
of
the
box
and
we're
going
to
talk
more
about
how
cops
like
tells
you
which
am
I
to
use
and
how
there's
a
lot
of
things
he
can't
really
configure
in
cops
later
so
Doug
says
us
was
to
be,
and
a
she
says,
is
a
zones
only
for
when
workers
or
for
master
notes
as
well.
That's
a
good
question.
I
know
this
is
how
we
define
how
the
masters
are.
Gonna,
be
separated
and
I.
A
Think
nodes
by
default
are
just
going
to
come
up
using
some
sort
of
round-robin
algorithm
a
long.
The
way
so
anyway,
we're
going
to
specify
one
zone
just
to
create
the
world
simple
as
kubernetes
cluster
and
we're
gonna
run
this
and
it
should
yell
at
us
and
it
says,
unable
to
find
cloud
provider
in
zones.
A
So
that's
where
this
cloud
comes
from
and
what's
interesting
here,
and
this
is
just
like
weird
behavior
in
cops-
is
if
you
were
to
actually
specify
a
valid
name
here,
which
in
our
case
is
TGI
Kate's
dot-com,
I
kind
of,
like
purposely,
picked
an
invalid
name
to
kind
of
show
off
this
behavior.
If
you
do
TGI
Kate's
calm
and
you
press
and
you
pass
in
the
zones,
cops
should
just
automatically
be
able
to
detect
that
you're
using
AWS.
A
The
reason
that
our
name
was
invalid
is
because
with
cops
you
either
needed
to
pass
in
a
domain
name
or
you
have
to
call
your
cluster
an
actual
valid
domain
name
and
actually
I
I'll.
Do
it
later.
Otherwise,
it's
not
going
to
work
so
carps
has
a
hard
dependency
on
DNS,
at
least
out
of
the
box.
So
I
mean
add.
That
is
our
third
con
here.
That
again
was
a
big
inspiration
for
Cuba
corn,
hard
dependency
on
DNS
typo
and
West
US
West.
To
be
ok,
thank
you
for
pointing
that
out.
A
Ashish
Thank,
You,
Christopher
Cruz
and
then
more
people
are
talking
about
Linux
commands,
so
I'm
gonna.
Let
that
you
folks
have
your
own
conversation,
ok
and
so
I
bet.
Actually
it
has
nothing
to
do
with
the
name.
Let's
change
this
back
to
an
invalid
name
and
I
bet.
It
so
will
imply
AWS,
let's
see
yeah,
so
it
says
inferred
cloud
the
AWS
from
zone
us
was
to
be,
and
it
says
invalid
value.
Tgi,
Kate's,
live
cluster
name
must
be
a
fully
qualified
DNS.
D
A
A
So
let's
see
how
do
I
get
to
route
53,
here's
where
all
53
and
we
want
to
go
to
hosted
zones
and
TGI
Kate's
calm,
so
I
bought
this
one
and
if
you
notice
there's
some
weird
stuff
going
on
which
I
have
this.
Why
is
this
weird
I?
Have
this
record
set
here?
How
do
I
delete
this
I?
Don't
know
why
it's
like
scooted
over
so
far,
I
I
did
the
default
Google
Venus
a
record
to
our
domain
because
cops.
A
Does
a
DNS
lookup
every
time
and
will
break
unless
you
have
something
registered
there
other
than
just
your
name
servers.
So
as
we
moved
for
Dean
has
to
propagate
we're
gonna
roll,
the
dice
we
may
or
may
not
get
a
valid
cops
create
cluster
command
because
it's
gonna
do
a
DNS
lookup
and
how
I
know
that
is.
If
we
jump
into
the
source
code
here
I
know,
I
said
we
were
gonna
look
at
source
code
later,
but
I
just
I
can't
help
myself.
I
just
have
to
pull
up
the
cop
source
code
on
it.
A
A
B
A
A
Is
it
not
there
I,
don't
know,
what's
going
on,
okay,
either
way,
we
can
look
at
the
service
code.
Bigger
I
can
always
do
it
in
Emacs
as
well,
but
if
we
actually
run
the
command
without
seeing
the
DNS
lookup
into
the
source
code,
we
can
actually
see
that
cops.
Trivia
lot
is
here
so
it'll
infer
the
cloud
previewing
changes
that
we
made
nope.
It
still
was
able
to
look
it
up.
A
C
A
A
This
API
definition
that
we
are
completely
blind
to
at
this
point
and
it
like
spits
out
all
of
these
like
concrete
resources
in
Amazon
that
we're
gonna
create
and
then
all
of
the
values
for
them
as
well,
and
so
what
really
happened
behind
the
scenes
and
I?
Remember
like
when
I
first
started
using
it.
I
was
kind
of
frustrated,
because
I
didn't
really
understand
how
we
got
to
the
resources
from
that
first
command
or
even
why
we
did
the
first
command
that
way.
A
But
if
you
actually
see
what
cops
is
doing,
it
actually
makes
a
little
bit
of
sense
and
I
think
Cuba,
corn
kind
of
simplified
it
a
little
bit
and
cluster.
Your
API
takes
it
a
step
further
and
sticks
it
into
CID
or
I,
created
API
server
and
makes
it
even
simpler
and
a
little
more
like
declarative
and
nature
of
following
kubernetes
paradigms.
We
like
having
a
proper
spec
in
a
proper
status.
So
what
it's
so
forth,
but
if
we
go
to
s3
remember
we
had
to
configure
an
s3
bucket
earlier.
A
C
A
Speck,
so
here's
a
Hamel
file-
and
this
is
if
you've
worked
with
cubic
corn
before
this
having
a
Y
animal
representation
of
your
cluster
is
a
really
cool,
important
thing
and
you
get
it
on
your
local
file
system
by
default
instead
of
s3.
And
if
you
look
here,
this
is
just
a
good
old
kubernetes
object
and
you
can
see
we
have
like
all
kinds
of
configuration
bits
here.
We
have
API.
A
We
have
sed
configuration
at
CD
members
Jason
earlier
you
asked
about
configuring,
your
cluster,
here's
sort
of
an
example
of
how
you
would
plum
through
some
of
these
configuration
options
into
your
kubernetes
control,
plane.
Here's
our
cube,
API
server,
we
have
you
know,
allow
privileged
and
like
cops,
makes
a
lot
of
assumptions
for
you
here.
Some
of
these
assumptions
may
or
may
not
be
relevant
or
smart
if
you
aren't
sure
what
what
you're
actually
doing
here.
So
this
is
a
very
intimate
decision.
It's
like
configuring.
A
Your
kubernetes
api
server
is
like
picking
out
a
car
like
that's
between
you
and
yours,
family
and
you're.
Gonna.
Have
your
own
specific
concerns
like
do
you
want
the
heated
seats
or
not
so
by
default?
You
know
it's
nice
that
it
gives
us
a
little
bit
of
you
know
a
good
sanity
check
here,
but
I
still
would
encourage
folks
to
come
through
and
actually
look
at
what's
going
on
here
and
make
sure
that
we're
actually
following
communities
best
practices.
A
This
was
a
bit
that
was
flipped
a
while
ago
that
caused
some
problems
downstream
and
the
allow
privilege
true--but
is
another
interesting
one
as
well.
I'm,
not
a
control,
plane
expert,
but
I
have
heard
some.
Some
concerns
come
up
around
the
default
configuration
here
as
well.
So
as
we
scroll
down
you
can
see,
we
have
SSH
open
to
everyone
in
the
world.
Cops
did
some
math
behind
the
scenes
to
generate
a
site
or
address
for
us.
I
think
I,
remember
working
on
that
function
and
it
would
be
really
fun
to
go.
A
Look
at
that
function,
because
that
was
a
really
hard
function
right,
because
cider
addresses
are
really
hard
to
calculate
and
there
was
some
cool
logic
there
and
I
remember
working
on
that.
My
IDE
doesn't
seem
to
be
wanting
to
cooperate,
so
we
can
skip
that
for
now,
and
another
thing
that
is
interesting
is:
if
we
look
at
cobs,
we
can
do
edit,
and
so
we
can
do
a
cop's
edit,
tgd.
Okay,
it's
calm.
What
happened
here?
A
Oh
cops
a
bit
cluster
because
duh
there's
different
resources
here,
cops
edit
cluster
and
that
kind
of
does
the
same
thing
that
we
just
tried
to
do.
But
it's
gonna
open
it
up
in
our
favorite
text,
editor
Emacs
and
we're
gonna
scroll
down,
and
we
can
see
everything
we
just
looked
at
that
I
cut
it
out
to
the
terminal
here
and
what's
cool
it's
like
if
I
wanted
to
like.
Let's
make
an
easy
change,
something
that
I
know:
that's
not
gonna
break
anything.
A
Stuff
we'll
get
into
a
little
bit
later,
but
that's
another
feature
that
I
contributed
and
there's
different
ways.
You
can
configure
your
communities
network
with
cops.
I
have
not
seen
anything
that
looks
super
harmless
to
change
right
now,
so
we're
just
gonna,
keep
it
as
is,
but
if
I
didn't
want
to
make
a
change,
I
could
just
save
it
and
it
should
save
it
and
really
push
it
up
to
s3
as
well.
So,
let's
see
here,
we
have
some
questions
here.
People
are
saying
edit,
IG,
so
yeah.
A
A
A
Object
again
in
the
cluster
API,
we
would
see
something
like
this
being
stored
in
a
kubernetes
cluster
instead
of
s3
and
you
can
come
through
and
we
can
change
our
max
size
here.
Let's
just
bump
it
up
to
four
environments:
I
love
that
up
to
four.
So
now
we're
gonna
get
a
kubernetes
cluster
of
four
nodes:
okay,
so
that
push
it
up
to
s3.
And
if
we
go
back
to
s3
that
we
can
come
in
here
and
we
can
look
an
instance
group
and
if
we
look
in
nodes,
let's
see
how
do
I
open.
B
A
Option
click
control,
click,
nope,
man,
click,
I,
can't
figure
it
out.
I
think
mine
wants
to
Google
how
to
override
a
pop-up,
blocker
that'd
be
handy,
but
anyway,
if
we
came
in
here
and
we
looked
at
it,
we
could
actually
see
that
our
team's
head
reflected
through
to
s3
but
I'm,
not
gonna,
download
it
and
open
it
up
again,
because
that's
just
gonna
take
time,
okay,
so
this
is
where
we
get
into
the
actual
update
part
of
our
reconciliation.
A
Now
this
is
interesting
because
we're
effectively
doing
one
iteration
of
a
control
loop
and
when
I
reek
of
imagine
this
in
cuba,
corn
I
actually
put
this
into
a
proper
control
loop.
Instead
of
sort
of
doing
this
linearly,
like
we
see
in
the
cob
source
code
and
the
reason
for
that
was
because
even
on
first
deploy,
if
something
went
wrong,
we
could
undo
ourselves
or
we
would
just
repeat
the
loop
again
and
try
to
fix
it.
A
So
in
this
example,
we're
gonna
turn
verbosity
all
the
way
up
and
we're
gonna
actually
see
cops,
doing
some
of
its
reconciliation
stuff
and
that's
gonna
sort
of
be
like
a
really
exciting
point
where
we
learn
about
like
control
loops
in
general
and
see
where
an
infrastructure
controller,
but
we've
sort
of
started
to
get
the
idea
from
so
we're
gonna.
Do
a
cops
update
cluster.
A
Dot-Com
and
let's
see
what
was
next
I
want
to
do
yes
and
then,
when
I
do
v10
I
think
the
syntax
is
right.
It's
been
like
a
year
in
the
house
since
I've
done
this.
So
let's
see,
let's
see
what
happens
here,
all
right,
okay,
ton
of
verbose
output
here-
and
this
is
what
we
wanted
to
see
very
good
okay.
So
if
we
scroll
up,
we
see
all
kinds
of
stuff
happening.
Cops
is
making
all
kinds
of
assertions.
It's
hitting
the
kubernetes
api.
C
A
We
did
this
is
because
I
wanted
to
kind
of
like
call
out
a
few
things:
it's
like
first
we're
creating
a
private
key,
we're
creating
different
infrastructure
and
we're
bootstrapping
our
cluster
along
the
way
here.
So
we're
calling
us
three-
and
you
can
see
that
that
really
this
is
cloud
dependency
baked
into
the
way
cops
works
on
day.
One
like
it's.
It's
it's
calling
us
three
we're
making
API
calls
we're
writing
files
to
s3
we're
putting
objects
back
in
s3.
A
We're
listing
objects,
we're
doing
all
kinds
of
stuff
here
and
when
it's
all
said
and
done
with,
we
can
scroll
all
the
way
down
to
the
bottom.
Here
we
see
that
we'd
get
multiple
lines,
because
we
have
reverb
paucity
turned
all
the
way
up,
but
we
see
that
we've
created
some
certificates
and
we've
regenerated
our
cube
config
and
we
set
our
queue
Bethel
context
to
2d
I
Kate's.
Calm.
A
Now,
I
wanted
to
point
this
out,
because
this
is
a
discussion
that
we're
having
an
upstream
in
the
cluster
API
today,
which
is
how
do
we
as
a
community
if
we
aren't
really
gonna
start
to
standardize
on
this
stuff?
How
do
we
handle
creating
auth
material?
On
one
hand,
we
do
it
like
we
just
seek
ops,
which
is,
by
the
way
cops
is
lightning-fast.
A
This
was
really
quick
because
we
generated
the
the
certs
and
then
threw
the
ball
over
the
fence,
and
now,
if
something
breaks,
we're
completely
blind
to
it,
but
it
was
really
fast
because
we
did
all
the
work
here
and
then
we
like
pushed
everything
up
to
the
cluster
and
said
okay
cluster.
Now
you
have
everything
you
need:
go
figure
your
own
stuff
out
cubic,
or
does
it
a
different
way
and
we
generate
all
of
our
off
material
after
we've
created
infrastructure.
A
A
About
2
or
3
minutes,
whereas
cops
was
like
30
seconds
or
so
I
don't
know
do
a
time
on
it,
but
significantly
quicker
mob
says:
oh
it's!
Next
to
the
start.
Button
oh
heck,
yeah
thanks
folks
will
we'll
get
that
again
in
a
second
I.
Think
I
see
the
start
button
but
well
we'll
find
out.
So
anyway,
Cod's
generated
the
certs
and
then
because
we
generated
the
certs
locally,
we
were
able
to
Bill
RQ
config
on
day
one,
and
if
you
don't
know
the
way,
kubernetes
works.
Let's
real
quick.
A
Let's
talk
about
certs
and
kubernetes:
let's
go
to
our
dock
camera,
underneath
our
pros
and
cons
out
of
the
way
I'm
I
can
already
tell
this
is
gonna,
be
a
longer
episode,
so
like
happy
Friday,
if
you
folks
want
to
go,
get
like
if
you're,
something
like
I'm
gonna,
be
ranting
about
cops
and
kubernetes
an
infrastructure
for
a
little
bit.
Ok,
so
we
want
to
talk
about
certs
and
kubernetes,
so
cops
created
a
handful
of
certs.
C
A
A
lot
of
folks,
don't
know
that
that
was
one
of
our
trivia
questions,
yeah
kubernetes,
trivia,
the
other
night,
and
then
we
also
have
you
are
a
handy
dandy
person
out
here
in
the
internet,
trying
to
interact
with
kubernetes,
and
so
you,
as
a
person
I'm
going
to
draw
like
a
little
scroll
here.
This
is
your
cube.
Config
file,
we're
gonna,
write,
config
CFG
should
have
information
that
allows
you
to
talk
to
this
API
server
and
then
this
API
server
actually
does
a
bilinga
both
direction.
This
API
server
goes
both
ways
between
the
cubelet.
A
So
that's
how
that
sort
of
transaction
happens
so
because
we
generated
the
certs
beforehand
on
our
end
of
the
fence.
We
were
then
able
to
tell
this
server
and
ultimately,
this
server,
which
starts
to
use
and
they
kind
of
knew
about
each
other
beforehand.
So
there
was
this
sort
of
like
it's
solved,
this
chicken
and
the
egg
problem
and
a
lot
a
little
bit
quicker
of
a
startup
time
for
us.
So
this
is
just
an
interesting
thing
to
think
about
and
like
I
said,
keep
a
core
and
we
do
it
a
little
bit
differently.
A
A
D
A
So
let's
go
look
at
Amazon
and
see
what
has
happened
along
the
way:
I'm
gonna
type,
clear
and
not
use
ctrl
L,
because
I
didn't
have
anything
in
my
buffer
and
if
we
go
to
ec2,
we
started
out
with
four
instances.
We
now
have
nine
sorry
Joe
for
racking
up
the
AWS
bill,
and
here
we
have
our
master,
and
here
we
have
an
arbitrary
set
of
nodes.
A
Okay,
so
with
our
master,
we
have
this
public
IP
address
and
if
earlier,
if
you
remember,
we
looked
at
public
and
private
topology
and
probably
the
the
quick
and
dirty.
If
you
need
to
know
one
thing
about
public
and
private
topologies
in
Amazon
using
cops,
it's
I
can
SSH
directly
into
either
the
master
or
any
of
these
nodes.
If
you
notice,
they
all
have
a
public
IP
address
here
directly
and
in
a
private
scenario,
which
this
is
how
we
do
things
in
the
kubernetes
QuickStart,
it's
much
more
secure
by
default.
I!
A
Think:
u
KS
might
even
do
this
by
default
as
well.
Cuba,
corn-
I
don't
know
if
we
do
this
by
default
or
not
marco
help
me
do
we
do
private.
So
many
by
default,
I
wrote
the
tool.
Thank
you
anyway.
By
default,
cops
will
give
you
a
public
one.
It's
a
little
bit
more
insecure,
exposing
parts
of
our
communities
closer
so
while
out
of
the
gates,
but
it's
okay,
because
it
makes
it
easy
for
us
to
kind
of
demo
here
live
today.
A
So
we
have
a
public
IP
address
and
we
can
SSH
directly
into
this.
So
how
we're
going
to
do?
That
is
we're
going
to
SSH,
and
this
is
like
the
moment
where
I
just
know
it's
admin,
because
I've
done
this
a
hundred
million
times
in
the
past.
But
it's
admin
at
our
IP
address
here
and
now
is
a
great
chance
for
me
to
stop
and
talk
about
the
ability
to
configure
operating
systems
in
a
Mis
and
tools
like
cops
Cuba
corn
in
the
cluster
EPA.
A
So
by
default
we
use
this
am
I
that
is
govern
Nettie's
in
cops,
and
if
you
go
to
what
used
to
be
the
cluster
API
repo
is
now
just
good
ol
cube,
deploy.
We
have
image
builder,
and
this
is
where
we're
generating
our
AWS
image
from
that
we
use
for
cops,
and
so
this
is
actually
the
ami
that
we
are
running
and
about
two
Association
to
you,
and
this
is
sort
of
maintained
by
the
powers
that
be
at
kubernetes.
I.
A
Think
you
know
we
try
to
keep
up
with
it
as
best
we
can,
and
you
know
it's
just
it's
there
and
that's
what
we
use
so
anyway.
If
we
ask
this
H
into
our
master
server
here,
we're
gonna
just
see
the
batch
really
quick
and
we're
here
in
our
home
admin
and
we're
gonna
start
here
in
var
log.
A
Ok,
so
here
in
vari
log
we
have
a
ton
of
stuff
going
on
nicolas
de
says:
can't
see
you
a
terminal
chris,
let's
see
here,
I'm
gonna
give
you
folks
a
second
to
like
I'm
gonna.
Let
the
log
catch
back
up
and
make
sure
you
still
can't
see
my
terminal,
maybe
do
I
do
that.
Will
that
help?
Let's
see
if
that
helps
a
little
bit
at
all
and
again
I'm
just
gonna
grab
some
club
soda
and
wait.
Y-Yeah
Oh
Nicholas
says:
oh
forget
about
it.
It's
my
screen.
It's
okay,
Nicholas,
no
big
deal.
A
I
got
some
club
soda
out
of
the
deal
so
I'm
happy
here
in
bar
log.
We
see
a
lot
of
stuff.
We
see
keep
proxy.
We
got
the
controller
manager,
the
cube
API
server
already.
This
is
looking
like
a
kubernetes
node
I
mean
already.
You
can
try
to
tell
kubernetes
components
are
running
if
you've
ever
due
back
to
kubernetes
before
you're,
like
probably
super
familiar
with
this
log
file.
Maybe
this
log
file-
hopefully
not
this
log
file-
and
you
can
see
here-
we've
got
some
containers
logs,
so
we
think
some
pods
are
running
in
kubernetes.
A
We
have
SED,
so
I
really
hope
you
never
had
to
go
into
that
log
before.
But
what
we're
gonna
look
at
today,
this
log
here
clownin
a
log
so
we're
just
gonna
cap.
This
whole
thing
out
the
screen,
yellow
and
we're
gonna
see
what
we
have.
So
this
is
all
cloud
and
it's
stuff
and
again
I
know
a
lot
of
this.
It's
tribal
knowledge,
but
somewhere
in
this
file,
you
see
this
directory
of
our
lib
cloud
instances.
A
A
Now
this
is
the
actual
file
that
cops
generated
for
us
behind
the
scenes
and
if
we
go
back
and
we
look
in
that
huge
long
terminal
output,
I
had
earlier-
you
actually
see
where
we
created
this
file,
and
if
we
kept
this
file
out,
we
can
actually
see
that
cops
and
it's
deepest
darkest
corners
of
the
Internet
is
really
just
a
batch
script.
The
cloud
runs
on
bash,
so
we
see
we
have
this
wonderful
thing
here
called
notably
rel.
A
So
what's
going
on
here,
so
cops
is
pulling
down
a
statically
linked
binary
from
this
endpoint
right
here,
and
we
can
actually
simulate
this
if
I
go
to
how
this
isn't
gonna
work
on
my
Mac
I'll
just
copy
this
and
all
I
can't
this
how
the
screen
so
I
can
just
clear
yeah.
So
I
can
do
I
have
W
get
yeah
I
do
W
get
I'm
gonna
download
this
and
you're
gonna
see
that
this
is
actually
what
cops
would
be
doing
as
a
instances
coming
up.
A
So
we're
done
already
note
up
and
remember
earlier
we
talked
about
how
cops
does
infrastructure
and
kubernetes
provisioning,
so
the
infrastructure
bits
are
the
actual
command
line
tool
that
I
was
running
locally.
On
my
Mac
a
few
seconds
ago,
the
inverter
or
the
kubernetes
bits
are
managed
by
this
lesser-known
tool
called
Noda
now
note
up
existed
before
cube.
Admin
was
super
mature,
but
attempts
to
solve
some
of
the
same
problems
now
cube.
Admin
is
definitely
the
preferred
way
of
going
about
in
bootstrapping
clusters,
at
least
from
in
my
concept
and
my
understanding
of
it.
A
It's
a
community
sponsored
project
and
we
were
working
on
it
actively
in
sick
cluster
lifecycle,
and
we
can
actually
run
note
up
here
and
just
in
general,
the
way
the
two
tools
work,
I
think
no
dope
has
a
dependency
on
having
certs
passed
into
it
and
I'd
does
some
interesting
stuff
with
DNS
as
well.
Did
I
not
get
it
okay,
I've
to
chew
on
it,
I
just
want
to
run
it
so
folks
can
see
how
the
the
program
works.
So
if
we
run
note
up,
we
can
do
this
note
up.
A
It
should
start
running
and
it
sort
of
runs
is
like
this
sort
of
cloud
and
NIT
only
style.
So
it's
got
like
built-in
retries,
so
it's
pretty
resilient,
which
is
handy
most
folks,
just
wrap
like
cube
admin
in
like
a
for
loop
and
like
kind
of
retry
it
over
and
over
again.
But
if
we
can
I
have
to
get
install
cube
admin
I
know
you
have
to
add
the
repo
for
you,
but.
A
The
cube
admin
command-line
tool,
it's
actually
like
a
proper
command-line
tool
that
has
help
and
like
tells
you
about
like
how
you
can
authenticate
with
a
token
and
bootstrap
over
a
nice
cluster.
So
a
little
bit
more
flexibility
there
and
the
cube
admin
release
cycle
is
very
married
to
the
kubernetes.
D
A
You
know
the
parts
about
cops
that
was
hard
for
them
was
the
the
lag
between
upstream
and
cops,
and
so
what
they
were
really
saying
is
if
we
pull
up
Google
Chrome
here
and
we
go
to
the
cops
whoop
cups
release
is
here,
so
we
just
got
110
alpha
29
days
ago,
which
means
that
we've
started
a
110
branch
of
cops.
Meaning
cops
will
support
kubernetes
110,
but
it's
only
in
alpha,
so
we're
not
making
any
hard
guarantees
yet
so
this
should
probably
ultimately
go
to
beta,
and
then
we
should
have
a
stable
release.
A
A
A
We
sort
of
inherit
that
same
like
that
delta
between
kubernetes
upstream
and
we're
cops
happens
to
be
so
in
this
case,
this
version
of
node
up
that
we
just
downloaded
I'm,
not
sure
if
we're
doing
110
or
1/9,
but
whichever
version
we're
trying
to
run
will
check
in
a
second
note
up
is
going
to
be
married
to
that
version
as
well.
Okay,
so,
anyway,
let's
take
a
look
at
this
bass
grip
and
see.
What's
going
on
here
so
list.
B
A
Part,
oh,
oh
one
and
here's
the
bash
script
that
bootstraps
your
kubernetes
cluster
and
you
can
see
in
here.
We
have.
We
have
this
I
love
this
function.
This
isn't
my
favorite
function,
names
that
I
ever
saw
I.
Think
Justin
was
the
original
author
of
this
and
I
still
to
this
day
have
or
bust
functions.
Basically,
what
this
thing
is
doing
is
it
just
does
like
a
while
true
it
just
try
something
over
and
over
again
there's
like
retry
delays
and
if
it
doesn't
work
it
ultimately
busts
or
exits
nonzero.
A
So
more
people
should
write
or
best
functions
in
bash
I,
really
like
it.
And
basically,
if
you
come
down
here
all
the
way
to
the
end,
we
should
see
download,
release
and
note
up.
Config
done
and
all
we've
done
is:
we've
generated
all
our
configuration
files
and
we've
run
note
up,
and
hopefully,
after
we've
generated
a
properly
configured
configuration
file,
and
we
run
note
up
poof
our
kubernetes
components
would
possibly
start
and
somewhere
in
this
file,
we
could
find
another
directory
which
is
called
like
install
path
or
like
install
directory
or
something
here's
insurance
Stalder.
A
A
Oh
right
here,
vara
cache.
Oh
my
gosh
I
got
it
right,
var
cache,
kubernetes
and
stuff
okay.
So
let's
go
to
this
directory
and
then
in
here
we
actually
see.
This
is
how
no
dope
is
ran.
Okay,
so
we
have
video
to
binary.
If
we
wanted
to
execute
it,
we
won't
do
that
and
then
we
have
our
cluster
spec
animal,
which
is
downloaded
from
s3.
Remember
we
looked
at
a
cluster
spec
earlier.
A
This
has
got
a
little
bit
more
going
on
inside
of
it,
and
this
is
actually
going
to
be
what
configures
node
up
and
tells
us
to
run.
So
if
we
do
it
back,
let's
do
a
split
screen
loop.
Let's
zoom
this
one
out
this
one
in
and
then
resize
there
we
go
here
on
my
desktop
I
should
be
able
to
cue
back
the
little
gate
so
on
the
left
were
on
our
master
node
in
kubernetes
on
our
right
around
my
Mac.
A
Here
you
can
see
that
we're
running
from
version
1.3,
because
I
built
from
masters,
so
I
bet
I'm
running
this
alpha
branch
that
we
saw
for
the
alpha
release
and
you
can
see
that
we're
running
in
Amazon
and
you
can
see
that
it
was
configured
here
with
node
up
I.
Don't
know
if
no
tip
has
logs.
Let's
see,
is
there
a
notable
log
anywhere
in
here
I
see
MTP
stats,
I,
don't
see?
No
the
blogs
anywhere
curious
to
where,
with
those
curious
to
know
where
those
logs
go,
maybe
they're
here
in
cloud
and
in
output.
A
Let's
try
this
file
yeah,
okay.
So
this
is
the
note
of
config
done.
This
is
what
we
saw
in
that
batch
script
earlier.
So
here
are
the
logs
from
node
up
running
and
it's
a
go
program,
statically
linked
binary
and
it
handles
bootstrapping
kubernetes.
In
the
same
way,
cube
admin
does
just
with
some
pretty
big
differences
there
and
a
little
bit
of
lag.
So
if
we
do
a
cube,
Bechdel
get
pods
namespace
cube
system.
A
A
No
I
do
want
to
open
up
goal
and
ok
we're
going
to
spend
a
second
one,
I'll
open
up
going
because
I
want
to
show
you
folks,
the
DNS
controller
and
talk
about
DNS
and
cops
a
little
bit
more,
so
bear
with
me
and
I
promise
we're
we're
not
gonna
go
super
long
today.
Okay,
let's
see
if
this
works,
I,
don't
know
I'm
wondering
if
this
directory
is
empty,
let's
go
to
go
source,
github,
calm,
Kate's
or
not.
Github
calm
go
source,
Kate
sigh,
oh
yeah,
cops
list;
ok,
so
that's
there!
A
Up
here,
get
you
back
down
resize
and
now,
let's
do
two
windows
project
again
and
if
we
come
in
here
on
the
left
side,
we
have
this
DNS
controller
directory,
and
in
here
we
have
command.
We
have
DNS
controller
and
if
you've
ever
looked
at
an
older
controller
in
the
kubernetes
codebase,
you
can
see
here
that
we
are
following
a
pre
familiar
kubernetes
controller
pattern.
So
we
have
like
some
watch
ingress.
We
have
gossip
seed,
we
have
DNS.
A
So
this
is
a
cop
specific
component
that
runs
in
queue
system,
and
this
makes
all
of
the
the
funding
stuff
happen
and
if
you
remember
when
we
did
TGI
Kate's
comm
earlier,
if
we
check
out
my
cube,
config
cat
cube,
config
and
then
let's
grep
for
servers
I'm,
not
putting
TLS
information
on
the
internet,
you
can
see
that
our
server
here
is
actually
a
PID
TGI
Kate's
calm.
A
Now,
if
we
created
this
with
cuba,
corn
or
different
parts
of
the
cluster
api,
we
would
actually
just
get
a
regular
old
dns
name,
I'm
sorry
a
regular
old
IP
address,
and
then
we
could
put
a
dns
name
in
front
of
it.
If
you
wanted
to
so
anyway
enough
about
how
cops
kind
of
bring
stuff
up
and
how
it's
different
than
cube
admin,
we
looked
at
the
cost.
We've
looked
at
the
cops
api
a
little
bit.
A
I
think
we
looked
at
the
cuba
corn
api
in
the
past
cluster
api
has
a
totally
different
thing
and
has
different
controllers,
and
I
can
probably
do
a
whole
TGI
k
on
the
cluster
api
moving
forward,
but
really
quick.
Let's
see
if
we
can't
get
an
h,
a
cluster
split
up
with
cops
just
for
grins
here
in
the
last
couple
of
minutes
and
then
I'll
do
some
questions
at
the
end
and
then
I
gotta
jump
off
here,
because
I'm
probably
gonna
be
way
over
time.
A
D
C
C
A
Yes,
this
and
now
clear
the
screen
rerun
our
cops
tweet
and
then.
A
Yes,
invalid,
but
os3
colon,
slash,
slash,
duh,
duh,
duh
I
knew
that
so
yeah
a
little
bit
of
configuration
going
on
here.
Ok,
so
now,
let's
do
our
cups,
we
cluster.
Yes,
ok!
So
that's
what
we
wanted,
so
the
yes
is
saying
not
only
delete
the
infrastructure
but
also
delete
the
concept
of
the
cluster
out
of
s3.
If
we
didn't
add
the
yes,
we
would
basically
have
only
deleted
the
infrastructure
and
still
stuck
with
the
concept
of
our
cluster
to
find
an
s3
which
is
useful
if
you
want
to
delete
recreate.
A
This
is
why,
in
the
cluster
API
and
in
Cuba
corn,
we
follow
the
same
concept
of
declaring
the
cluster
first
in
a
little
bit
different
ways,
but
it
does
give
you
the
flexibility
that
if
you
want
to
mutate
infrastructure,
it
doesn't
have
a
hard
dependency
on
the
infrastructure
being
in
place.
In
order
for
you
to
retain
your
concept
of
your
kubernetes
cluster.
In
this
case,
we
want
to
nuke
all
the
things.
So,
let's
nuke
all
the
things.
Ok,
so
why
that
deletes?
Let's
go
look
at
our
source
code.
A
A
It
used
to
be
in
like
up
up
and
a
long
long
ago.
Is
there
a
thing
in
here
called
up
up.
Nope
I
see
up
up
what
is
this
models
cloud
up
resources
add-ons?
This
is
all
of
our
resources.
Now,
okay,
so
we've
changed
quite
a
bit
here.
I,
wonder:
if
there's
still
is
there
there's
edit
I
wonder
if
there's
an
apply,
I
don't
see,
apply
where'd,
it
apply
that
go
good
go.
That
was
like
my
favorite
file
ever
okay.
A
So
anyway,
here
in
package,
we
have
all
of
these
different
components
that
we're
using
what
is
pretty.
Oh,
it
just
makes
things
pretty.
That's
cool
good
job
for
having
a
package
can
be
pretty,
but
this
does
bring
out
some
interesting
new
paradigms.
The
first
one
is,
we
have
up
up
here
and
then
we
have
cloud
up.
Where
did
we
see
cloud
up
before
our
node
up
and
cloud
up
here?
We
here,
it
is
there's
note
up.
Here's
up
up
and.
C
A
Okay,
this
is
totally
it,
so
this
is
the
heart
of
cops,
creating
infrastructure.
So
if
you
come
in
here,
you'll
notice,
we
have
this
big
struct
defined
up
here
at
the
top,
which
has
all
of
our
different
instance
groups
and
models
and
note
up
information
and
configure
information.
And
then
we
come
all
the
way
down
here
and
we
have
this
run
command
and
if
you
ever
wondered
how
reconciliation
works
in
cops
or
where
the
inspiration
for
cuba
corn
came
from,
and
then
therefore
the
inspiration
for
the
cluster
api.
A
A
lot
of
that
came
from
terraform
a
lot
of
the
terraform
stuff
came
from
here.
A
lot
of
it
was
trial
and
error.
It's
kind
of
this,
like
weird
hodgepodge
of
lessons
learned
in
cloud
native
infrastructure
over
the
past
couple
of
years,
and
this
is
a
very
like
important
function,
that
sort
of
like
taught
me
a
lot
and
then
I
sort
of
thought,
thought
about
it
and
redid
a
lot
of
things
that
I
wrote,
Cuba
corn,
but
if
you
ever
get
a
chance
to
come,
read
this
function.
This
is
a
really
good
one.
A
We
have
a
lot
of
different
phases
here.
Now
and
if
we
can
find
tasks,
this
is
a
sort
of
like
where
the
concept
of
resources
in
cuba
corn
came
from
and
where
I
first
started
looking
at,
how
do
we
map
an
abstraction
to
actual
infrastructure
behind
the
scenes?
So,
let's
see,
if
we
can
find,
we
have
types,
I
want
to
find
tasks.
We
have
SSH
keys.
A
This
is
where
we
do
like
our
big
switch
for
the
cloud
provider.
So
if
you're
running
in
oh,
if
you
want
to
see
which
cloud
providers
cloud
or
cop
supports
this
is
where
we're
gonna
find
out.
So
we
have
the
first
one
is
GCE.
We
have
cloud
provider,
digital
ocean
digital
ocean
is
not
currently
or
as
very
alpha.
It
is
feature
gated,
so
it
looks
like
very
limited
support
for
do.
A
Aws
the
one
we're
using
here,
I
told
you.
This
was
the
best
one
shooting
cops
cloud:
AWS,
here's
all
the
different
resources,
we're
creating
AWS
tasks,
okay,
so
for
every
cluster
we
need
to
create
all
these
tasks,
which
are
basically
API
calls
and
those
are
mapped
here
and
we
have
cloud
provider.
Al
I,
I,
don't
even
know
what
al
iCloud
is
but
looks
like.
We
have
some
support
for
that.
We
have
vSphere.
It's
as
vSphere
is
currently
alpha.
Bare
metal
bare
metal
is
currently
very
alpha.
A
Openstack
looks
like
there's
a
little
with
OpenStack
and
then,
if
not
it
says
cloud
provider
unknown.
So
what
this
means
to
me
is:
do
we
have
this
cloud
a
Li,
that's
currently
alpha
we
have
AWS,
which
is
the
one
we
just
did.
We
have
do,
which
is
very
alpha.
Tldr.
Most
of
these
are
alpha
other
than
AWS
and
I.
Think
GCE.
It
was
another
one
that
didn't
say:
I'll
fit
right
on
the
back.
So
anyway,
if
you're
ever
curious
know
even
GCE
says
alpha
Alibaba
Cloud,
Thank,
You
Ashish.
A
If
you
were
ever
curious
about
what
cops
dozen
doesn't
support,
you
can't
get
a
better
answer
than
looking
into
the
very
heart
of
apply
that
go,
the
the
core
of
the
reconciliation,
loop
or
cloud
up,
which
is
the
infrastructure
bits
and
note
up
that
we
looked
at
earlier
in
the
program,
which
is
the
kubernetes
bits.
So
anyway,
as
we
get
down
here
to
the
end,
we
have
models-
and
this
is
a
this
used
to
be
done.
A
different
way
using
the
ml
and
I
gave
a
whole
presentation
about
this.
A
I'd
go
for
comment
couple
years
ago,
but
now
we've
taken
the
yeah
mole
and
we
rewrote
that
as
models
and
still
kind
of
didn't,
get
it
quite
right
and
then
I.
Try
to
my
hand
at
it
in
cubic
horn,
using
like
a
resource,
digraph,
II
kind
of
thing,
kind
of
going
back
to
the
way
terraform
solved
it
and
that
kind
of
also
didn't
really
get
it
right.
And
so
now,
in
the
cluster
API
we've
taken
a
much
simpler
approach.
A
We've
done
just
some
very
simple
control
loops
and
we
say
that
how
you
map
a
higher
level
abstraction
to
your
specific
cloud
is
up
to
you
and
we
don't
really
prescribe
that.
So
what
is
happening
here
in
cops
is
we're
sort
of
crossing
the
boundary
that
we
drew
in
the
the
cluster
API
upstream.
So
no
cluster
API
says
this
is
the
responsibility
of
the
controller,
and
this
is
implementation
detail
and
here
in
cops.
A
We
sort
of
merge
that
into
the
rest
of
the
deployment
system,
and
we
now
have
to
build
out
all
of
these
different
models
where
we
take
like
a
higher
level
concept
that
says
like
SSH,
and
we
have
to
now
translate
that
to
a
key
pair
because
we're
in
Amazon
or
you
know,
Google
SSH
is
very
gender
as
yours.
That's
the
sage,
just
version
whatever.
A
So
this
is
a
great
example
of
you
know
where
we
draw
the
line
in
cluster
API,
where
we
did
it
in
cobs,
where
we
did
it
in
Cuba
corn,
pros
and
cons
to
each
one
of
those
things
along
the
way.
So
this
is
a
we're
almost
at
the
end
of
the
function.
Here
we
have
this
thing
called
target
and
if
you
run
target
in
cops,
you
can
like
spit
out
either
interacting
with
the
API.
You
can
I
think
generate.
Terraform
configuration
at
least
should
be
used
to
be
able
to
I
the
feeling.
A
This
is
what
we
were
talking
about
earlier,
with
generating
templates.
Its
target
is
sort
of
another
way
of
thinking
of
the
the
output
of
what
cops
should
do.
Yeah
see
here,
target
terraform,
so
this
is
just
going
to
generate
terraform
instead
of
actually
calling
an
API
for
us,
and
if
we
keep
scrolling
down
we
get
down
here,
we
run
some
tasks.
We
validate
the
cops
version,
we
do
more
validation,
we
print
some
stuff
out.
A
A
Out
go
the
the
core
of
the
cloud
up
part
of
bootstrapping
kubernetes,
interesting
lessons,
I
love,
this
file,
I
learned
so
much
from
it,
I
wouldn't
be
to
where
I
am
today.
If
it
wasn't
for
this
file,
but
it's
a
very
special
file
to
me
so
I'm
glad
we
got
to
look
at
it,
live
on
TGA,
ok,
so
yeah,
let's
see
if
we
can't
get
an
H
a
cluster
up
and
running
really
quick
just
for
grins,
so
we
should
be
able
to
do
our
and
I'm
gonna
exit
out
of
this.
A
Actually
that's
already
closed,
so
I'm
just
going
to
close
out
of
it
and
we
should
be
able
to
run
see
I
just
did
ctrl
L
gist.
Then
you
guys
didn't
even
notice.
We
should
be
able
to
run
our
create
command
again
and
this
time
just
add
a
few
more
zones.
So,
let's
find
our
create-
and
here
we
did
us
to
a
so.
Let's
do
us
west
to
be,
and
us.
A
A
So
now,
because
we've
created
different
zones,
we
have
to
have
different
subnets
and
so
there's
this
whole
networking
problem
that
goes
into
it
in
the
cluster
API.
We
do
have
explicit
networks
where,
as
cops
reason
about
that
for
us,
which
is
kind
of
convenient,
so
maybe
there's.
This
is
a
good
example
of
some
libraries.
We
can
start
thinking
about
as
the
cluster
API
matures
like.
A
Maybe
we
need
to
have
some
sort
of
cider
generation
library
like
does
some
of
this
like
noise
for
us,
and
maybe
we
can
get
some
of
this
code
from
tools
like
cops
or
key
popcorn
and
bring
it
into
these.
Excuse
me
upstream,
cluster
API
work
we're
doing,
but
there's
a
lot
of
good
functionality
baked
into
this.
That
I
want
to
call
attention
to
I
think
it's
just
the
way
it's
packaged
and
isn't
the
most
interface
able.
So
anyway,
if
we
go
back
in
the
source
code,
let's
see
if
I
can
find
us
off.
A
The
top
of
my
head,
I
might
not
be
able
to,
but
I
want
to
say,
I'm,
trying
to
think
what
I
could
grab
for
I
might
not
be
able
to
pull
this
one
off.
This
has
been
a
minute
since
I
looked
at
how
we
generate
API
or
not
API
IP
addresses,
so
is
there
an
API
server,
future
flag
format,
or
instance?
Grube's
keeps
version
not
seeing
anything
that
looks
very
Network
II.
A
A
If
we
actually
did
cubic,
don't
get
machines
using
the
cluster
API,
it
would
look
and
feel
a
little
something
like
this,
except
for,
instead
of
being
at
the
cluster
level,
would
be
at
the
Machine
level.
So
this
is
getting
the
clusters,
so
this
is
kind
of
a
cluster
registry
in
a
weird
way.
So
yeah
we
can
add
a
instance
groups
who
can
do
some
other
things,
but
what
I
want
to
do
is
I,
want
to
check,
Amazon
and
see
how
our
instances
are
doing
and
then
we're
to
look
at
our
control
planes
and
see.
A
If
we
have
an
H,
a
control
plane
up
and
running
so
and
again,
you
can
do
an
H,
a
control
plane
with
Q
Badman.
It
requires
a
little
more
elbow
grease,
but
we
could
totally
encapsulate
that
elbow
grease
into
a
controller
with
the
cluster
API.
If
we
want
it
to
so
yeah
Alex
we
have
one
master.
Why
do
I
only
see
one
master?
Oh,
those
are
terminated
Johnny
to
get
deployed
to
a
different
region.
Maybe
I
thought
I
did
uswest
do
I
you
do
to
a
yeah.
I
did
do
two
way.
A
Okay,
that's
why
so
nadir
says
something
like
net
outer
and
Ruby
is
very
good.
Those
RFC
35
31
subnet
allocation,
which
is
good
for
non
Kate's
infrastructure,
plus
one
totally
agreed
nadir.
I
think
you
know
if
we're
respecting
the
RFC,
you
35:31,
which
I
don't
know
off
the
top
of
my
head,
although
I
feel
like
I,
probably
should
I
think
any
sort
of
standardized
network
IP
library
would
be
really
handy
for
us
to
have
an
eight
and
I
know
that
we
solve
some
of
these
weird
problems
that
were
very
specific
to
each
cloud
in
cops.
A
That
I
would
like
to
see
in
a
library
as
well,
which
is
like
you
know
what
IP
address
key
makes
sense
for
us
to
use
an
Amazon
or
even
specific
regions
in
Amazon,
because
we
all
know
like
us,
East
one
I
think
is
like
trip
a
little
bit
different
than
all
the
other
regions,
so
we're
starting
to
get
some
the
cloud
provider
specific
stuff
going
on
there
and
I
think
just
in
the
cluster
API.
We
have
an
opportunity
to
kind
of
like
rethink
and
reimagine.
A
C
A
A
A
Be
like
that
took,
it
was
really
fast,
but
this
is
actually
gonna
go
and
create
infrastructure
in
bootstrap
kubernetes
for
us,
okay.
So
that's
why
I
couldn't
find
any
of
the
instances,
because
we
and
last
time
we
did
v10
and
this
time
we're
just
gonna
do
just
regular.
So
we
can
see
what
a
normal
cops
output
would
look
like
and
again.
This
is.
A
This
is
like
sort
of
like
the
preliminary
workings
of
a
rudimentary
infrastructure
controller
that
we
would
see
in
the
tool
like
the
cluster
API
that
we
saw
in
Cuba
corn
in
this
case
again,
I'm
gonna,
reiterate
this:
we
created
the
TLS,
we
threw
it
over
the
fence,
and
now
everything
is
sort
of
happening
behind
the
scenes,
which
is
good
because
it
gives
a
quick
exit
here.
We
sort
of
bail
out
quickly
here,
but
there's
a
lot
of
what
I
would
consider
possibly
abandon
work
going
on
magically.
A
You
need
of
us
behind
the
scenes
that
we
don't
really
have
visibility
into
anymore.
So
if
we
go
to
instances
like,
for
instance
like
what,
if
we
hit
a
limit
right
now
and
we
weren't
able
to
actually
bring
up
our
full
cluster
and
our
cluster
near
Burt
came
up
and
we
had
to
go
through
and
like
manually,
delete
stuff
like
there's
just
pros
and
cons
to
kind
of
doing
all
of
this
and
I'm
one
who
kind
of
prefers
to
do
things
slow
and
precise
instead
of
quick
and
hope
for
the
best.
A
So
now,
let's
go
back
to
our
region.
Here
he
was
West
I,
wonder
we're
gonna
see
him
here.
Yes,
we
do
so
yeah,
okay.
So
now
we
have
a
master
in
us
to
a
and
us
to
be,
and
I
bet
we're
gonna
see
one
in
US
West,
you
see
very
soon,
and
these
are
all
created
using
Auto
scale
groups,
which
is
how
we
were
able
to
do
this.
So
quickly
was
we
created
the
auto
scale
group
and
then
we
just
changed
it
from
two
to
one
and
so
on
and
so
forth.
A
We're
still
hanging
so
the
API
sir
president
come
up
yet
so,
let's
actually,
let's
see
if
we
can
see
any
of
the
slide,
but
I
could
be
fast
enough.
So
let's
grab
a
public
IP
address
SSH
admin
at
public
IP
address.
It
would
be
cool
if
we
could
actually
see
note
up
bootstrapping.
This
live
pseudo
bash,
clear,
a
screen,
tail
f,
VAR
log
cloud
in
it
output
dialog!
A
A
Is
a
tool
that
sort
of
solves
the
same
problems
of
the
cube
admin,
but
it
does
in
a
different
way
and
there
we
have
some
concerns
with
it
as
well,
specifically
around
how
far
away
it
falls
behind
kubernetes
upstream,
but
it
does
do
a
really
darn
good
job
at
bringing
up
in
a
cluster
for
us.
So
again,
I
think,
there's
like
some
some
pros
and
cons
to
this
and
I
think
you
know
cops
was
sort
of
the
pioneer
here
and
I.
A
A
A
So
we're
waiting
for
this
to
come
up.
It's
been
almost
an
hour
and
40
minutes.
I
gotta
get
out
of
here.
It's
Friday
I
got
an
interview
here
in
a
few
minutes.
I
gotta
take
so
it's
been
great.
Talking
about
cops
have
been
great
looking
at
some
of
the
old
source
code.
Thanks
for
joining
us,
everyone
feel
free
to
start
dropping
into
your
goodbyes.
Now
we're
gonna
wait
to
see
if
we
can't
get
this
cluster
to
come
up,
while
I'm
kind
of
giving
an
overview
of
everything.
A
We've
talked
about
and
we'll
do
one
more
sort
of
pro
and
con
of
cops
and
cuba,
corn
and
the
cluster
api
high-level
here
at
the
end,
why
we're
saying
our
goodbyes
and
all
I'll
get
off
the
air
here
in
the
next
couple
of
minutes,
and
while
I'm
doing
all
that
I'm
gonna
be
simultaneously
trying
to
get
nodes
from
our
highly
available
cluster
we
just
created
so
so.
Yeah
again
cops
was
one
of
the
big
pioneering
projects.
A
It
borrowed
a
lot
from
terraform
I
borrowed
a
lot
from
terraform
borrowed
a
lot
from
cops
when
I
created
cubic
horn-
and
you
know
after
writing.
The
book
and
really
exploring
the
space
you
know
it
sort
of
seemed
to
me
that,
having
a
really
clear
abstraction
between
the
infrastructure
bits
and
how
we
manage-
and
you
tape
those
and
then
the
actual
kubernetes
bits
and
how
we
managing
mutate,
those
are
very
important
to
keep
keep
those
concerns
separated.
A
And
we
see
that
in
the
cluster
API,
where
we
have
a
very
distinct
cluster
definition
and
then
a
very
distinct
machines
definition
as
well,
and
the
cluster
definition
is
all
the
kubernetes
layer
stuff
and
the
machines
is
all
of
this.
Like
underlying
infrastructure,
goop
underneath
and
you
know,
we
saw
that
cops
and
Kiba
corns,
both
provision
sure
as
well
as
kubernetes.
On
top,
we
see
the
implicitly
with
how
a
user
would
interface
with
cobs.
A
We
learned
about
the
different
types
of
data
stores
and
how
cops
uses
as
three,
but
how
Kiba
corn
uses
git
or
your
local
file
system
or
if
you
wanted
to
implement
any
store
on
your
own
and
then
we
compared
that
to
the
cluster
API
and
how
the
cluster
API
is,
are
using
kubernetes,
proper
primitives
and
actually
storing
them
as
aggrevated
API
server
objects
or
as
a
CID.
And
so
there's
a
lot
of
pros
and
cons
here
and
I.
Think
what's
important
to
know.
A
Is
that
like
there's,
no
right
way
to
do
this,
there's
good
things
and
bad
things
about
every
every
way
and
I
think
that
you
know
as
kubernetes
matures
and
as
the
infrastructure
space
matures
like
we're.
Gonna
start
getting
this
stuff
more
and
more
fleshed
out
and
we're
gonna
start
learning
about
the
boundaries.
And
that's
really
like
the
big
lesson.
A
I've
learned
in
the
infrastructure
spaces,
it's
less
about
the
ability
to
do
something
and
more
about
where
you
draw
the
boundaries
and
the
software
so
that
you
can
interface
with
different
components
of
the
infrastructure,
stuff
downstream
and
you're
not
crossing
over
and
mundane
stuff
together
and
I.
Feel
like
both
cops
and
Kiba
corn
kind
of
are
both
a
little
bit
guilty
of
munching
too
much
into
one
command
or
into
one
project
and
as
I
started,
trying
to
maintain
cubic
corn
over
the
past
year.
A
I
totally
got
my
like
hands
full
and
it
got
to
the
point
where
there
was
a
lot
going
on
here.
So
definitely
a
big
fan
of
keeping
the
controller
pattern
in
there
keeping
the
operator
pattern
in
there.
Definitely
a
big
fan
of
the
the
work
that's
been
in
cops
for
everything
from
the
cider
stuff.
We
talked
about
earlier
to
just
getting
it
right
and
being
the
first
of
its
kind
and
even
like
inventing
a
tool
like
node
up
when
there
was
nothing
else
there
just
to
keep.
You
know
users
using
kubernetes.
You
know
it's.
A
We
owe
a
lot
to
it
and
I
think
it's
important
to
bring
this
stuff
up
so
yeah.
That's
the
high-level
history
of
you
know
where
all
the
different
pieces
fit
in
how
I
got
involved
with
it,
where
we
are
today,
where
we're
going
in
the
future.
If
I
have
anything
to
do
with
it
anyway,
a
salute
strike.
It
notes
one
more
time:
poof
highly
available,
kubernetes
cluster
in
amazon,
so
yeah,
that's
all
I
have
for
today
it's
at
2:41.
A
A
Go
to
a
Phish
concert,
I'm
still
trying
to
figure
out
what
I'm
doing,
but,
let's
say
goodbyes.
Okay,
so
folks
are
saying:
there's
a
link.
Url
looks
like
somebody
pasted
in
there.
Sean
says,
have
a
good
weekend.
Marco
says
great
job.
Chris
Olaf
says
good
jobs,
always
Nicholas,
says
great
job
Chris
gives
us
thanks.
Pablo
says
things
Joe
says
for
people
who
want
up
their
terminal
game
with
sound
effects.
There's
a
way
you
can
do
that.
Abdennour
says
Chris,
awesome,
review
of
cops!
A
That's
why,
in
our
enterprise,
we're
not
able
to
move
easily
to
AWS
eks
after
seeing
cops
benefits
in
texting
sites
have
a
great
weekend
Chris.
So
yeah
thanks
everybody
and
again,
like
you,
know,
there's
there's
no
right
way
or
to
do
this.
There's
no
wrong
way
to
do
this.
There's
just
different
ways
to
do
this
and
yeah.
This
was
my
quick
and
dirty
overview
of
cops,
live
on
a
TTI,
K
Olaf
says:
take
a
hike,
it's
not
everything
to
say.
A
Actually,
it
is
to
me
because
I
do
not
identify
as
a
hiker
I
identify
as
a
climber,
but
my
hands
broken
so
I'll
be
doing
like
getting
away
with
it
by
calling
it
a
hike
but
really
I'm,
gonna.
Think
of
it
as
a
climb,
but
yeah
like
I'm,
very
worried
about
the
word
hiking
anyway,
more
on
that
later
too
different
to
gik,
it's
Friday,
I'm
gonna
get
out
of
here.
So
thanks
again
for
hanging
out
everyone,
we
love
seeing
you
here.