►
From YouTube: TGI Kubernetes 109: Kubernetes Dev Setup
Description
Come hang out with Duffie Cooley as he does a bit of hands on hacking of Kubernetes and related topics. Some of this will be Duffie talking about the things he knows. Some of this will be Duffie exploring something new with the audience. Come join the fun, ask questions, comment, and participate in the live chat!
let's take a look at a kubernetes developement environment!
A
This
episode
is
going
to
be
a
special
one,
we're
looking
forward
to
some
interesting
interaction
between
y'all
and
and
the
episode
here,
because
what
we're
gonna
be
doing
here
is
we're
gonna,
be
walking
through
how
to
go
about
contributing
to
kubernetes
and
contributing
to
kubernetes
means
a
lot
of
things
to
a
lot
of
people
and
we're
gonna
kind
of
be
bouncing
through
a
couple
of
those
examples
in
this
session.
So
let's
see
who
you
have
with
us
today,
all
right,
so
we
have
muzaffer.
B
A
A
B
A
Yeah
Sean,
lock
gobble
or
something
good
to
see
you
Rory,
where
is
a
good
friend,
I'm,
always
glad
to
see
him
in
person
whenever
I
see
him
I'm,
probably
glad
to
see
all
of
you
when
I
see
you
in
person,
we
got
Lu
Maddie
signing
in
hello
again
mr.
Lu
Matty
and
we
got
well
leads
and
happy
birthday
O'duffy.
Thank
you
very
much.
A
A
If
you
want
to
throw
a
reference
link
into
the
hack
md
this
week,
rich
for
your
links,
I'd
be
great,
is
lana.
The
notes
this
week,
of
course,
are
at
TGI
que
die,
o
slash
notes
at
rad
diamond
Oh,
Brad
signing
in
from
Fairfax
Virginia
how's
it
going
mr.
Brad
you
get
another
good
friend.
Brad
just
actually
had
a
wonderful
talk
at
RSA.
Just
recently,
they
talked
about
some
really
interesting.
Security,
stuff,
as
it
relates
to
kubernetes,
definitely
go
check
out
that
video
I
think
they're
all
out
now,
but
definitely
worth
checking
out.
A
Tim
Downey,
saying
hello
from
the
Bay
Area
good
to
see
you
Tim.
We
were
right
here
in
the
same
bay
area.
I
hope
that
everything's
going
well
with
you
and
Donovan
from
South
Africa
house.
It
is
a
way
actually
funny
it's
a
colloquialism
from
Hawaii
as
well.
So
that's
always
funny
to
see
to
see
that
stuff
Ian
from
Minneapolis
Alex
Barnes
from
Hotlanta.
Also,
you
know
where,
where
society
is
definitely
not
collapsing?
Well,
so
you
have
League
signing
in
from
Brooklyn.
We've
got
Rodolfo
ready
to
learn
antoine
from
paris,
scott
saying
hello
from
seattle.
A
Seattle
just
actually
had
a
bunch
of
the
schools
shut
down,
and
I
think
this
is
actually
starting
to
show
up
nationwide.
Now
I
don't
know
how
far
nationwide,
but
certainly
where
I
am
an
interview
of
the
other
places
that
I'm
aware
of
schools
are
starting
to
shut
down.
Apparently,
not
all
schools
are
doing
it,
but
you
know
a
bunch
of
a
mile.
A
We've
got
some
people
signing
in
from
Germany
from
Mexico
land
from
the
Netherland.
It's
good
to
see
you
all
Martin
Boardman,
raimundo,
Steve,
Snuka,
signing
in
Victor,
also
signing
in
wow.
It
kind
of
looked
bunch
of
really
good
participation.
In
this
episode
and
mr.
Jimmy
Carr,
at
least
from
Sweden
Simone
from
Gothenburg
Sweden.
We
got
dan
for
a
little
north
of
the
border
which
border,
though
I
wonder,
and
yet
teen
from
Ashburn
Virginia
got
prasad
from
switzerland
and
ian
from
wales
and
mystic
zero
97
from
france.
It's
good
to
see
you
all
glad
you're
here.
A
So
in
this
episode,
I'm
really
looking
for
some
interaction
right,
and
so,
if
you
actually
have
an
idea
or
something
that
you
would
like
to
share
that
as
a
tip
or
a
trick
as
it
relates
to
development
or
on
kubernetes
and
it's
complex
or
you
know,
if
it's
got,
if
it
involves
a
bunch
of
texts,
feel
free
to
throw
it
into
a
new
section
in
the
notes
or
if
that
doesn't
work
for
you.
What
you
could
do
is
put
this
up
in
a
gist
somewhere
and
then
link
to
that
gist.
A
Inside
of
the
notes
that
would
also
work
but
feel
free
to
share
your
tips
and
tricks
as
well
like
this,
isn't
just
about
my
tips
and
tricks.
This
is
about
we're
trying
to
cook
we're
trying
to
collate
out
of
this
like
a
reasonably
decent
selection
of
tips
and
tricks,
so
definitely
check
it
out.
Mr.
Magoo
say
hello
from
South
Carolina
and
Dennis,
saying
hello
from
Germany
good
to
see
you
all
all
right,
let's
jump
into
it
here,.
A
All
right
so
this
week
on
TGI
K,
dot,
io
/
notes,
I
found
this
great
image
for
the
episode.
I
was
really
happy
with
this,
because
I
was
like
it's
actually
the
13th,
it's
March
13th
today
and,
as
you
all
know,
it's
also
a
Friday,
but
we
won't
say
that
out
loud,
it's
just
Friday
and
March,
you
know,
and
then
so.
What
we
have
in
the
Week
in
Review
is
that
Kate's
118
is
now
in
beta
too.
So
it's
getting
pretty
close
to
a
release.
Getting
pretty
coming
right
up
on
it.
A
Debug
containers
have
landed
if
you're
interested
in
exploring
what
debug
containers
means,
there's
actually
a
going
to
be
a
an
alpha
command
in
cube
kettle
cuddle
or
Keitel
or,
however,
you
want
to
say
it
keep
CTL.
What
I'm
here
that
I'm
looking
to
hear
that
I'll
actually
describe
like
how
that
will
work,
but
it
will
actually
give
me
the
ability
to
spin
up
an
ephemeral
container
and
attach
it
to
an
existing
container
or
to
an
existing
pod.
I
should
say,
and
what
that
ephemeral
container
will
do.
A
A
So
when
you're
done
debugging,
obviously
that
pod
is
no
longer
like
the
other
pods
in
this
set,
whether
that
is
a
deployment
or
a
daemon
set,
or
what
have
you
and
the
I
think
the
implicit
expectation
is
that
you
will
kill
that
pod
and
have
a
new
one
come
up
that
doesn't
have
all
of
your
debug
stuff
associated,
so
I
mean
definitely
check
that
out.
It's
a
really
interesting
new
feature
and
it
enables
kind
of
like
a
broader
use
of
things
like
you
know,
from
scratch,
or
from
what
does
Cooper
need
is.
A
So
what
is
the
Google
image
thing?
It's
like
they've
got.
Some
they've
got
some
really
good.
Oh
distro
lists
the
kubernetes
distro
or
the
google
distro
list
stuff,
which
basically
means
that
you're
able
to
compile
your
application
into
a
container
without
a
shell
like
there's,
no
bash
or
any
of
that
stuff,
which
is
that
I
mean
from
an
operator
or
maybe
like
from
a
systems
administrators
perspective,
it's
kind
of
scary
right,
cuz,
like
you,
can't
really
exact
into
something
that
doesn't
have
a
shell.
How
are
you
going
to
troubleshoot
this
when
it's
not
working
well?
A
This
is
actually
one
of
the
ways
that
we're
lucky
trying
to
actually
solve
that
with
a
project
right.
So
with
cube
kettle
alpha
debug
you'll
be
able
to
actually
attach
another
container
in
inside
of
an
existing
running
pod.
That
actually
has
those
tools
so
that
you're
not
just
like
lying
around
for
anybody,
including
packers
to
use
which
is
pretty
darn
cool,
so
definitely
check
that
out.
We've
got
Jimmy
signing
in
how
you
doing
Jimmy
we
got
Saran
from
Roskilde
Denmark.
A
We
got
Vai
bava
bava
from
India
good
to
see
you
Mohamed
from
Morocco
all
right,
Jimmy,
okay,
don't
be
showing
off
now
I'm
kidding.
You
got
Mike
how
you
and
mr.
Mike
good
to
see
you.
We've
got
salt
from
Finland,
saying
hello
and
Dennis
from
Germany
and
blouse
from
Hungary
got
a
worldwide
turnout
here.
It's
really
awesome.
A
So
the
link
for
that
these
are
the
release,
notes
and
stuff.
So,
if
you're
interested
in
following
what's
happening
with
the
release,
like
every
beta,
we'll
actually
have
some
more
output,
and
these
things
are
good
things
to
keep
a
track
of
if
you're,
if
you're,
looking
to
make
a
new
riff
you're,
looking
to
make
the
jump
to
a
newer
version
of
kubernetes,
so
definitely
check
those
out.
A
A
What
else
did
I
link
out
here?
The
cakes
ecosystem
George
put
this
up,
and
he
showed
this
to
me
like
last
week.
I
think
really
kind
of
impressed
with
it.
So
what
this
does
so,
obviously
you
know
trying
to
solve
what's
happening
with
Koba
19
is
it's
on
everybody's
mind,
right
and
so
with.
The
idea
of
this
is
to
basically,
you
know,
enable
you
to
contribute
computing
resources
to
solving.
A
You
know
some
of
the
some
of
the
compute
challenges
around
trying
to
diagnose,
what's
happening
with
code
19
like
what
is
it,
how
can
we
bottle
it
like
all
that
good
stuff,
and
so,
if
you're
interested
in
that,
you
can
check
out
the
folding
at
home
project
just
online,
but
if
you're
interested
in
maybe
just
deploying
something
that
will
contribute
some
compute
time
go
ahead
and
deploy
this.
The
neat
thing
here
is
that
it
does
actually
describe
what
the
default
is
right.
A
So
it's
one
CPU
core
for
every
pod,
and
so
it
is
limited
and
it's
actually
going
to
deploy
two
replicas
and
you
can
adjust
that
this
is
what
the
manifest
looks
like
and
so
just
like,
they
were
saying
it's
actually
gonna,
give
it
256,
gig
or
megabytes
of
memory.
It's
gonna,
give
it
100,
milliliters
requests
and
limits
are
not
matching,
so
you
actually
have
some
some
flexibility
there.
A
A
Like
using
compute
for
good
I,
like
it
play
a
supervillain
with
cube
Thanos,
what's
that,
let's
check
this
out
so
cube,
Thanos
kills.
Half
your
pods
randomly
to
engineer.
Chaos
in
your
preferred
environment
gives
you
the
opportunity
to
see
how
your
system
behaves
under
failures.
That's
pretty
wild
yeah
asses
chaos
is
a
really
interesting
idea
to
me
and
I.
Don't
know,
I'm,
not
sure,
if
I'm
completely
on
board
with
this
particular
plan,
because
what
this
is
going
to
do
is
you
know,
just
kill
off
half,
and
so
there
might
be
some
really
interesting
up.
A
What's
of
that,
but
one
of
the
things
about
chaos,
engineering
that
I
think
is
really
probably
the
most
powerful
is
understanding
like
what
it
is
you're
gonna
test
right
so
like
I,
think
of
it
sometimes
as
bringing
the
science
to
computer
science
right.
If
the
idea
is
you
know,
you
develop
a
theory
you're
developing
some
web
service
and
you
like,
okay,
well,
you
know
if
the
database
were
to
suddenly
increase
latency
significantly,
would
it
completely
kill
my
application?
A
What
would
the
actual
failure
look
like,
let's
find
out
right,
and
then
you
actually
develop
you
work
with
a
framework
that
actually
provides
you
the
ability
to
go
ahead
and
test
that,
and
then
you,
you
know,
validate
what
that's
gonna
look
like
in
real,
and
you
know
in
in
reality
and
then
figure
out
like
okay.
Well,
now
that
we
know
that,
like
what
can
we
do
to
actually
improve
the
situation
like
with
a
suit,
what
a
circuit
breaker
pattern
or
something
like
a
hat
and
my
code
work
to
improve
it
like
what
are
the?
A
A
You
know
effectively
incentivize
people
to
come
up
with
theories
about
the
way
that
things
break
validate
those
theories
learn
from
them
and
then
you
know
make
sure
that
you're
leveraging
that
same,
you
know
experiment
to
validate
the
mitigation
right
so
that
you
can
kind
of
go
back
through
it
over
and
over
again,
so
I
think
that's
actually
pretty
cool.
So
that's
all
we
were
gonna
cover
in
the
Week
in
Review.
Let's
get
down
into
what's
gonna
happen
here,
so
this
is
a
over
lot.
A
Go
about
setting
up
a
local
kubernetes,
a
local
development
environment
for
kubernetes,
and
so
the
goal
of
this
document
is
to
actual
order.
The
goal
of
this
episode
is
to
actually
come
up
with
what
a
reasonable
document
would
look
like,
and
so
George
is
actually
going
to
be
taking
a
lot
of
good
notes
as
I
go
through
this
process
and
if
you
have
ideas
again,
feel
free
to
link
them
in
or
throw
them
into
the
chat,
or
you
know
make
sure
that
you
put
them
into
the
notes,
if
you're
interested
in
doing
that.
A
But
this
is
a
community
based
channel
and
I'm
like
looking
for
your
input
and
you
know
feel
free
to
throw
it
in
there
and
how
can
be
just
upgraded
so
they
could
probably
handle
the
load.
So
before
we
get
into
that,
though,
there
are
a
couple
things
I
want
to
cover,
just
in
general
as
we
talk
about
contributions.
So,
let's
start
there.
A
So
contribution
to
kubernetes
is
more
than
just
is
just
it's
more
than
just
contributing
code
right
contribution
to
kubernetes
could
be
that
you're
out
here
on
tgia
and
you're,
like
helping
people
understand
how
things
work
or
you're
going
through
or
or
you're
in
your
local
meetup.
You
know
doing
a
talk
on
the
issue
or
one
of
the
other
ecosystem
projects
or
you're.
Sharing
your
knowledge
right
like
there
is
a
ton
of
ways
that
there
are
a
ton
of
ways
that
you
can
measure
contribution
to
kubernetes.
A
So
contribution
isn't
just
code.
It's
also
contributing
your
knowledge.
It's
also
contributing
it's
opening
bugs
it's
testing
things
right
there,
your
link
to
a
couple
of
websites
that
you
can
actually
go,
engage
on
right
if
you're,
engaging
in
slack
and
helping
people
solve
problems
that
they're
having
with
kubernetes.
A
It's
not
just
code.
I
know
that
sometimes
code
can
feel
like
a
very
high
barrier
of
entry
when
it
comes
to
a
project
like
kubernetes,
it's
such
a
fast-moving
project
that
you
might
feel
overwhelmed
or
or
or
that,
maybe
you
don't
have
the
right
skills
or
whatever,
to
contribute,
but
remember
that
everybody
has
those
skills
right.
You
have
those
skills.
Those
skills
could
be
just
helping.
Somebody
else
understand
a
problem.
Those
skills
could
be
improving
the
documentation.
Those
skills
could
be
helping
translate
the
documentation
into
the
language
that
you
speak.
A
Let's
get
into
one
of
my
one
of
my
favorite
entry
points
into
contributing
to
kubernetes
is
Doc's
Doc's
just
need.
We
need
more
people
on
Doc's.
We
need
more
people
like
helping
to
explain,
what's
happening
or
or
contributing
to
things
and
contributing
to
Doc's.
It's
actually
significantly.
It
has
a
pretty
significantly
low
overhead
right.
A
Like
you're,
you
don't
necessarily
have
to
know
everything
about,
go
or
or
even
understand
the
codebase
terribly
well
because
what's
happening
here,
is
that
you're
trying
to
basically
express
your
understanding
of
a
thing
in
terms
that
people
who
are
just
coming
to
the
project
can
help
understand
that
can
understand
it,
or
maybe
you
want
to
put
up
a
blog
post.
It
has
a
you
know
that
talks
about
a
use
case,
or
you
know
someone
some
new
feature.
That's
coming
out
right.
A
So,
like
there's
a
new
feature
coming
out
in
queue,
petal
debug
containers,
I,
don't
know
if
there's
a
blog
post
associated
with
it
yet
or
not,
but
like
that
could
be
your
contribution,
explore
that
capability
and
like
put
up
a
blog
post
for
it.
So
inside
of
here
they
actually
describe
content
guidelines
style
guidelines.
They
give
you
some
page
templates
that
give
you
Hugo
shortcuts
and
there's
also
fixing
actionable
issues
right
so
like
you
can
actually
go
into
the
the
issues
that
are
available.
A
Inside
of
any
of
the
inside
of
any
of
the
sub
projects
within
kubernetes,
and
look
for
good
first
issue
or
help
want
it,
let's
see
if
we
can
find
one
here
there
we
go
help
on
it
OOP
you
click
on
that
tag
where
it
says,
help
want
it
right,
and
so
now
we're
in
the
kubernetes
website
sub
project
within
the
github
within
github.
We
click
on
Help
Wanted,
and
we
can
see
that
all
of
these
issues
are
currently
open.
A
A
All
right
here
we
have
58
open,
help-wanted
and
a
bunch
of
good
first
issues
on
the
kubernetes
kubernetes
repo
right,
and
so,
if
you're
interested
in
actually
jumping
in
and
helping
to
contribute
to
kubernetes.
These
are
some
great
entry
points
you
know
and
just
to
be
really
clear.
Just
you
know
a
little
history,
so
we
don't
like
to
lose
people
if
you
go
to
github.com,
slash
kubernetes
you're
gonna
find
it
like
that's
the
kind
of
like
the
parent
organization
for
all
of
the
projects
within
kubernetes.
The
main
codebase
is
held
inside
of
the
kubernetes
project.
A
There's
an
enhancement
project
that
describes
like
how
we
actually
want
to
you
know,
develop
new
features
or
deliver
on
new
features
with
relation
to
it.
The
community
sub
project
is
a
great
one
to
also
get
involved
in.
This
is
where
you
can
go
to
learn
more
about
the
special
interest
groups
that
are
associated
with
kubernetes
and
those
sorts
of
things.
Community
also
has
a
really
great
piece
that
talks
about
contribution
and
we'll
talk
about
that
here
in
a
second
the
website.
This
is
where
all
of
our
Doc's
are
held.
A
This
is
like
where
you
can
actually
help
kind
of
explain
how
things
are
done.
Examples
are,
like
example,
tutorials
and
those
sorts
of
things
so
feel
free
to
jump
in
and
like
and
I
look
for
good
first
issues
or
Help
Wanted
in
any
of
these
and
see
and
see
what's
possible.
Obviously
some
will
have
more
Help
Wanted
within
others.
Like
website,
definitely
will
have
a
ton.
Kubernetes
will
have
a
ton.
Community
probably
has
a
bunch.
Testing
for
I
think
might
or
might
not
have
some
but
definitely
check
it
out.
It's
a
great
great
first
entry.
A
Okay,
so
like
it
could
be
as
simple
as
this
right
so
here
we
can
see
that
there
is
a
URL
and
I'm
actually
planning
on
putting
in
a
pull
request
for
this
one,
and
we
might
just
do
that
that
describes
how
to
go
ahead
and
get
the
the
cube
kettle
or
binary
from
from
the
storage
location
that
it's
in
right.
Now,
it's
alright!
Now
it's
under
storage,
like
Google
API,
is
calm,
slash
Cooper,
you
need
its
release,
but
we
have
a
shortcode
for
that.
Right
like
this.
A
This
URL
is
actually
also
inside
of
our
kubernetes
inside
of
our
kubernetes
documentation.
We
also
refer
to
this
as
DL
dot
K
it's
to
I/o.
So
if
I
wanted
to
make
a
change
to
this
right,
I
can
go
ahead
and
click
on
this
pencil
up
here
and
then
everywhere.
I
see,
storage,
dot,
Google
API
is
not
release
these
things
right,
because
I
know
that
DL
Katie
it's
the
IO
is
a
thing.
I
could
go
ahead
and
make
that
change.
A
So
I
can
go
through
here
and
actually
find
everywhere.
There's
an
input
everywhere,
there's
a
link
to
storage
like
Google,
api's,
calm
and
then
change
that
link
to
d8
style,
validate
that
my
new
change
works
right
and
then,
if
that
does
work,
then
I
can
go
ahead
and
contribute
that
that
code,
if
I
see
a
typo
or
a
changes
and
Doc's
that
actually
can
be
improved,
obviously
try
and
find
more
than
just
one
typo
but,
like
you
know
like
try
to
find
something
material
that
you
could
change
like.
A
Don't
don't
add
a
period
if
there's
a
missing
period
but,
like
you
know,
trying
to
find,
like
you
know,
go
through
like
I,
said
other
documentation
and
try
and
find
a
few
mistakes
so
that
your
contribution
is
like
more
than
just
one
character
like
get
out
there
and
do
a
little
more
than
that
but
like.
But
you
can
see
how
that
would
be
useful
right.
A
So
like
I
mean
literally,
that
could
be
super
helpful
and
that's
why
I'm
talking
to
you
today.
So
now,
let's
talk
about
like
how
to
contribute
to
the
codebase.
You
know
these
are
some
of
the
other.
You
know
some
of
the
kind
of
I
guess
higher
profile
contributions
and
and
it's
sort
of
like
the
what
people
think
of
as
the
norm.
B
A
Me,
the
Koopa
today's
community
project
on
on
github.
We
can
find
the
contributor
section
and
then
there's
a
guide
section,
and
this
cheat
sheet
here,
which
I
think
is
probably
linked
in
a
more
useful
way,
actually
describes
like
some
pretty
interesting
stuff,
as
it
relates
to
how
you
can
go
about
setting
about
contributing
to
kubernetes.
Right
and
again,
it
describes
like
there
is
a
bunch
of
different
ways
you
can
contribute,
including
code
and,
if
you're
gonna
develop
if
you're
gonna
contribute
code,
there
are
some
things
that
you
need
to
do
before
you
get
started.
A
This
isn't
a
big
one.
This
is
a
big
one.
You
need
to
sign
the
contributor
license
agreement
for
kubernetes.
Now,
typically,
you
can
sign
that
as
a
organization
or
as
a
person,
depending
on
your
on
who
you
work
for
and
what
their
local
rules
are.
So
here
at
VMware
I
actually
have
two
I'm.
My
current
CLA
is
under
VMware's
company
license
and
I
have
to
actually
make
sure
that
I
can
contribute
to
that
open-source
project
as
a
VMware
employee.
A
That
may
be
true
for
many
of
you
as
well,
but
in
some
cases
it
may
not
be
then
we're
going
to
set
up
your
local
development
environment
and
that's
actually
where
we're
gonna
play
with
here.
So
we're
gonna
go
check
that
one
out
and
then
the
community
expectations
and
roles
and
how
community
membership
stuff
works
definitely
check.
It.
Take
a
look
at
these
two
documents
as
well.
A
Alrighty
so
now
we're
gonna
look
at
like
how
did
we
set
up
the
development
environment,
so
that
was
all
the
preamble
now
we're
going
to
start
playing
with
the
development
environment?
Let's
get
this
started
here,
so
the
document
that
mr.
George
put
it
put
in
for
us
has
kind
of
a
wild
set
of
requirements.
A
A
A
A
A
Prerequisites
are
get
docker
and
go,
and
those
are
those
are
the
big
three
right
like
we
don't
really
need
much
more
than
that.
You
can
actually
have
this
running
on
a
Mac.
You
can
have
it
running
on
Linux.
You
can
have
it
running
in
Windows.
Obviously,
a
Linux
environment
is
a
little
easier
to
deal
with,
but
when
we
think
about
the
way,
that
kind
is
actually
going
to
abstract
a
lot
of
the
work
for
us.
It's
actually
not
like
a
hard
requirement
that
you
have
some
sort
of
a
terminal
to
do
these
things.
A
Actually,
let's
go
back
to
the
note,
sir
real
quick
and
make
sure
I'm
not
missing
anything
house.
They're
already
doing
in
the
chat
get
Sebastian
from
tortoise.
We
got
Mohamed
from
Jordan,
pretty
high
number
of
viewers.
Yeah
lots
of
people
check
it
out.
Checking
in
today,
which
is
awesome,
yeah,
Home,
Office,
there's
gonna
be
a
big
part
of
it.
Don't
shut
your
face,
you're,
not
my
real
dad
I'm
touching
my
face.
I'm
kidding,
we
got
slack
server,
I!
Believe
it's
yeah
there
we
go
Jimmy
angel.
Thank
you,
sir
q
Benitez
knocks
line
code.
A
We
have
ahmed
from
egypt.
We
got
Jim
talking
about
Italian,
saying
kubernetes
is
inside
of
this
slack
kh2
io.
You
can
go
to
kubernetes
knock
it.
We've
got
Rory,
saying
hello
or
you
know,
sharing
his
care
for
kind,
which
I
agree
and
Rodolfo
saying.
Thank
you
to
Jim
all
right.
So,
let's
keep
going
here.
A
So
this
is
my
Linux
terminal
and
I've
got
my
like
pretty
background
and
stuff,
and
so
what's
it
and
board
it's
over
to
walk
through
here
is
like
the
prerequisite.
So
the
first
thing
I'm
going
to
assume
you
have
is
that
I'm
assuming
you're
gonna
have
get
right
and
you
can
install
get
like
through
on
Mac.
You
can
install
it
through,
like
the
anybody,
want
to
remind
me
of
what
the
tools
are
for
Mac.
A
It's
like
a
thing
you
could
download
that
you
know,
allows
you
to
develop
things
or
probably
show
up
in
the
chat
any
second
now,
but
if
you
have
that
installed,
Bruno
brew
is
actually
a
big
part
of
it,
but
brew
actually
also
inquires.
It
requires
this
other
thing,
which
is
like
the
dev
tools
for
Mac,
but
I
can't
read
what
it's
called
brew
is
a
big
part
of
it.
Yes,
yes,
homebrew
yeah
with
you
so
far,
but
there's
another
part
Xcode.
A
Yes,
so
like
getting
a
recent
version
of
getting
a
reasonable
version
of
git
is
important
and
you
can
do
that
through
Xcode,
and
you
can
also
do
that
through
a
variety
from
ways.
But
I'm
gonna
leave
that
to
you
to
like
Google
search
how
to
get
to
get.
It
is
an
important
one.
You
will
likely
already
have
it
if
you're
considering
a
contribution
but
get
is
super
important.
A
1910
on
this
machine
and
it's
actually
a
mate
desktop
and
I
did
that
because
I
really,
like
my
you
know,
my
wobbly
windows
I'm
a
little
old
school
that
way
there,
we
go
I,
love,
Linux,
alright,.
A
So
yeah
that's
just
mean
so
other
things
I'm
using
it.
For
my
environment,
I
mean
I'm
using
power
line,
go
to
actually
set
up.
My
my
power,
my
prompt
power
line.
Go
is
really
awesome.
Power
line.
Google
lets
me.
Do
things
like
understand
what
kübra,
in
this
context,
I'm
in
weather
I
actually
have
anything
to
commit.
It
does
a
bunch
of
other
neat
things
I'm
using
a
dell
LS
HW.
A
A
A
A
A
A
M
hook
that
I'm
using
to
load
this
and
that
that
means
that
whenever
I
see
a
file
that
der
M
will
actually
manage
that
it
will
actually
take
care
of
it.
So
the
first
thing
we're
gonna
do
is
we're
gonna
install
go
because
we're
gonna
need
go.
So
let's
do
that
and
we're
gonna
use
dear
m
to
do
that
now.
A
Originally,
when
trying
to
build
stuff
in
a
CI
environment,
but
I've
actually
been
using
it
locally
inside
of
my
Linux
environment,
and
you
can
run
this
I
think
in
Mac
or
OA.
You
know
it's
part
of
homebrew,
so
brew,
install
gimme
will
get
you
there.
It's
actually
also,
it's
also
just
a
bash
script,
so
you
can
actually
just
grab
the
bash
script
and
pull
it
down
locally.
So
let's
go
ahead
and
do
that.
A
A
Big
dear
Ben,
Ben
give
me
so
I
didn't
sign
up
my
directory
now
I
have
a
bin
directory,
and
if
we
look
inside
there
we
can
see
Jimmy
and
it's
already
set
to
executive
mode
right,
so
I've
actually
downloaded
that
bash
script.
And
if
we
take
a
look
at
that
bash
script,
if
you're
curious
about
it,
this
is
basically
going
to
use
bash
to
download
a
lit
the
a
burden
of
of
go,
and
so,
if
I
do
help
it'll
give
me
lots
of
output.
A
That
is
useful
to
me,
but
really
the
end
of
the
the
most
important
bit
is
that
it's
actually
going
to
set
in
a
bunch
of
environment
variables
and
download
and
make
available
gimme
in
such
a
way
that
I
go
a
download
of
go
that
I
can
use
locally
right.
So
if
I
do
go
version
right
now,
it's
like
it's
inherited.
So
let's
do
move,
and
just
ignore
me
for
just
a
moment.
A
Okay,
so
if
I
do
go
version
right
now,
I
find
that
I
don't
have
go
installed
and
I
don't
want
to
necessarily
install
the
version
of
go.
That
is
a
part
of
Ubuntu
I'd,
rather
use
like
one
that
I
can
flexibly
change
and
so
I'm
going
to
use
gimme
to
do
that,
and
so
now,
if
I
export
gimme
into
my
path
right
so
I
do
export
path,
equals
path.
A
A
There
we
go
so
now
we
can
see
the
the
the
gimme
binary
or
the
shell
script
is
being
loaded
from
my
TGI
K
directory
and
I'm
gonna
upload
all
this.
This
is
why
I'm
doing
it
all
inside
of
a
directory
so
that
you
can
actually
see
this
after
we're
done
alright.
So
now
my
path
is
set
and
the
way
that
I
did
that
again
was
just
by
exporting
my
path,
my
existing
path
and
then
appending
my
bin
directory
to
it,
and
this
is
going
to
be
true
for
Mac.
A
A
And
what
we're
gonna
do
is
we're
going
to
export
our
path,
they're
able
to
include
the
bin
directory
inside
the
directory,
we're
in
and
then
dear
m,
because
of
that
dear
m
hook,
that
I
showed
you
in
the
bash
RC
earlier
right.
It
will
say
there
is
an
in
VAR
c
here,
but
nobody
has
explicitly
allowed
it.
So
I'm
not
going
to
load
it
just
in
case
there's
some
shady
stuff
inside
there
right
and
so
because
we
just
wrote
it.
A
We
know
it's
not
shady,
so
let's
go
ahead
and
allow
it
actually
kind
of
a
cool
safety
feature,
the
dear
M
bass,
and
now
we
can
see
that
the
path
is
set
right.
So
now,
if
we
do
echo
path,
we
can
see
T
gik
bin.
Is
there
and
that's
awesome.
So
now
we
can
do
which
give
me
again,
and
we
can
see
that
it's
there
so
now
we're
going
to
go
ahead
and
install
a
version
of
go
right,
so
we're
gonna
do
gimme.
A
Yeah
until
nicks
they're
making
me
nuts
but
I'm
back
now,
I
think
sorry
about
that.
So
stay
with
me.
So
these
are
a
bunch
of
environment
variables
that
we
can
see
that
were
that
are
the
output
of
gimme
and
I'm.
Actually
gonna
go
ahead
and
I
hope
you
didn't
miss
anything
might
be,
they
can
be
stable.
Is
using
all
my
bandwidth,
that's
true!
A
And
we
saw
immediately
that
the
N
varsity
is
blocked
because
it
changed
and
then
we
need
to
go
ahead
and
throw
Dieruff
allow
in
there
right.
So
we
do
D
ramble
ow,
and
now
we
have
a
bunch
more
variables
right.
We
can
see
the
gimme
hem
and
the
go
route
is
set
now.
There's
one
more
thing:
I
want
to
set
here
to
basically
make
my
life
a
little
easier,
let's
jump
into
the
N
bar
C.
B
A
So
now
I
might
go
pass
a
set
to
my
local,
my
working
directory
inside
of
go
right.
So
if
I
do
mic
dear
go
so
now,
I
have
my
bin
and
I.
Have
my
go
and
I
have
everything
I
need
to
actually
get
started
here
right,
so
I've
already
got
docker
running
I've
already
got
get
now
we
were
ready
to
start
checking
out
some
code,
so
you
all
can
see
me
now
right
can
I
get
some
thumbs
up.
Oh.
A
All
right
so
we're
all
fixed
up
now
right,
no
more
typos,
we're
all
good.
Thank
you
all
right.
Okay,
so
now
we
got
all
that
stuff
set
up.
We
have,
we
already
had
get.
We
already
had
docker
and
now
we
have
go,
and
the
neat
thing
about
this
is
that
if
you
wanted
to
pick
a
specific
version
like
say
you're
working
with
a
project
that
requires
a
specific
version
of
go,
then
you
can
actually
you
can
actually
handle
that
with
gimmie
right.
So
you
can
actually
say.
A
A
If
you
don't
specify
it
I
think
it
turns
out
to
be
your
like
home
go
directory
and
there
are
things
about,
go
modules
that
are
kind
of
hateful
about
that,
like
you
actually
have
to
be
really
careful
about
making
sure
that
you
specify
that
correctly.
So
there
we
go,
we
got
that.
What
was
the
other
thing
I
wanted
to
check.
I
wanted
to
so
we
got
go
version
working,
but
what
I
was
noticing
was
gimme
K
all
right.
A
So
there
we
go
so
now
we
can
see
all
the
versions
of
go
that
gimme
can
go
and
get
right.
It
can
go
and
get
all
from
1.2
all
the
way
up
to
114,
and
if
we
do
gimme
L,
we
can
see
that
the
current
version
is
114.
So
this
is
what
this
is.
What
gimme
provides
for
us
and
I
really
love
that
functionality?
It's
really
it's
really
really.
Cool
I
actually
have
113
v
locally
and
114,
and
the
current
version
that
I
have
in
this
particular
directory
is
114
all
right.
So
there
we
go.
A
A
Dear
below
Google
version,
oh
yeah
go
go
pass
working.
Thank
you
very
much.
Alright,
so
give
me
works
and
you
can
use
gimme
to
install
on
a
Mac
or
on
a
Linux
machine,
and
hopefully,
if
you're
gonna
be
on
a
Windows
machine.
You
could
use
WSL
too
and
just
do
that
stuff
inside
there.
Alright.
So
there
we
go
so
now
we
have
go,
we
have
get.
We
have
docker.
We
are
ready
to
do
some
interesting
stuff.
A
So
the
first
thing
we're
gonna
do
is
we're
gonna
check
out
the
kubernetes
codebase,
so
let's
go
and
do
that.
So
let's
do
go
get,
and
this
is
an
interesting
thing.
You
might
think
that
the
next
thing
I'm
gonna
type
here
is
github.com
kubernetes
kubernetes,
and
you
would
think
that
because,
when
I
go
to
github,
that's
actually
where
I
go
and
find
the
codes
the
code
base,
but
in
fact
I
don't
do
that.
Instead,
what
I
do
is
this.
A
A
So
what
this
is
gonna
allow
me
to
do.
Oh
cool
all
right,
so
what
this
thing's
not
allowed
me
to
do
is
gonna
download
the
Cooper
needed
source
code
right
into
my
local
directory
here
inside
of
TGK,
and
that
will
allow
me
to
so
look
at
that
code
that
source
code
and
play
with
it
then
we're
gonna
play
it.
We're
gonna
talk
a
little
bit
about
like
we're
gonna
play
with
that
source
code
and
kind
of
build
it
locally,
and
do
all
that
kind
of
stuff
so
bear
with
us
here.
A
A
A
Source
code,
it
doesn't
it
takes
you
to
the
documentation,
which
I
guess
is
good
enough.
So
so
this
is
our
source
code
and
the
thing
I
want
to
show
you
is
like.
So
if
we
pull
in
the
command
directory
where
a
lot
of
the
commands
and
stuff
are,
we
pop
open,
cube
petal
here
and
we
look
at
that
cube,
petal
go
file
and
we
look
at
the
imports.
A
This
is
actually
where
that
comes
from
right.
We
can
see
that
that
import
inside
of
our
go.
It's
that
go
import.
That's
sitting
inside
of
this
file
is
KH
die,
o
/q
canola,
slash
package,
and
you
know
the
the
other
part
of
the
import
is
K.
It's
the
I/o
kubernetes
package
cube
petal
CMB
now
mapping
this
in
your
head,
what's
actually
happening
here.
Is
that
there's
going
to
be
a
sub
project
underneath
the
kubernetes
umbrella
inside
of
inside
of
github
that
it's
gonna
be
the
cube
code
on
one
right.
A
A
Util
logs
right,
and
so
that
is
the
thing
that
we
just
imported
into
that
other
piece
right.
So
when
you're,
when
you're
looking
at
the
source
code-
and
you
see
an
import
that
says
kate's
IO,
what
that
means
is
github
kubernetes
and
anything
that
happens
after
k8
Co
will
actually
point
to
whatever
that
next
reference
is
right.
A
So
I
hope
that
explains
like
at
least
how
to
think
about
that
import
pass
I
know
could
be
a
little
confusing
at
first,
but
when
you're
looking
at
the
code
base
or
when
you're
looking
at
actually
like
pulling
into
other
dependencies,
not
only
just
for
within
kubernetes
but
also
like
say
if
you're
gonna
develop
an
operator
or
any
of
that
other
stuff
right,
you
have.
You
have
to
kind
of
understand
how
that
maps,
so
that
it'll
make
a
little
bit
more
sense
and
where
you
can
actually
go
get
that
stuff.
A
A
A
A
Okay,
so
now,
if
we
go,
if
we
do,
which
kind
we
can
see
that
kind,
the
binary
is
in
underneath
Arco
bin
directory,
so
we're
all
still
encapsulated
right
here
in
this
directory
and
that
FRC
basically
handles
that
all
for
us
right.
So
now
we
got
our
local
stuff,
they've
got
kind
installed,
we've
got
go
installed,
we've
used
to
go
to
download
and
compile
kind
right.
We
just
did
that
when
we
did
the
when
we
did
the
go
get
of
cigs
saccades
io
/
kind.
A
We
downloaded
the
kind
source
code
and
we
also
built
the
binary
now,
and
we've
also
just
put
that
binary
into
our
path.
Now
the
next
thing
I
want
to
show
you
is
let's
look
at
that
source
code
and
understand
how
that's
going
to
work
right.
So
this
is
interesting
stuff,
so
bear
with
me
here.
So
the
next
thing
I
want
to
do
is
yeah.
A
So
we
know
that
this
is
our
go
path.
Right
and
inside
of
here
you
can
see
two
directories:
bin
and
search
and
abandon
source
and
the
by
the
bin
directory
is
like
a
place
where
the
binary
is
that
are
built
for
go
projects
that
you
check
out
like
with
this
particular
path.
It's
going
to
throw
the
binaries
in
there
just
to
make
them
easier
to
find,
and
if
we
go
into
the
source
directory
we
can
see
some
other
need
stuff
right.
A
B
A
Yeah
tree
Manistee,
that's
still
not
helpful,
Oh
star.
Okay,
that's
a
little
easier
to
see.
Okay,
so
we
have
our
our
directories
right.
We
have
github
Galang,
go
package,
kh2,
io,
six
decades,
IO
and
then
underneath
them.
We
have
dependencies
that
were
pulled
in
by
some
other
project
right,
so
these
packages
could
be
pulled
in
from
part
of
the
kind
projects
that
can
be
pulled
in
part
of
kubernetes
project,
probably
not
part
of
kubernetes
X.
We
haven't
done
any
building
and
haven't
built
anything
inside
there
right.
A
We
can
see
an
underneath
the
cage
to
I/o
side
of
things.
We've
checked
out:
API
machinery,
you
checked
out
kubernetes
and
just
like
we
talked
about
before.
If
I
wanted
to
go
and
find
a
PA,
this
API
machinery
check
out
on
github
the
way
that
I
could
do
that
is
by
looking
at
github
comm,
slash,
kubernetes,
slash,
API
machinery,
that's
where
I
would
find
that
dependency
and
then
underneath
sig
stockades
to
I/o.
That's
where
we've
checked
out
kind
and
it
actually
also
checked
out
a
sub-project,
also
hosted
inter
six
decades
Dino,
which
is
called
llamo.
A
But
let's
move
on
here
a
little
bit,
so
we
got
kind
here,
we've
got
kind
version
we
can
see.
The
kind
is
like
built
up
against
the
top
of
tree.
We've
got
go
built,
we've
got
kubernetes
checked
out,
let's
go
over
the
kind
of
project,
real
quick
for
the
parts
of
the
kind
projects
that
we're
going
to
be
using
kind
saves
the
keys
to
I/o.
A
So
the
next
part
I
want
to
show
you
is
basically
this
no
to
image
stuff
and
there's
no
to
image
stuff
I
think
is
actually
probably
one
of
the
cooler
features.
That
kind
has
because
I'll,
let
you
do
a
thing
where
you're
basically
able
to
build
whatever
version
of
kubernetes.
You
have
checked
out,
including
any
things
that
including
things
that
aren't
committed
and
make
them
and
then
bring
up
a
cluster
based
on
the
source
code
that
you
have
right
and
that's
pretty
wild.
So,
let's
explore
kind
of
like
how
that
works
right.
A
A
A
A
A
A
And
know
what's
gonna
happen
here
is
that
it's
gonna
build
the
code.
That's
in
my
local
check
out
of
the
cage
style
code
repository
and
it's
going
to
build,
cube.
Kennel,
it's
gonna
build
the
cube
controller
manager,
the
API
server
cube
proxy.
All
of
the
components
that
are
a
part
of
a
kubernetes
cluster.
It's
gonna
build
all
the
binary
for
those
things
and
it's
going
to
package
them
up
into
a
node
image
that
we
can
use
to
then
stand
up
a
kubernetes
cluster.
So
let's
go
ahead
and.
A
A
A
So
the
what
you
just
saw
here
at
the
top,
if
you
go
to
SIG's
Kate's,
two
io
/
kind-
and
that
was
our
import
path
right
when
we
did
our
get
check
out
when
we
did
our
go
get,
we
did
go,
get
synced
style,
/
kind
right,
that's
also
the
import
path
for
kind.
So
if
you're
gonna
use
kind
as
a
library
that
would
be
the
import
path.
A
A
These
are
the
build
bits,
so
we're
setting
some
environment
variables
right,
we're
appending,
cube,
verbose,
no,
we're
setting
cube,
build
hyper,
hyper,
cube
to
know
or
building
conformance,
no
cube,
build
platforms.
It
actually
tries
to
determine
what
the
architecture
you're
on
is
on
and
builds
it
for
that.
In
our
case,
it's
actually
but
we're
using
Linux.
So
it'll
just
build
the
Linux
architecture.
A
A
That
will
actually
do
a
make
the
exposes
a
make
command
inside
of
a
container.
So
what
I'm
doing
that
make
I'm
actually
running
that
make
command
inside
of
a
container?
That's
what
run
SH
is
going
to
do
right.
It's
going
to
set
up
a
build
container
and
it's
going
to
make
its
gonna
do
a
build
of
the
entire
source
code
inside
of
that
container,
and
then
it's
gonna
our
sink
out.
The
actual
binaries
that
are
you
this
right.
A
A
So
the
first
thing
that
happens
here
is
we
that
run
done.
Sh
command
right
so
like
when
you're,
when
you're
putting
it
in
here
and
that's
what's
actually
happening
and
there
we
are
building
our
QA
dmq,
petal
and
cubelet
commands,
and
we
sync
of
the
the
content
of
that
out
of
a
container
into
a
temp
directory.
And
the
next
thing
we
do
is
we
build
the
go
targets
for
the
container
images
that
were
going
to
build
right.
So
we
need
the
API
server.
A
B
A
So
we
start
building
the
image.
We
actually
delete
those
images
once
they're
done.
This
is
the
temp
directory
where
all
of
these
things
are
held,
and
then
we
start
building
the
actual
node
image,
and
this
is
where
we
actually
populate
all
of
the
all
of
the
bits
that
we're
actually
going
to
use
inside
of
the
node
image.
A
We're
gonna,
pull
in
the
PA's
image,
we're
gonna,
pull
on
core
DNS
we're
gonna,
pull
in
a
defaults,
Network,
a
CNI
for
kind,
which
is
basically
kind
net,
and
then
we're
gonna
pull
in
the
sed
binary
we're
pulling
in
a
local
path
provisioner,
which
allows
us
to
actually
define
things
like
persisted
volumes
and
then
kind,
and
then
we're
going
to
fix
some
paths
to
make
sure
things
work
and
then
that
and
there
we
have
our
image
right.
So
now,
if
we
do
docker
images,
whoo
boy
I
have
a
lot
of
images.
A
A
So
now
we
have
our
kubernetes
cluster.
Now,
if
I
do
cube,
kettled
version
look,
we've
learned
some
interesting
stuff
right,
so
we
are
running
because
we're
running
on
a
master
we
just
successfully
built
the
v1
19
0
alpha
0,
which
is
what
the
tag
is
for
the
current
master
and
we
stood
up
a
cluster
using
that
master
branch,
which
is
always
a
little
risky.
So
let's
actually
talk
about
doing
this
with
a
particular
check
out
of
Cooper
to
you
it's
like.
A
A
So
currently
we're
underneath
Archie
grk
directory
and
if
you
check
out
this
directory
after
this
episode,
is
foot
back
after
this
episode
is
over
you're
gonna
be
able
to
actually
go
through
these
steps.
They're
gonna
be
able
to
follow
along.
So
that's
my
goal
here
is
to
make
sure
that
you,
while
watching
this
video,
can
go
through
these
steps
just
the
same
way
that
I
do
and
if
they
don't
work,
reach
out
to
me
like
I'm
here,
to
help
you
and
you
are
and
I
am
not
the
only
one.
We
are
legion.
A
To
help
you,
that
is
one
of
the
greatest
things
about
the
communities
community.
Is
that
we're
all
here
to
help
okay?
So
this
is
where
the
source
code
is
right
now
and
if
we
do
and
if
we
move
in
here,
we
can
see
that
we're
on
the
master
branch
right
and
that's
actually
part
of
my
power
line
go
stuff.
So
if
I
do
go,
I
actually
get
branch.
I
can
see
that
I'm
on
the
master
branch
and
that's
actually
how
it
picked
up
this
master
branch
piece.
But
let's
check
out
a
tag
right.
A
A
Now,
because
I've
changed
the
version
right
now,
I'm
actually
on
117,
for
if
I
do
my
kind
build
node
image
image
equals
117
for
then
I
will
actually
be
building
version
117
for
right,
and
we
can
see
actually
that
it
pulled
out
this
cube
build
container.
This
is
actually
part
of
the
setup
of
kind
it's.
A
This
is
actually
where
the
the
container
is
actually
going
to
be
you
wear
a
lot
of
the
build,
is
gonna
happen
for
your
for
your
stuff
right,
so
inside
of,
if
you
look
at
your
docker
configuration,
you
can
see
that
the
cube,
build
container
has
started
up
and
that's
actually
where
all
of
this
building
is
happening.
It's
running
inside
of
a
container
which
is
really
wild.
A
So
what
you
just
watched
I,
don't
make
sure
that
we
clear
we're
really
clear
about
what's
happening
here.
I
went
into
my
check
out
of
kubernetes,
my
local
check
out
of
kubernetes
and
I,
moved
from
the
master
branch
to
a
tag
of
117
4
and
then
I'm
using
kind,
build
node
image
2
to
build
that
new.
The
code
from
that
tag.
B
A
All
right,
210
we've
been
in
it
for
about
an
hour
and
10
minutes.
I
have
a
couple
more
things.
I
want
to
show
you
before
we're
all
done
here,
but
so
stay
with
me
for
just
a
little
bit
longer,
because
what
I
want
to
show
you
is
like,
maybe
a
flow
that
would
help
a
lot
of
people
figure
out
how
to
contribute
right
and
so
yeah.
That's
what
I
was
talking
about
we're
building
cubelet
twice
for
building
cube
kettle
twice.
That's
weird!
There's
a
bug
in
our
code
here:
master
for
some
reason.
A
A
A
A
And
now
we're
bringing
up
another
kubernetes
cluster
using
binary
that
are
come
that
are
built
from
our
local
check
out
of
kubernetes.
If
I
was
trying
to
actually
modify
the
way
that
code
works
inside
of
cube
proxy
or
any
of
those
things,
I
could
actually
just
do
that
right
there
and
might
check
out
of
kubernetes
and
bring
up
a
cluster
with
all
of
my
code
checked
out
to
actually
validate
that
this
works
right.
I
mean
that's
wild.
A
So
now,
if
I
do
cube
Ketel
version,
we
can
see
the
version
that
were
checked
out
into
right.
Well,
that's
a
good
version.
Oh
yeah,
that's
right!
So
good
version
is
117.
That's
our
tag
right,
so
I
just
built
117
from
scratch
and
I.
Sorry
server
version
my
bad
I
just
built
117
for
from
scratch.
This
is
the
hasha
for
it
and
we
just
brought
up
a
cluster
on
it
and
we
just
validated
that
the
cluster
is
able
to
start.
A
A
Because
I
keep
ready
to
do
that
so
go
get.
We
talked
about,
go,
get
super
awesome.
We
talked
about
building
stuff.
Let's
play
we've
been
playing.
Let's
talk
about
tests.
What
I
wanted
to
show
you
was
this
so
first
before
we
do
that,
let's
talk
about
the
testing
Doc's.
These
are
actually
really
good
right,
running
unit
tests
how
to
set
flags
on
unit
tests.
A
A
A
B
A
A
These
tests
are
about
testing
that
the
code
that
is
in
the
cubelet
associated
in
package
right.
So
actually,
let
me
just
clear
that
up
real,
quick,
all
right
so
kubernetes
code
layout,
we
have
all
these
directories.
The
package
directory
is
where
a
lot
of
the
actual
code
repeted
for
the
kubernetes
stuff
and
what
we're
looking
at
here
to
actually
verify
is
we
want
to
verify.
A
A
Inside
of
here,
everything
that
you
see
that
actually
has
like
underscore
test
go.
These
are
actually.
This
is
code
that
it's
going
to
be
used
to
validate
the
functionality
of
a
thing
that
it's
named
just
like
it,
but
doesn't
have
test
dot
go
inside
of
it
right,
so
active
deadlines
go.
This
is
actually
some
functionality
and
active
deadlines
underscore
test.
Echo
represents
the
tests
that
validate
that
functionality
in
the
in
the
form
of
unit
tests
now
I'm
not
going
to
get
too
far
into
it.
A
If
you
go
into
the
testing
directory
again
or
into
that
testing
documentation,
that
I
was
showing
you
here.
They
definitely
get
into
like
how
to
run
tests
like
how
to
write
tests,
those
sorts
of
things
I'm
pretty
sure
they
get
into
that,
and
if
they
don't
that's
something
that
you
know,
the
community
can
definitely
help
with
I.
A
Don't
really
have
time
to
get
in
here,
but
but
unit
tests
are
important
right,
basically
validating
that
your
you,
your
code
works
the
way
you
expect,
but
the
way
that
we
run
these
unit
tests
is
by
basically
using
the
same
thing
that
we
would
do
to
build,
but
instead
of
doing
it
using
that
make
command
to
build
the
binary,
so
we're
gonna
use
that
make
command
to
test
that
code
right.
So
let's
go
ahead
and
do
that
real,
quick
I,
don't
know
where
it
went
all
right.
A
A
And
I
mean
I
hope,
I
didn't
like
bite
off
too
much
here
to
actually
achieve
this,
but
I'd
love
to
see
the
output
of
the
test
results.
So
let's
take
a
look
at
that
real,
quick,
but
the
reason
I'm
bringing
this
up
is
because,
if
you're
doing
development
on
on
kubernetes-
and
you
want
to
change
or
modify
the
behavior
of
some
functionality
within
some
part
of
the
project
right,
you
can
still
use
kind
and
still
do
your
tests
against
against
kind
right.
A
A
A
A
There
we
go
we're
working
on
making
it
so
if
there's
a
kind
sub
command
that
would
allow
you
to
test
an
end
to
run
an
end-to-end
test
for
kubernetes
directly
from
the
kind
command
line
rather
than
having
to
do
it
all
of
rather
than
having
to
do
it
manually.
This
would
actually
just
be
an
integrated
part
of
kind
right.
A
So
if
you
wanted
to
do
an
end-to-end
test,
which
means
you
know
because
kubernetes
is
effectively
a
distributed
system,
you
want
to
actually
validate
that
all
of
the
functionality
that
kubernetes
provides,
or
maybe
some
subset
of
functionality
that
is
related
to
the
function
that
you're
writing
actually
works
with
all
of
the
rest
of
kubernetes.
The
goal
here
would
be
to
actually
provide
a
kind
command
that
would
allow
you
to
run
and
end
and
test
for
on
top
of
kubernetes
and-
and
that
would
be
just
a
built-in
capability,
which
is
pretty
awesome.
It's
not
done
yet.
A
A
A
B
A
B
A
A
A
A
B
A
You
could
totally
deploy
a
metric
server
inside
of
kind
and
then
note
ports
are
actually
interesting.
There's
there's
one
gotcha
about
kind.
This
is
a
good
point
and
I'll
bring
this
up.
So
if
you're
running
kind
against
docker
inside
of
Windows
or
against
docker
inside
of
Mac,
then
the
challenge
is
that
the
way
that
docker
operates
the
side
of
those
so
docker
for
Windows
and
docker
for
Mac
it
doesn't
actually
expose
the
hosts
at
the
command
line
double
right.
A
A
A
A
So
we
have
one
node,
it's
kind
of
control
plane
and
if
we
do
docker
PS,
we
can
see
that
image
running
right.
So
this
is
our.
This
is
our
node
that's
running
and
it's
based
on
the
image
master,
and
this
is
the
name
of
it
kind
of
control,
plane
and
if
I
do
cube,
ketal
get
nodes
Oh
wide.
We
can
see
the
IP
address
of
this.
It's
172,
1702
and
I
on
a
linux
machine
can
ping
that,
and
that
means
that
node
pools
or
node
ports
are
going
to
work,
the
way
that
they
always
do.
A
If
I
actually
expose
a
deployment
with
a
node
port,
then
I'll
just
be
able
to
hit
that
port
directly
right.
So
if
I,
for
example,
if
I
dark,
if
I
jump
into
that
kind,
control,
plane,
node
and
USS
L
in
right,
then
I
can
see
that
it's
listening
on
2379
right
and
that's
like
exposing
effectively
note
port
so
from
the
underlying
host.
If
I
do
that,
if
I
do
172
1702
calling
2379
I.
A
A
Using
netcat
to
validate
the
thing
is
connectable,
so
node
ports
on
linux
work
differently
than
they
do
on
the
Linnet
level,
on
Mac
and
Windows,
and
that's
because
this
IP
address
right,
paying
172
1702
would
not
be
available
to
me
on
a
Mac
or
a
Windows
box
that
doesn't
really
affect
your
ability,
build
or
develop
or
test
code
around
it,
the
most
common
of
which
is
this
right.
So
we
go
to
kinds
at
six
decades.
Oh,
this
is
a
documentation
for
it
and
if.
A
So
you
can
still
map
those
connectivity
things
through
and
there's
plenty
of
other
examples.
Here's
an
example
of
contour
of
how
to
do
it,
there's
an
ingress
nginx.
So
if
you
want
to
expose
things
and
you're
running
on
a
Mac,
there
are
wait.
There
are
examples
of
how
to
do
that
here,
all
right.
What
else
did
I
want
to
cover?
Let's
go
back
to
our
checklist,
to
make
sure
I
haven't
gotten
too
far
afield.
Here
we
talked
about
tests,
we
talked
about
running
end-to-end
tests
and
running
local
tests.
A
We
talked
about
our
power
tool
here,
build
that
run,
build
slash,
run
SH.
That
is
so
cool
and
such
an
awesome
thing
commit
messages,
definitely
worth
talking
about.
I'm
gonna
gloss
over
it
real
quickly.
This
is
a
great
post
by
a
guy
named
Chris
beams,
a
person
named
Chris
beam,
so
I'm
not
gonna,
make
any
assumptions.
A
Chris
talks
about
a
good
commit
message
and
then,
as
a
maintainer,
some
stuff
I
have
to
say.
This
is
actually
like
a
totally
great
example
right.
So,
when
you're
running
when
you're
writing
your
commit
message,
you
know
summarize
the
changes
in
50
characters
or
less
right
wrote
some
change.
You
know
change
the
UX
or
did
some
you
know
change
this
particular
functionality
or
you
know-
and
sometimes
it's
even
helpful
to
like
give
a
path
to
a
code
base
like
if
you
made
changes
to
Q
proxy.
A
What's
in
there
right,
look
at
open,
PRS,
learn
by
a
reading,
and
that's
the
next
part
that
we're
gonna
actually
talk
about
learn
by
reading
is
huge,
rightly
being
able
to
learn
how
to
code
or
what
the
right
or
what
code
looks
like
or
how
to
write
tests
or
all
of
that
stuff,
because
this
is
an
open
source
code
base.
I
cannot
say
this
enough
right,
I'm
being
super
explicit
here,
because
this
is
an
open
source
code
base.
A
There
are
examples
of
how
to
do
or
what
the
right
thing
looks
like
everywhere
in
this
code
base.
If
you
want
to
learn
more
about
how
to
commit
to
kubernetes
or
how
to
even
have
how
to
commit
to
any
open
source
project
go
and
look
at
the
other
commits
that
are
running
inside
of
that
code
base
and-
and
you
can
learn
basically
just
by
reading-
you
can
learn
this
stuff
by
reading
like
seriously.
A
A
A
A
So
this
is
a
pull
request
against
master
right,
kubernetes
master
from
ricardo,
cots,
I,
think
it's
Ricardo
yeah
and
we
can
see
the
files
changed,
there's
a
bunch
of
them,
basically
moving
moving
moving,
some
of
the
configuration
off
into
a
different
place.
It's
updating
the
errors
package,
a
bunch
of
other
things.
Let's
try
validating
this
for
quick
right,
so
this
is
a
check
out
that
Ricardo
did
or
a
change
that
Ricardo
did.
We
can
see.
A
A
Really
there
are
some
transitive
dependencies
that
needed
to
be
updated
as
well,
so
this
needs
to
be
double-checked
if
it
breaks
anything.
This
is
probably
a
lot
to
change,
but
let's
go
ahead
and
try
anyway,
and
what
we're
gonna
learn
here
is
actually
some
interesting
stuff
or
we're.
Gonna
learn
here
is
how
to
check
out
the
code
of
another
contribution.
We're
gonna
switch
that
code,
we're
gonna
build
source
code
based
on
what
we
see.
A
And
now
I
can
see
the
things
that
are
both
in
my
checkout
and
also
on
on
ricardo
cats
check
out
right,
and
so,
if
I
do
a
paste,
I
can
see
the
one
that
I'm
interested
in.
Is
this
issue?
Eight
nine
one,
oh
nine
right!
So
if
I
do
get
check
out
so
now,
if
I
do
get,
log,
I
can
see
that
I'm
on
Ricardo's
commit
right.
This
is
his
pull
request
and
this
is
a
commit
that
he
put
in
so
let's
build
kubernetes
from
this
source
and
verify
that
it
works
to
some
degree
right.
A
And
here
we're
gonna
go
ahead
and
verify
that
the
code
that
Ricardo
submitted
is
actually
going
to
work
upstream
and
if
we
find
any
issues,
we
can
comment
on
that
and
this
is
a
way
for
us
to
interact
and
contribute
to
what's
happening
in
kubernetes,
without
necessarily
writing
code.
I'm,
not
writing
code.
Here
what
I'm
doing
is
I'm
building
a
public
rest.
It
looks
like
a
pretty
complex
change
and
I'm,
just
gonna
validate
the
behavior
using
end-to-end
tests
and
those
sorts
of
things
and
then,
if
it
all
works,
then
on
you
go
right.
A
Did
this
fails
to
build,
then
we'll
actually
be
able
to
see
this
output
here
right
like
if
there's
actually
a
bug
in
the
code
and
it
won't
actually
compile,
then
we
would
see
the
output
of
that
here,
but
presumably
Ricardo
got
past
that
before
he
actually
submitted
the
pull
request
right,
he
actually
had
some
way
of
actually
testing
that
it
would
build
locally
before
actually
putting
it
up.
So
this
is
a
way
that
we
can
actually
improve.
Perhaps
even
the
user
experience
that
Ricardo
goes
through.
A
A
A
A
It's
my
workshop.
A
B
A
A
A
A
A
B
A
A
A
Was
kind
of
wild?
Is
this
actually
going
to
use
the
proxy
endpoint
of
that
particular
service
to
interact
with
the
pods
on
it
right?
So,
if
I
do
grep
hostname
right,
we
can
see
that's
our
pod,
and
so
now
what
we
can
see
is
that
we're
actually
able
to
use
that
service.
Ip
vs,
is
not
running
on
your
MacBook
and
you
don't
lizalfos
afar,
because
this
is
actually
running
inside
of
a
docker
container
right.
This
is
actually
a
docker
container
running
and
ipbs
is
happening
inside
of
there
not
inside
of
my
machine
right.
A
If
I
were
to
do
ipbs,
ADM
I,
don't
even
have
it.
If
I
wouldn't
be
able
to
see
that
run,
I
mean
I,
guess
what
I
would
be
able
to
see
it
because
docker
container
running
against
a
Linux
kernel,
but
inside
of
a
macaron
inside
of
a
Windows
machine
IPS
is
only
a
part
of
the
way
that
that
docker
container
is
running
inside
of
your
mobiie
container
or
something
like
that
and
those
things
I
believe
are
already
built
in.
But
if
they
aren't
it'll
be
an
interesting
question
and
we
be
worth
validating.
A
A
A
Service
is
10101,
159,
194
right,
and
so
there
is
our
deployment
there.
There
is
our
service
being
defined
and
we
can
see
there's
only
one
currently
healthy,
back-end
10
to
4403,
and
if
we
do
cube
kennel
get
pods,
we
can
see
that
that
is
Oh
wide.
That
is
this
guy
right,
so
we
can
see
that
IP
vs
is
configured.
It
is
actually
mapping
back
to
a
healthy
back-end.
We
can
interact
with
it,
it's
all
on
a
single
node,
and
so
the
problem
is
perhaps
this
isn't
going
to
work
across
multiple
nodes.
A
So
let's
go
ahead
and
we're
not
going
to
test
that
right
now,
but
we
could
actually
destroy
this
cluster,
bring
up
a
couple
worker
nodes
and
validate
that
the
service
works
across
worker
nodes
as
well.
Right,
that's
not
actually
one
of
the
other
beautiful
things
about
kind.
Is
that
because
we're
right
now
we're
just
using
a
single
node
cluster,
but
if
we
wanted
to
validate,
but
if
we
wanted
to
validate
functionality
that
would
require
a
multi
node
cluster.
We
can
still
do
that
right.
A
So
that's
the
news,
that's
what
I
wanted
to
share
with
you,
my
goodness
that
was
a
huge
brain
unloading
into
the
screen.
I
hope
that
that
was
helpful
and
that,
like
we
ended
up
with
something
useful
and
I,
knew
that
that
was
a
ton
of
things
to
deal
with,
but
I'm
really
liking
with
the
notes
look
like
so
far.
Well,
except
for
that
part,
we
don't
want
that
me,
okay
and
then
yeah
so.
A
B
A
Y'all
have
a
kickin
weekend
and
stay
healthy
and
drink
lots
of
water,
and
you
know
I
hope
you
all
find
some
peace.
That
was
my
birthday
wish
this
year
was
that
in
these
crazy
times,
I
hope
that
everybody
finds
a
little
peace.
I
know
that
it's
a
lot.
It's
a
lot
happening
right
now.
In
fact,
one
of
my
favorite
quotes
from
this
this
week
was
Lana
from
a
from
an
email
from
my
school.
That
said,
we
understand
that
families
have
anxieties
about
the
current
situation
and
I'm
like
I.
A
That's
that's
all.
We
can
really
do
right,
be
awesome
to
each
other.
Remember
that
you
know,
even
in
your,
even
even
in
the
the
crazy
times
that
we're
in
everybody
is
going
through
something
right.
You
don't
know
what
they're
going
through
well,
they're,
probably
having
a
hard
time
to
chill
so
take
care
of
each
other.
I
will
see
you
all
next
time
and
have
an
awesome
weekend.
Thank
you
all.