►
From YouTube: TGI Kubernetes 064: Kubernetes config with Pulumi
Description
Come hang out with Joe Beda as he does a bit of hands on hacking of Kubernetes and related topics. Some of this will be Joe talking about the things he knows. Some of this will be Joe exploring something new with the audience. Come join the fun, ask questions, comment, and participate in the live chat!
This week we will look at Pulumi. Pulumi is a solution for creating and managing cloud configs. We are going to look at it through the lens of Kubernetes but it can also do a whole lot more!
See https://github.com/heptio/tgik/tree/master/episodes/064 for notes and code.
A
Hello,
everybody
and
welcome
to
another
edition
of
t
GI
kubernetes
I'm,
your
host,
Joe,
Beda
and
I
am
actually
doing
this
from
home
today.
So
you'll
notice
that
things
are
looking
a
little
bit
different
here
yeah.
So
let
me
know,
let
me
give
a
quick
intro,
so
TDI
kubernetes
is
a
weekly
live
stream
that
we
do.
This
is
the
former
hefty
owe
folks
now
part
of
vmware.
It's
where
we
talk
about
what's
happening
in
the
world
of
kubernetes
and
then
go
through
and
explore
some
technology.
A
So
today's
episode
we're
going
to
be
exploring
the
work
being
done
and
the
product
from
Pulu
me
a
friend
of
ours,
down
the
road
here
in
Seattle,
so,
let's
see
and
so
out
the
gate.
So
we
have
some
notes
that
you
can
actually
help
to
to
contribute
to
which
would
be
great
and
generally
break
things
up
where
I
spent
some
time
doing
a
review
of
what's
going
on
and
then
and
then
dig
into
the
technology.
A
Oh
he's
plugging
scale
the
Southern
California
Linux
Expo,
so
there
we
go
Olaf
coming
up
in
March
March
7
through
10
in
Pasadena
Olaf
Sridhar
from
DC
Olaf's
from
Denmark
Christopher
from
Germany
Anna's
from
Boulder
you're
gonna
laugh
at
me
when
I
show
you
what's
outside
my
window
on
the
other
side
here,
Rory's
from
Scotland,
Suresh,
Homburg
Minnesota,
again,
gonna
laugh
at
me.
Salt
salts
from
Finland,
yes,
gonna,
laugh
so
yeah.
A
So
here
let
me
show
you
real
quick,
so
so
I'm
doing
this
from
home,
because
if
you
look
out
my
window
here,
you
can
see
that
it's
snowing
and
Seattle
like
we're
total
wimps.
When
it
comes
to
snow,
I
grew
up
outside
Chicago,
which
gets
a
ton
of
snow.
Super
cold
worked
with
a
guy
from
that
grew
up
in
Siberia.
We
were
comparing
notes,
he's
like
yeah
Chicago's,
worse,
but
see
how
we
don't
get
enough
snow.
A
So
we
don't
even
you
know,
invest
in
a
lot
of
snowplows
and
equipment
and
we
have
a
lot
of
hills,
and
so
what
happens
is
when
it
snows
just
everything
goes
to
crap
and
the
city
shuts
down,
and
so
there's
a
good
chance
that
if
I
was
doing
this
from
the
hefty
offices,
downtown
I
would
not
be
able
to
make
it
home
today,
and
so,
since
I'm
doing
this
from
home,
the
dog
may
be
barking.
My
wife
may
be
coming
in,
so
there
may
be
some
distractions
be
ready
for
that.
All
right.
A
So,
let's
go
through.
Let's
see,
I
want
to
say
hi
to
some
more
folks.
Let's
see
Mike
is
in
New
Jersey
Mohammed
in
Pakistan
welcome,
yeah
good
evening
/
morning
to
you.
What
time
is
that,
like
12
hours
off
it's
like
middle
of
the
night,
I'm
impressed?
A
A
Who's
representing
the
plumie
team
Mike
also
Metro,
is
also
from
Pulu
me,
so
they
can
help
us
if
we
get
stuck
or
if
I'm
doing
something
stupid
we'll
be
looking
in
the
chat
to
see
Joe
and
Mike
and
we'll
see
if
alex
is
able
to
join
us
all.
So
that
should
be
exciting.
Yeah,
there's
Alex,
saying
hi.
It's
like
got
the
whole
team,
lookking
Levi,
so
everybody,
oh
and
then
Paris-
is
that
our
Paris
or
is
that
a
different
Paris?
Well,
hello,
all
right!
A
So
let
me
get
going
here
so
usually
I
start
out,
and
so
all
these
links
are
in
the
notes
that
we'll
link
to
from
the
description
it's
in
the
gonna
be
checked
into
the
TGI
K
repo.
So
if
you
want
to
find
this
stuff,
you
can
do
it
that
way
so
and
George
helps
to
who's
helping
out
here.
George
and
duffy
have
helped
to
curate
some
of
this
stuff.
So
the
first
one
is
this
interesting
article?
Actually,
what
happened?
It's
a
it's
a
slide
deck.
I
don't
know
where
it
was
presented.
A
Looking
at
kubernetes
at
cern,
which
I
think
is
really
fascinating
because
early
and
I
haven't
gone
through
all
this
yet,
but
it
looks
like
there's
a
lot
of
really
interesting
data
in
here
and
I-
wonder
if
there's
a
video
of
this
getting
presented,
that'd
be
cool
but
anyway,
so
this
is
from
Ricardo
at
CERN.
So
early
in
my
career,
slash
career
I'd
actually
did
an
internship
at
Fermilab
outside
of
Chicago
in
Aurora
Illinois
and
in
their
theoretical
physics
group,
where
I
was
helping
to
improve
some
of
their
theoretical
model
models.
A
So
was
not
big
data
at
the
time,
but
so
I
have
I
have
a
soft
spot
in
my
heart
for
accelerators
yeah.
So
that's
that's.
What
certain
looks
like
from
the
air
next
link
is
a
video
from
go
to
2018.
So
this
looks
really
interesting.
Talking
about
troubleshooting,
debugging
micro
service
and
kubernetes
so
looks
like
a
lot
of
good
sort
of
troubleshooting
tips:
how
to
actually
figure
things
out
and
dig
deep
into
that
which
looks
really
cool.
A
Let's
see
and
then
there's
a
bunch
of
stuff
from
files,
Tim
I
wasn't
there
I've
never
been,
but
everybody
says
it's
a
great
conference.
So
I
need
to
find
some
time
to
go
sometime
and
hang
out
and
get
some
stuff
done,
and
you
know
write
some
code,
but
some
of
the
presentations
here.
So
the
first
one
is
from
our
own
Chris.
No,
but
you
all
know
and
love
Chris,
so
she
I
mean
this
was
pretty
much
her
starting
with
a
title
and
then
making
it
talk
about.
A
It's
like
you
can't
have
a
without
a
cluster,
but
I
think
the
title
morphed
a
little
bit
here
but
she's,
essentially
looking
at
some
of
the
embarrassing
parts
of
the
kubernetes
codebase
and
some
of
the
things
that
we're
working
on
messing
up
cleaning
up
I
mean
Oh
George
said
he
found
the
YouTube.
Video
of
the
certain
talking's
can
be
adding
into
the
now
it's
awesome
and
then,
let's
see
so
there's
another
one
around.
This
is
from
the
the
folks
who
are
driving
Falco,
which
is
a
security
auditing
thing.
A
I
think
we
did
a
TGI
K
on
that.
So
there's
a
there's
a
talk
here
from
from
Coolio,
which
is
great:
here's
a
story
or
a
talk
that
from
Seth
that
goes
into
kubernetes
secrets,
the
good,
the
bad,
the
ugly
of
going
on
here,
how
they've
actually
sort
of
evolved
and
improved
over
time-
and
this
is
something
that
Duffy
I
believe
is
going
to
try
and
do
an
episode
around
next
week.
A
So
we
have
him
signed
up,
so
that
should
be
fun,
he's
going
to
explore
some
the
different
sort
of
solutions
and
pros
and
cons
there
and
I'm
sure
Duffy
is
going
to
be
watching
Seth's
video
here
to
get
some
some
tips
and
some
points,
pointers
and
then
finally,
there's
a
there's.
A
talk
here
on
see
Liam
recent
updates
and
overviews
and
I.
A
So
this
is,
from
the
happy
Oh
point
of
view,
we're
going
through
the
sort
of
painful
process
in
that
just
there's
a
lot
of
details
to
work
through
about
figuring
out.
How
do
we
merge
the
stuff
we
were
doing
at
hefty?
Oh
and
the
stuff
that's
going
on
in
vmware
and
create
some
some
new
greatness
out
of
it,
and
so,
along
with
that,
we've
been
looking
at
our
open
source
projects
and
trying
to
sort
of
bring
those
into
the
VMware
fold.
A
One
of
the
things
that
that
happened
here
as
part
of
this
is
that
we've
renamed
hefty
Oh
arc
to
Valero
and
so
part
of
the
reasoning
behind
this,
and
this
is
so
subtle,
but
it's
like
like
we're
not
trying
we're
not
calling
these
things
like
hep,
Toa
and
hep
D
OB
anymore,
we're
just
calling
it
Valero
and
once
you
actually
sort
of
remove
the
brand
in
front
of
it
all
of
a
sudden.
You
know
there's
more
room
for
confusion,
so
there's
other
products
and
projects
out
there.
A
You
know
related
to
backup
called
arc,
and
so
that
really
meant
that
we
wanted
to
eliminate
any
chance
of
confusion
there,
and
so
Valero
was
the
name.
We
actually
had
an
issue
where
a
bunch
of
people
put
some
some
suggestions
in
there,
including
our
quemic
arc,
face
which
I
think
would
have
been
awesome
and
Quesada.
This
is
the
other
big
update
out
of
it
case
on.
It
is
actually
the
first
project
that
we
did
it
hep
to
you,
Alex
who's
now
at
plumie
who's
on
the
the
chat
here
really
blazed
a
trail.
A
With
this
we
learned
a
lot.
We
experimented
a
lot
and
I
think
what
we
looked
at
is
is
case
on
it,
hadn't
caught
on
in
the
way
that
we
had
hoped
it
would
and
we
had
to
choose
where
we
were
gonna,
spend
our
time
and
we're
seeing
that
this
is
a
hard
problem.
There's
a
lot
of
innovation
in
this
space,
and
so
you
know
I
think
it
was
just
like
we
didn't
think
we
had
the
people
or
the
or
the
the
perspective
to
bring
to
bear
on
this
right
now.
A
I
still
think
we
have
some
unique
ideas
to
bring
to
the
world
here,
but
it's
gonna
have
to
come
in
a
different
timeline
in
a
different
form,
so
Jeffrey
from
Mountain
View,
welcome
and
then
yeah.
So
alright,
so
no
boys
continuing
on,
and
so
it's
not
getting
the
name
change
and
where
we're
looking
at
continuing
to
build
and
expand
on
that
and
then
contouring
gimbal
and
usually
when
we
talk
about
these
things,
we're
talking
as
impaired,
they
are
different
projects,
but
they're
super
complementary.
We're
continuing
to
invest
in
these.
A
We
have
some
of
our
commercial
hefty
owe
customers
that
are
using
these
things
and
so
we're
starting
to
get
some
some
more
contributions,
some
more
beyond
just
the
the
original
sponsor
of
this,
which
was
which
was
Yahoo
Japan
through
their
their
American
subsidiary.
So
a
lot
of
interesting
stuff
going
on
here
and
we're
continuing
to
invest
in
that.
So
all
right,
so
that's
kind
of
a
kind
of
a
little
long-winded
there.
All
right.
We
got
Marco
from
Kent,
where's,
Kent,
gh,
ent
I'm,
not
sure.
A
Where
is
that
Jason
from
Boulder
Christian
from
Madrid
all
right,
so
Sayed?
So
here's
the
deal
with
JSON
and
we
are
going
to
be
sunsetting
it.
It
was
an
independent
entity.
It
existed
on
its
own
if
there
are
a
set
of
folks
who
are
really
interested
in
picking
it
up.
That's
definitely
something
that
we
can
talk
about.
We
don't
want
to
leave
anybody
high
and
dry,
but
it's
one
of
those
things
where
we
just
don't
have
the
interview
to
continue
to
invest
in
and
moving
forward.
A
So
there's
a
little
ton
of
other
interesting
projects
out
that
sort
of
hit
at
this
space,
including
Pulu
me
that
we're
going
to
be
looking
at
today,
alright-
and
so
with
that.
The
last
thing
I
want
to
highlight
is
that
highlight,
is
there's
this
great
blog
post
from
the
Argo
folks.
They
are
now
part
of
Intuit.
A
They
were
purchased
a
little
while
ago,
the
company
that
that
drove
Argo
and
they
did
a
great
overview
of
the
different
configuration
options
that
are
focused
just
on
kubernetes,
including
helm,
customize,
which
is
interesting,
no
templating,
but
a
bunch
of
overlays
type
of
thing.
Okay,
George
says:
Ghent
is
close
to
Brussels,
hopefully
I'm
going
to
visit
next
year.
When
we
invite
you
to
configure
config
management
camp,
all
right.
There
we
go
and
then
George
is
posting
the
URLs
to
the
live
notes
there
again.
A
So
this
goes
some
of
the
pros
and
cons
what
these
things
are
good.
At
from
these
folks
point
of
view,
JSON,
it
is
the
language
that
case
on
it
used
there's
a
whole
bunch
of
folks
who
are
doing
stuff
with
JSON
it,
and
you
know
similar
to
case
on
it
and
then
there's
case
on
it
itself
and
other
derivatives
talking
about
how
the
fact
that
we're
we're
Sun
setting
it
but
there's
a
there's,
a
bunch
of
other.
A
You
know
other
projects
that
are
actually
building
on
JSON.
It
so
I
think
what
there's
a
lot
of
interesting
innovation
going
on
in
that
space
and
then
there's
replicated
ship,
which
is
another
management
thing.
This
is
something
that
is
on
my
list
of
things
that
I
want
to
go
into
and
actually
start
exploring.
So
so
I
want
to
do
a
TGI
K
on
this
sometime
in
the
future
and
then
helm
three
so
he'll
is
I.
Think
we've
talked
about
this
before
helm.
Three
I
think
I
heard
that
there
is
going
to
be
an
alpha
soon.
A
There's
work
going
on
it's
gonna,
be
instead
of
tiller.
This
stuff
is
going
to
move
a
lot
to
work,
client-side
and
they're.
Integrating
Lua
for
for
scripting
of
the
thing
which
is
interesting,
I'm,
not
sure
how
how
I
feel
about
about
Lua
there,
but
we'll
have
to
see
how
it
pans
out
all
right.
So
with
that
I'm
going
to
any
questions,
anything
I
missed
anything
big
news
in
the
in
the
the
community
that
you
think
I
should
I
should
talk
about
here.
A
I
gotta
get
some
time
for
the
delay
here
and
I'm
watching
cars
outside
my
window
here
go
down
at
some
point:
they're
gonna
start
slipping
and
I'm
gonna
turn
the
camera
around.
What
watch
watch
them
slip
down?
Alright
yeah
for
those
who
joined
late
I,
you
know
we're
having
a
huge
snowstorm
here
in
Seattle,
which
is
freaking
everybody
out
and
and
so
I
have
a
front
seat
gear
to
see
and
all
the
snow
start
to
accumulate
all
right.
A
So
why
implementing
a
new
scripting
language
well
I
mean
Lua
is
well
well
used
across
a
whole
bunch
of
different
projects
and
a
bunch
of
different
domains.
It's
actually
a
really
popular
sort
of
embed
abou
language
I'm,
just
not
sure
how
many
people
in
this
domain
actually
know
it.
So
it's
gonna
be
interesting
to
see
what
happens
there.
A
I
also
have
my
my
my
GCP
account
set
up
a
project
set
up,
40
gik
that
we
can
use
to
and
and
the
plumie
folks
were
put
together,
some
tutorials
that
sort
of
really
shows
the
breadth
of
what
the
Lummi
does
and
so
we're
gonna
try
and
work
through
those
and
you'll
see
that
let's
see
so.
The
first
thing
is
that
there's
a
bloomin
using
plumie
with
kubernetes
tutorial
here,
so
there's
a
lot
of
great
documentation
and
then
the
one
that
we're
gonna
be
working
through.
A
Is
this
a
gke
hello,
world
type
of
things
we'll
start
with
this,
we'll
see
how
we
go
and
then
and
then
we'll
and
then
we'll
go
off
the
rails
and
try
and
break
stuff,
because
that's
what
we
do
all
right.
So,
first
of
all,
what
is
Pulu
me
now.
I
am
NOT
an
expert
I
think
a
lot
of
times,
I
end
up
learning
this
stuff.
A
So
that's
one
of
the
things
that
we'll
learn
together
now
Pulu
me
is
it's
a
start-up
here
in
Seattle
friend
of
mine,
Joe
Duffy
is
the
CEO
and,
and
the
right
way
to
think
about
this
is:
is
it's
terraform,
but
instead
of
fronting
terraform
with
a
DSL,
it's
terraform
fronted
with
you
know
real
languages
and
I.
Think
that's
really
interesting,
because
I
think
like
in
this
config
space.
A
I
think
you
know
if
you're
a
computer
scientist
you'll
say
it
becomes
turing-complete
well,
which
means
that
you
can
do
anything
with
it
at
least
computationally
and
and
so
and
then,
but
as
it
becomes
turing-complete,
it
becomes
harder
to
reason
about
and
all
of
a
sudden
you're
missing
a
lot
of
the
sort
of
support
that
you
need
for
real
turing-complete
languages,
and
so
that
ends
up
like
you
know,
turning
the
cycle
around
where
people
like.
Oh,
this
is
too
complex.
A
Let's
simplify
okay,
and
so
there
is
a
school
of
thought,
and
this
is
the
this
is
where
paluma
is
coming
from.
Is
that
skip
that
whole
dsl
skip
that
march
to
complexity
and
instead,
let's
use
real
languages
to
be
able
to
actually
face
this
stuff
so
yeah?
So
it's
like,
instead
of
actually
using
a
half-assed
language,
let's
go
through
and
actually
try
and
build
something
with
a
real
language.
A
So,
let's
see
oh
and
then
Fernan
says
new
stuff
with
k-9s
s,
what
is
k-9s
s?
Is
this
CLI
to
manage
your
clusters
in
style,
so
interesting
I'll
have
to
check
this
out
and
have
Duffy
if
you
played
with
it.
I,
haven't
will
have
to
add
that
to
the
list
to
play
with
thanks
for
the
pointer
there,
yeah
very
cool,
all
right
yeah.
So
that's
that's
what
paluma
is
sort
of
in
concept
and
and
so
the
set
of
languages
that
Pulu
me
deals
with
includes.
You
know.
A
Javascript,
I
think,
is
a
lot
of
the
examples,
but
also
python
and
what's
the
whole
list,
jo,
it's
like
python.
C
sharp,
you
know,
go
I,
don't
know
I
mean
like
that,
but
you
know
they
have
a
sort
of
a
a
framework
where
they
can
extend
that
over
time
and
then
and
then
it
works
not
just
against
kubernetes
but
against
other
cloud
infrastructure.
And
so
that's
why
so
go
okay,
and
so
that's
why
the
the
example
that
we're
gonna
go
through
is
not
just
like:
hey
I
have
a
cluster.
A
How
do
I
deploy
apps
to
it?
It's
going
to
be
how
do
I
actually
create
a
cluster
using
G
key
and
deploy
it
all
in
one
framework,
so
I
think
that's
really
interesting
and
then
Alex
saying
some
typescript
JavaScript
Python
and
go
with
c-sharp
being
community
support
it.
So
that's
the
that's.
The
language
list
right
now
and
then
working
on
a
new
approach
for
to
multi
languages
that
will
unlock
more
more
support,
so
very
cool
and
some
good
conversation
going
on
there.
A
A
Okay,
so
we
have
that
going
on,
let's
see
and
I'm,
using
a
keyboard
that
I,
like
I,
have
a
different
keyboard
at
home
than
it
works.
So
it's
really
easy
for
it.
Immediate
confuse
this
is
like
a
really
small
sort
of
compact
keyboard.
So
it's
really
pretty
here.
Let
me
show
you
right,
but
it
means
that,
like
I'm,
always
switching
between
different
keyboards
and
confusing
myself,
so
I
need
to
fix
that
somehow
all
right.
So,
let's
see
so
all
right.
So
we
are
now
what
the
hell
are
you
doing.
A
Homebrew
route
cleanup
has
not
been
run
for
30
days.
Thank
you
all
right.
Well,
let
that
go
for
a
while
read-through!
Okay,
oh
wait:
did
it?
Did
it
install
okay,
so
yeah
cool,
so
we
got
that
going,
let's
see
so
that
step
is
done,
boom
check,
install
nodejs
version
6
or
later.
Why
do
I
need
that?
Why
do
I
need
that
I?
Probably
need
that
to
evaluate
the
the
the
typescript
and
stuff
interesting
all
right.
A
So
here's
my
first
suggestion
to
the
plumie
folks
it'd
be
cool
if
you
package
this
stuff
as
as
docker
containers
with
sort
of
hermetic
and
then
and
then
the
plumie
command-line
could
either
use
stuff
natively
or
it
could
actually
exact
into
docker
and
set
all
the
right
options
to
pass
the
to
mount
the
right
file
systems
and
credentials
and
stuff,
and
so
that
would
actually
be
kind
of
cool.
It
might
be
harder
to
debug.
A
A
A
A
So
what
this
is
is
it
creates
credentials
on
disk
that
applications
can
use
so
that
it
can
act
as
you
boom,
so
we
go
went
ahead
and
did
that
I
think
it's
also
like
there's
also
and
I
haven't
looked
at
this,
but
it
looks
like
the
the
login
stuff.
You
could
also
set
this
stuff
up
so
that
it
it
works
over
with
a
service
account
in
in
GCP,
also
so
that
that
that
SDK
is
kind
of
nice
all
right.
So
here
we
were
here
all
right
and
then
configure
GCP
service
count
key
and
download
credentials.
A
Okay,
note:
the
service
account
key
credential
use
must
have
the
role
G
key
admin
container
admin.
Alright.
So
let's
figure
out
how
we
do
this.
Okay,
the
plumie
Google
cloud
platform.
Five
needs
to
be
configured
with
Google
credentials
before
it
can
do
what
it
needs
to
do,
and
so
I
want
to
go
into
my
credentials
here
and
or
under
okay,
so
API
and
services
credentials,
let's
see
if
we
I'm
actually
select
the
Jason
key
all
right.
A
This
thing
is
loading
it's
doing
its
thing,
okay,
so
so
just
oh
I
have
to
do
one
of
those
okay,
oh
okay,
yeah!
So
I
get
how
this
works.
So
either
you
do
the
G
cloud
login
with
the
author
application
default,
which
means
it's
gonna,
be
acting
as
you,
where
I
was
gonna,
be
using
my
thing
or
if
you
want
to
set
something
up
such
that,
like
you
know,
hey
like
I'm
doing
this
in
a
CI
CD
system
or
like
I'm
doing
something
and
then,
like
you
know,
my
buddy
Duffy
wants
to
do
stuff
to.
A
A
Is
there
a
way
that
I
can
do
this
without
logging
in
I'm
wondering
because
I
like
to
really
understand
where
the
lines
are
so
you
know,
and
yes,
cuz
I,
ask
questions
that
are
ok,
yeah,
there's
a
way
to
run
locally,
but
logging
is
easiest.
Well,
I!
Think
one
of
the
things
I'd
like
to
do
the
local
thing,
because
I
want
to
understand
sort
of
where
the
lines
are
between
what
runs
locally
and
what
happens
in
the
service.
A
A
Alright,
so
Alex
says
I
think
it's
probably
best
to
start
using
the
serbs
and
try
local
back
in
later
I.
Don't
know
all
right,
I'll
take
your
all's
word
for
it
right
now,
so
I
have
to
go.
Click
on
that,
no
tokens
all
right.
So
what
I'm
gonna
do
here
is
you're
gonna
view
my
pretty
face
while
I
do
this
because
I'm
sure
it'll
flash
your
token
on
the
screen,
so
it
says
new
access,
token,
give
it
a
name.
I'm
gonna,
give
it
a
name.
It
gives
me
the
token
be
sure
to
copy
cuz.
A
A
Alright,
now
I
can
switch
back
yeah.
So
here's
what
I
got
I
did
it.
That
showed
me
a
screen
where
I
can
copy
and
paste
that
token
and
then
and
then,
when
I
go
to
login.
It
says:
ok
enter
your
access.
Token
I'm
pasting
it
in
right
now,
but
it
doesn't
give
me
any
feedback
on
the
command
line,
so
I
think
that
ends
up
working,
but
that
was
a
little
bit
confusing
that
it
didn't
give
me
any
feedback,
because
it's
asking
okay.
A
So
now
these
are
all
defaults,
stack
names,
sure,
dev,
I,
don't
know
what
I'm
doing
here,
but
there
we
go
and
now
it's
actually
doing
a
bunch
of
typescript
node
stuff.
Okay,
so
Joe
says
this:
just
control
state
and
concurrency
management.
If
you
do
a
plumie
login
local
it'll
store
state
locally,
but
similar
just
okay.
So
this
is
like
the
terraform
state
file
a
lot
of
times
like
you
have
your
program.
The
program
needs
to
know
well,
I
call
this
thing
foo,
but
the
cloud
views
it
as
a
seven
three,
eight,
seven,
eight
five:
nine.
A
How
do
I
actually
keep
that
mapping?
That's
essentially
what
the
terraform
state
file
is
and
then
christian
says:
is
it
possible
to
store
the
state
file
somewhere
else,
like?
Is
that
epi,
open
and
alex
says?
Yes,
it
is
okay,
so
so
what
it's
saying
it's
I
mean.
So
it's
saying
alright
or
actually
let
me
go
back
and
and
look
at
this
okay,
so
I.
A
Lost
mine,
okay:
here
we
are
so
we
did
this
and
our
project
name
description'
staff
name.
So
let
no,
when
prompted
to
form
this
update
else,
will
be
editing
files,
then
ok,
so
I
think
update
means.
Do
I
want
to
actually
execute
and
apply
this
thing
and
I
do
like
all
the
colors
here.
This
is.
This
is
fun.
Okay,
okay,
an
error
occurred,
addressed
the
issue
and
then
drew
me
up
to
try
again.
Okay,
the
error
was
conformation
declined.
That's
not
really
an
error.
You
asked
me
a
question.
A
I
said
no,
but
you
viewed
it
as
an
error
and
exited
with
a
with
a
with
a
with
an
error.
Okay
blew
me:
login
local
causes
us
to
store
the
state
files
as
Jason
and
a
local
file,
and
so
okay,
alright.
So
now
so
what
this
did
is
this
created
it
as
a
new
directory
and
we'll
go
through
and
load
this
puppy
up
and
BS
code?
A
A
Okay
George
says
when
responding:
it
helps
to
make
the
respond
if
you
respond
in
complete
sentence.
So,
okay,
because
I'm
confusing
you
all
okay,
so
I'm
a
typescript
noob,
and
we
have
this
index
typescript,
which
is
just
importing
stuff
and
I,
assume
that
this
is
just
downloaded
from
NPM
like
everything
else
and
the
whole
like
node.
Front-End.
Stuff
really
confuses
me
like
I,
don't
know
what
it
means
for
this
to
be
an
at
sign
versus.
Is
it
just
like
name
spacing
of
stuff
of
packages?
I
think
that's
what
the
out
sign
means.
A
I,
don't
know
I'm
very
confused,
but
any
case.
So
we
have
a
bunch
of
the
standard
node
stuff.
We
have
Polly
medium-well,
which
is
the
stuff
that,
like
we
were
prompted
for
us.
We
were
creating
stuff,
and
then
we
have
this
TS
config,
which
I
think
is
the
config
file
for
the
typescript
compiler,
saying:
hey
I
want
to
target
es6
because
that's
what
node
speaks?
Alright,
oh
and
then
package
JSON
doesn't
have
any
like
any
any
fancy
things
that
I
run
or
anything
like
that.
A
Okay,
so
this
really
minimal
typescript
project
is
what
it
looks
like.
Okay,
yeah,
okay,
cool
and
now
we're
gonna
go
back,
and
these
these
folks
were
nice
enough
to
make
this
copy
paste
able
alright.
So
the
first
thing
we
want
to
do
is
set
the
right,
GCP
config
variables,
so
set
the
project
equal
to
TGI
Kate's.
That's
what
I
have
right!
So
maybe
TGI
Kicks
there
we
go
something
got
slow
here.
What's
getting
slow,
okay,
oh!
This
is
just
the
GCP
dashboard
is
freaking
out
on
me.
A
What's
it
doing
alright
we're
just
gonna
we're
gonna,
navigate
someplace
else,
because
that
credential
stuff
seems
busted,
we'll
just
go
here
there
we
go:
okay,
okay,
TGI
Kate's,
so
I
go
ahead
and
I
do
that
and
then
the
next
thing
I
want
to
do
is
set
the
zone
that
I
want
to
work
in
all
right.
So
this
is
interesting
because,
like
I
have
to
set
this,
but
this
is
also
in
my
configuration
that
I
have.
If
I
do
g-cloud
config
configurations,
what
do
I
have
described.
A
So
like
what
I
have
here
is
like
I,
already
have
a
zone
in
a
region
and
a
project
that
are
part
of
the
g-cloud,
config
and
I'm
wondering
if
there's
a
way
to
actually
get
that
out
of
there
all
right,
and
so
so.
Alex
and
Joe
are
educating
me
here
on
how
packages
work
in
NPM.
The
@
sign
in
front
of
it
says
that
it's
you're
talking
about
a
namespace,
because
apparently
when
NPM
was
created,
I'm
guessing
everything
was
flat
and
then
they
needed
to
introduce
this
idea
of
like
well.
A
Maybe
we
have
too
many
packages.
We
needed
this
namespace
ething
and
they
introduced
that
later.
That's
what
I'm
guessing
happened!
All
right!
Don't
take
my
word
for
it,
though.
Okay
create
a
new
file
named
config
dot,
TS
and
insert
the
following
content.
So
we'll
go
ahead
and
do
I'll.
Do
this
configure
actually
save
this
as
config
dot,
t--
s
and
then
paste
this
in
there
alright,
and
what
we're
doing
is
import
stars.
Balloon
me
from
plumie
plumie
import,
config
from
plumie
falou
plumie,
all
right,
so
we're
importing
all
this
stuff.
A
So
I
guess
now
I
create
a
new
config
from
there
and
then
let's
see,
and
then
these
are
my
parameters,
so
I
have
config
so,
okay,
so
Pulu
me
has
an
idea
of
config
itself.
There's
a
note
count
parameter
that
I'm
setting
that
will
default
to
to
the
Machine
type
is
an
n1
standard,
one,
the
minimum
master
version
is
latest
and
the
node
version
is
latest.
So
these
are
sort
of
like
the
things
that
we
want
to
do.
A
A
Alright,
if
you
hear
like
there's
a
shutter
noise,
I
actually
have
a
camera
right.
Next
to
me,
that's
taking
a
time-lapse,
it's
taking
a
photo
every
30
seconds
so
that
we
can
watch
the
snow
accumulate.
That
should
be
fun.
Alright,
let's
see
config
it's
like
a
purse
tack,
bag
of
state
so
yeah.
So
it's
essentially
the
incoming
parameters
and
then
we
also
have
encrypted
config.
So
you
can
pass
secrets
in
so
that's
kind
of
cool,
I'd
love
to
learn
more
about
that
and
then
Bradley's
like
you
can
do.
G-Cloud
config
get
project
get
value.
A
Project
gets
the
active
project
in
the
region.
Similarly,
yeah
so
I
know,
there's
ways
to
read
that
out
of
G
clouds.
That
might
be
might
be
interesting.
Let's
try
and
figure
out
what's
going
on
here,
so
we
have
a
name
called
hello
world
kind
of
GCP.
Let's
you
name
things,
and
then
this
is
the
interesting
thing
here.
So
we're
importing
GCP
in
and.
A
Then
import
cluster
config
from
config
so
that
actually
pull
it
in
from
here.
So
we're
pulling
this
in
here,
and
so
what
you
have
here
is
plumie
has
a
object
model,
a
programmable
object
model
for
all
the
different
cloud
resources
that
you'd
want
to
be
able
to
create,
regardless
of
whether
those
things
be
kubernetes
objects
or
easy
to
or
GCP
or
what-have-you,
which
is
why
I
think
that's
sort
of
terraform,
but
with
a
real
language,
really
resonates
now.
A
One
of
the
things
is
that
the
kubernetes
support
in
terraform
is
my
understanding,
not
great
and
so
I
know.
The
bloom
evokes
Alex
specifically
put
a
lot
of
time
and
effort
in
terms
of
creating
a
really
nice
experience
for
kubernetes,
config
and
plumie.
That
goes
beyond
so
that
the
terraform
config
alright,
so
create
a
gke
cluster.
So
we're
bringing
some
stuff
in
here
and
then
for
each
of
the
machines
that
we
launch
up.
A
We
want
to
give
them
some
Olaf
scope
for
doing
compute,
read
only
ride,
monitoring,
okay,
very
cool
and
then
there's
a
cluster
config
node
machine
type.
This
is
the
app.
So
this
is
the
standard
config
here
now
when
I
do
this,
the
question
is:
is
that
if
I
do
Const
cluster
2
equals
GC,
GC,
p,
dot,
I.
A
A
Okay
back
to
the
toy:
okay,
oh
I,
see
okay,
so
we're
doing
this.
Let's,
let's
I'll
stop
going
off
script
here,
oh,
you
have
to
add
the
dependencies
okay.
So
yes,
this
is
like.
Do
you?
How
do
you
know?
Okay,
how
do
you
add
the
dependency?
So
now,
if
we
go
through
and
if
I
do
know,
I
don't
want
to
pay
64
lines
at
the
prompt.
That
would
be
bad.
How
did
I
end
up
there?
We
go
copy
that
so
now
we're
actually
going
to
do
this,
and
this
will
install
the
dependencies
we
need
here.
A
A
All
right,
Pulu
me
has
yam
well
when
we
get
R
and
those
commands
and
creative
plumie,
dev,
namo
and
I
assume
that
there's
like
sort
of
an
inheritance
sort
of
implication
here
where
dev
is
merged
with
with
pollute
medium.
Oh
that's!
What
I'm
assuming
goes
on
there?
Okay
cool!
So
now,
if
we
go
to
index
now,
okay,
we
got
no
more
red
squigglies.
So
now
we
can
go
const.
Cluster
2
equals
new
gcpd.
A
A
Have
you
know
lots
of
help
here
in
terms
of
filling
this
stuff
out,
because
this
is
one
of
the
things
that
I'm
wondering
about?
Is
the
experience
when
you're
writing
this
stuff?
One
of
the
hard
things
is
that,
like
this
is
just
a
bag
of
values,
and
how
do
you
know
what
bag
of
values
to
actually
do
there
like?
A
You
know
the
right
experience,
so
so
there's
some
cool
examples
going
on
here
and
then
oh
and
here's
cluster
argh,
so
I'm
like
what
can
I
put
there
and
so
here's
the
things
that
I
can
put
in
cluster
args.
So
my
guess
is
that
a
lot
of
this
is
derived
from
the
from
typescript
itself,
I'm
guessing.
So
there's
a
lot
of
things
that
I
could
actually
put
in
here.
A
That
then
are
passed
in
so
that
so
a
lot
of
I
think
the
value
okay
I
can
press
f12
you're
assuming
that
I
know
how
to
press
okay,
so
alex
is
saying
you
can
press
f12
for
docs
and
he's
assuming
that
I
know
how
to
actually
do
that
on
this
keyboard.
But
let's
see
if
I
can
figure
that
out.
I
think
it's
this
key
in
this
key.
A
Look
at
that:
okay,
so
that
actually
takes
us
to
where
we
are-
and
we
see
the
the
declaration
or
the
typescript
sort
of
stuff
on
here.
So
so
that's
pretty
cool
yeah.
So
a
lot
of
the
value
that
paluma
is
bringing
here
is
that
they're,
taking
all
of
this
schema
of
how
I
configure
all
these
things
they're
rationalizing
it
across
cloud
providers
and
then
they're
providing
sort
of
like
friendly
wrapping
around
this,
so
that
you
have
good,
consistent
documentation.
A
A
This
is
one
of
the
things
that
confuses
me
is
that,
like
there's,
like
twelve
different
standards,
for
how
Java
Script
does
modules,
but
I
guess
typescript
actually
helps
to
constrain
it,
so
we're
gonna,
export
the
cluster
name
and
then
manufacture
at
GK's,
jke
style,
cute
config
note
that
this
is
slightly
different,
because
the
way
gke
requires
g-cloud
to
be
in
the
picture
for
cluster
auth,
rather
than
using
the
clients
or
key
directly
alright.
So
what
we're
gonna
be
doing
here
is
we're
gonna,
be
ginning
up
a
one
of
these
where
alright.
A
A
Os
is
applied
these
and
then
they
get
mapped
to
these
things
and
then
I'm,
gonna
click.
This
text
string
and
I'm
gonna
save
that
as
a
variable,
and
so
this
is
we're
just
doing
the
cube
config
stuff
as
it
goes.
So
this
is
one
of
those
things
that
I'm
sure
that
they're
thinking
about
this
is
that
there's
gonna
be
a
lunch
bunch
of
sort
of
boilerplate.
A
Let's
see,
they'll
use
like
cluster
data
endpoint
are
only
available
after
initialization
plumie,
don't
okay.
So
this
is
the
interesting
thing
that's
going
on
here
is
that
I
don't
know
what
cluster
endpoint
is
going
to
be
until
I
actually
launch
the
thing,
and
so
there's
this
duality
when
this
typescript
program
runs
where,
on
the
one
hand,
I'm
gonna
run
it
once
and
actually
generate
a
bunch
of
actions
that
will
like
do
stuff
in
the
cloud.
A
But
then,
once
some
of
those
things
become
available
to
me,
I
want
to
be
able
to
do
more
stuff,
and
so
this
implicitly
I
assume
creates
a
dependency
graph.
That
says
that
when
you
know
these
things
are
available
and
there's
probably
some
metadata
of
like
whether
these
values
are
initialized
and
what
produces
them.
When
these
things
are
available,
then
I
want
to
execute
this
stuff,
and
so
that
means
in
the
meantime
cube
config
is
actually
you
know
when
we
first
executed
saying
well.
A
This
is
a
sort
of
a
promise
that
I'm
gonna
be
able
to
get
something
from
this
once
these
other
things
in
the
graph
become
available.
I
think
that's
what's
going
on
here,
so
plumie
guys,
like
you
know
so,
here's
the
thing
Joe
like
is
mr.
programming
languages,
so,
like
this
stuff,
all
comes
naturally
for
him,
but
yeah,
alright,
and
then,
similarly,
we
have
created
kubernetes
provider
instance
that
uses
our
cluster
from
above,
and
so
this
is
actually
okay.
This
is
fascinating
because,
like
here
we
were
using.
A
This
could
just
easily
be
like
an
eks
instance
or
something
like
that,
and
so
so
once
we
get
to
this
point,
we're
in
kubernetes
land
we're
not
in
GCP
land
anymore.
Alright,
so
alex,
says
yeah
you
can
think
of
a
paluma
program
as
generating
a
graph
of
resource
operations
that
are
executed
by
the
engine.
Okay,
all
right
so
I
think
we've
gone
through
and
we've
looked
at
this
I'm
moving
very
slowly
through
your
tutorial
here.
A
A
A
All
right
so
Alex
says
yeah.
You
can
think.
Okay,
so
Alex
says
you
can
create
resources
in
the
apply,
but
we
actively
discourage
it
because
it
makes
the
plan
unreliable
yeah,
because
I
said
do
it
hash,
but
other
people
might
do
random
stuff
or
if
it's
a
Tuesday
or
whatever,
which
means
that
every
time
you
execute
it,
you're
gonna
get
a
different
result
so
fairly
rare
and
practice
to
be
able
to
do
that.
Stuff.
Okay,
so
I'm
asking
the
hard
questions
here:
okay,
so
this
is
the
best
guess
of
the
initial
graph.
A
A
So
I
don't
see
the
stack
anywhere,
and
so
the
stack
I
think
is
implied
based
on
based
on
the
this
blue
medium,
oh
okay.
So
this
is
GK
hello
world
and
then
we're
doing
the
dev
variant
of
it,
and
so
there's
a
mashing
together,
and
it
knows
how
somehow
it
just
does
a
dash
in
there
between
to
be
able
to
actually
create
that
name.
That
ends
up
being
the
container
here
and
I
bet
you
if
I
do
balloony
how.
A
A
Let
me
close
the
node
modules
if
I
reload
this
okay.
So
where
does
the
fact
that
I
have
foo
get
recorded
anywhere,
all
right,
I'm
off
script,
I'm
gonna!
Stop
it!
Okay,
I
will
just
do
plumie
up:
okay,
stat,
okay,
so
so
Alex
says
the
stack
is
just
a
collection
of
resources.
It's
a
pluming
construct
and
the
plumie
camel
is
a
stacked
description.
A
So
this
those
files,
the
mo
files,
only
store
okay,
but
if
I
go
through
and
I
I
guess
that
gets
stapes.
Oh
it's!
Oh!
If
I
go
here,
oh
I
see
okay,
so
that
gets
so
when
I
create
a
stack,
it
gets
saved
into
the
state
file.
And
so
that's
why
I
see
here:
okay,
here's
that
stack
that
I
created
when
I
did
that
can
I
delete
the
stack.
How
do
I
delete
the
stack
settings?
Oh
I
can
do
that.
Okay,
Oh
interesting,
so
the
stacks
are.
A
There's
a
global
name
space
for
the
stacks,
then
oh,
no!
This
is
under
GK
hello,
world
foo,
but
if
I'm
doing
it
okay,
so
so
this
okay.
So
this
is
interesting,
so
there's
there's
context
spread
everywhere.
So
if
I
go
here
and
I
do
balloony
and
I
run
this
command.
That
I
was
given
here
and
I.
Do
this
it's
gonna,
say:
I,
don't
know
what
you're
talking
about,
but
it
then,
if
I,
do
this
and
I
remove
it,
it's
actually
importing
some
of
that
from
them.
A
A
Alright,
we've
done
that
and
now
it's
like.
We
don't
know
what
you're
talking
about
there:
yep
okay
cool
sorry,
I'm,
going
totally
off
script.
Oh
George
has
to
take
off
for
the
day.
Thank
you
George,
thanks
for
all
your
help.
Thank
you
very
much
all
right
and
so
now
I
can
I
have
to
switch
back
now,
so
I
have
to
do
plumie
so
somewhere
in
here
there
is
like
there's
this
idea
of
the
current
staff
that
I'm
operating
with.
Where
is
that
store
because
I
don't
see
that
here
is
that
actually.
A
A
A
Do
I
want
to
create
it?
Yes,
this
will
go
through
and
create
gke
and
are
created,
gonna
create
the
cluster,
and
then
it's
gonna
create
the
kubernetes
provider,
which
is
I,
guess
the
stuff
that
is
balloony
:
Pulu
me
is
sort
of
like
synthetic
things
right.
These
are
not
reflected
into
the
cloud
anywhere
they're
just
reflected
into
the
state
file.
So
now
this
is
going
ahead
and
creating
the
cluster.
So
now,
if
I
go
here
and
if
I
go
and
I
bet
you,
if
I
look
at
kubernetes
engine
clusters,
look
at
that
we're
creating
it.
A
Where
did
the
0-8
DAC
3a
come
from
I,
wonder
so
so
this
is
injured.
We'll
see
this
a
lot.
So,
let's
see
so
this
is
so
when
we
were
doing
GCE
the
first
time
we
were
faced
with
a
decision
and
that
decision
was
do
we?
Let
people
name
things
because
you
know
when
you
create
a
VM
in
GCE,
you
can
give
it
a
name
and
that's
actually
kind
of
awesome,
because
we
then
take
that
name,
because
we
know
that
name
is
unique
and
we
do
things
like
reflect.
A
It
in
to
DNS
and
set
it
as
the
host
name,
so
we
can
do
a
lot
of
really
interesting
stuff
with
the
default
name
there,
but
it
creates
a
bunch
of
problems.
It
creates
a
bunch
of
problems
because,
first
of
all,
we
made
the
mistake
and
we
made
this
thing
global
and
we
should
have
made
it
per
region
or
per
zone
that
I
think
got
fixed
over
time
and
then
the
other
problem.
There
is
that
tools
like
balloony
or
terraform
or
at
the
time,
something
like
right
scale.
A
They
want
to
assume
that
they
can
always
say
create
me.
A
new
VM
and
it'll
actually
be
really
predictable,
and
so
our
answer
to
folks
who
are
like
well
I,
like
the
Amazon
model,
where
it's
a
I
say
crate,
VM
and
I
get
an
opaque
identifier.
That
I
know
is
unique
back
and
so
naming
is
this
sort
of
side
concept
with
ec2.
A
Our
answer
to
them
was
well,
you
can
always
just
you
know,
create
a
unique
name
by
appending,
a
random
string
to
it,
and
the
chance
of
collision
is
actually
very
low,
and
so
that
looks
like
that's
what
Pelini
is
doing
here.
All
right,
yan
alex,
says
yeah,
so
the
random
suffix
is
created
by
us,
so
you
can
instantiate
the
same
app
multiple
times.
You
can
also
manually
override
this
by
providing
a
name
and
the
arcs
to
the
new
cluster.
A
Okay,
so
we
could
go
through
and
that
being
able
to
provide
the
name
into
new
cluster
is
important
if
you
want
to
adopt
existing
infrastructure
and
I.
Think
anybody
who's
gone
deep
with
terraform
knows
that
you
know
if
you
manage
your
whole
world
with
terraform,
it's
one
thing,
but
if
you
have
existing
stuff
and
you
want
to
be
able
to
adopt
and
start
to
sort
of
reason
and
do
things
with
existing
stuff,
things
get
really
really
messy
pretty
fast,
but
part
of
the
state
file
that
then
gets
stored
into
the
plumie.
A
It
looks
like
it's
up.
They
get
stored
into
the
plumie
service,
then,
would
be
the
mapping
of
like
hey
the
cluster
name,
let's
see
so
there's
the
config
in
the
outputs.
So
if
we
look
at
resources,
what
we
see
here
is
that
we
have
a
thing
called
hello
world
and
that
they're
storing
you
guys
are
flashing
off
stuff
on
the
screen.
That's
bad
news:
okay,
they're,
then
storing
somewhere
here.
The
actual
name
of
the
thing,
so
so
that's
where
this
mapping
actually
gets
created
is
that
hello
world
here
gets
mapped
to
this.
A
That
then
gets
mapped
to
the
name
of
kubernetes
engine,
so
we
are
now
up
and
running.
Let's
see
what
the
command
line
looks
like
all
right,
so
this
thing
then
went
through
and
output.
The
cube
config
just
like
that.
Now
what
we
should
be
able
to
do.
Well,
let's
actually
uhm
you
stay
on
the
script,
all
right,
so.
A
A
I'm
gonna
have
to
replace
the
cluster,
and
so
this
means
that
what's
differing
is
the
initial
node
count,
the
name
and
the
config,
and
it
looks
like
we
don't
know
how
to
do
an
update
of
this
now,
because
it's
initial
node
count
I'm
wondering
so.
This
is
one
of
those
things
that
I
think
is
kind
of
interesting.
Is
there
a
way
to
actually
go
in
and
start
managing,
node
pools
and
stuff
like
that?
That
might
be
interesting?
Okay.
A
So,
let's
see
solely
by
saying
note
that
the
overriding
the
name
force
is
delete
before
replace
for
resources
that
require
a
unique
name.
This
will
take
another
five
minutes
recommend
skipping
yeah.
Okay,
there
are
ways
to
change
the
node
count
in
place,
but
you
need
to
create
node
pools,
etc,
etc.
So,
okay,
so
that's
an
advanced
move.
A
We're
not
gonna
go
ahead
and
do
that
I'm
gonna
go
through
and
I
assume
I
can
go
back
and
just
edit
this
stuff
here
and
set
this
to
two
and
one
and
now
Pulu
me
is
gonna,
be
smart
enough
to
say
you're
good,
so
I
want
to
perform
this
update,
there's
nothing
to
update.
That's
confusing
okay,
so
there
we
go
or
what
does
it
actually
just
try
and
reconcile
and
say:
hey
things
are
out
of
whack.
Okay,.
A
A
Actually
using
you,
you
need
a
set
up
keeping
file
on
down.
Looking,
we
can
logically
me
stacked
out,
put
the
seal
eyes.
Plumies
facilitate
that
downloads
cube
config.
So
oh
I
see
this
is
what
we
need
to
do.
Okay,
so
the
stack
output,
beef
config
says,
take
that
output
and
then
actually
do
so
one
of
the
interesting
things
that
I
think
is
really
fascinating
here.
A
A
A
What
does
it
say?
Nothing's
changed,
but
I'm
gonna
do
it
anyway,
and
now
we
actually
see
here.
It
actually
shows
me
a
delta.
The
output-
and
it
says,
Joe
Duffy-
is
cool,
have
a
great
weekend:
Anna,
okay,
there
we
go
export
constable,
II
mean,
and
we
can't
we
I
was
enabled
Ookla
me
because
our
name
conflict
with
the
import.
Okay.
So
then,
and
then
we
can
actually
go
through
and
get
this.
So
in
some
ways
this
feels
a
lot
like
cloud
formation
with
inputs
and
outputs,
or
at
least
does
to
me.
A
A
Cool
alright,
we
are
up
and
running
alright,
okay,
so
cool.
So
now
we
have
that
too,
but
let's
actually
do
something
with
plumie
here
and
so
access
the
kubernetes
cluster
balloony
providers
and
so
now
open
the
existing
TS
indexed
TS
and
append
the
following.
So
we're
going
to
do
some
nginx
stuff
here.
A
A
A
A
Why
do
I
need
to
do
what
is
M
name
apply:
M,
okay!
So
what's
going
on
here,
this
one's
confusing
me
here,
okay,
so
alex
says
this
is
being
simplified.
I
think
what
this
is
saying
here
is
that
this
may
actually
do
the
unique
a
vacation
here,
and
we
want
to
do
this,
but
we
won't
know
the
unique
name
until
we
actually
execute
the
thing
yeah
and
asked
metadata
name:
okay
and
we're
doing
that
on
the
cluster
provider
and
then
we're
going
to
create
an
engine,
X
deployment
and
then
nginx
deployment.
A
A
A
So
this
is
interesting
because,
when
I
do
GCPD
container
cluster,
this
type
here
assumes
that
I'm
getting
the
config
from
sort
of
ambient
config
here,
but
when
it
comes
to
kubernetes
and
I'm
talking,
there's
like
only
one
GCP
that
I'm
talking
to,
but
when
I'm
talking
to
kubernetes
I
might
be
talking
to
multiple
kubernetes
clusters,
and
so
I
have
to
provide
that
as
a
parameter.
Here,
it's
not
sort
of
ambient
global
state
which
is
kind
of
interesting
and
so
Joe
says.
A
If
you
didn't
specify
a
provider
explicitly
by
the
way
it
would
use
whatever
cluster
your
client
is
configured
to
talk
to
the
provider.
Cluster
provider
is
their
target.
The
Jiki
Jiki
cluster
queue
control,
so
it'll
actually
go
through
and
read
the
does
it
read
the
cute
config
environment
variable.
Does
it
actually
maintain
that
standard?
So
that's
something
I'm
wondering
about
okay,
so
then
export
the
deployment
state.
So
now
we're
actually
going
to
go
through
and
again
we're
doing
this
export.
So
it
shows
up
in
our
output.
A
Now
we're
gonna
go
through
we're,
gonna,
create
a
load
balancer
here
and
again
we're
taking
the
yamo
going
on
here
and
I.
Think
one
of
the
interesting
things
is
that,
like
this
is
super
explicit
here,
but
you
could
create
your
own
helper
library
and
typescript
I'd,
actually
sort
of
you
know
calls
out
the
stuff
that
you
really
care
about
and
I
think
this
was
something
that
we
looked
at
with
case
on
it
is
that
something
like
this
is
like
super
explicit,
but.
A
A
A
A
Can
I
go
through
and
like
I
guess,
I
could
always
go
through
and
like
load
up
a
llamo,
parser
and
parse
the
amyl
into
this
directly
and
then
be
able
to
import
my
existing
llamo
right
because
that's
gonna,
be
that's
gonna,
be
a
common
pattern
so
instead
of
nginx
lated
I
wanna
party,
I'm
gonna
do
this
because
I've
been
working
on
this
and
we're
gonna
see
if
we
can.
A
So
target
port
is
a
cheap,
okay,
so
cool,
alright.
Alright,
let
me
read
through
here
so
Bradley
Western
is
saying:
I've
not
used
anything
like
this.
Before
can
you
describe
the
benefits
over
just
using
the
GCP
console
also
have
I
check
it
in
to
get
with
my
team,
modify
it
or
some
automation,
I'm
not
going
to
add
no
to
5:00
a.m.
to
cater
for
capacity
and
Alex
is
saying
yeah
mo.
A
We
actually
have
a
config
file
thing
and
then,
at
the
end
of
the
tutorial,
we
have
an
experimentation
section,
important
convert,
llamo,
okay,
so
Bradley
I
think
you
know
that's
a
really
good
question.
I!
Think
if
you
just
I
mean
this
is
sort
of
like
all
comes
down
to
pets
versus
cattle,
if
all
you
want
to
do
is
create
a
couple
of
things.
You
know:
yeah
use
the
console,
that's
the
way
to
go.
I.
A
Think
part
of
the
question
is:
if
you
want
to
make
this
repeatable,
if
you
want
to
be
able
to
operate
across
multiple
environments,
if
you
you
know,
then
this
essentially
becomes
the
way
you
want
to
go
so
I.
Think
one
of
the
ways
to
think
about
this
is
that
you
could
go
through
and
launch
a
cluster
in
GCE
from
the
g-cloud
command
line.
If
you
wanted
to
do
a
repeatable
way,
you
could
wrap
that
in
bash.
A
A
It's
really
a
building
block
to
actually
start
building
into
that
yeah
joe
says
many
customers
will
use,
get
workflows
for
deployments,
will
augment
PRS
with
the
preview
dips
automatically
and
then,
when
you
merged
yeah,
so
so
this
I
mean
this
is
compatible
with
sort
of
that
whole
idea
around
get
ops,
but
also
looking
at
it,
not
just
for
kubernetes
but
across
sort
of
all
your
cloud
infrastructure.
Alright.
So
let's
do
balloon
me
because
I
don't
wanna
run
out
of
time,
because
I
want
to
have
plan,
but
I'm
learning
a
lot
here.
A
So
this
is
actually
really
cool
all
right.
So
now
it
says:
ok,
we
are
going
to
so.
It's
three
create
three
unchanged
I'm
a
little
bit
confused
here.
I
wish
that
the
preview
would
actually
show
the
stuff.
That's
unchanged.
Also
that
the
that
it
would
actually
say
cuz
I'm,
like
hey
what
happened
to
my
cluster
and
it
turns
out
that
the
cluster
is
still
there.
A
It's
just
that
and
then
the
other
yeah
and
so
and
then
I
want
to
look
at
the
code,
real,
quick
and
then
as
we
go
through
and
we
use
cluster
provider
cluster
provider
is
gonna,
depend
on
cube,
config
and
cube
configures
to
depend
on
this
stuff
resolving.
So
it
automatically
knows
that
hey
I,
can't
until
I
have
my
cube.
A
Config
I
can't
go
through
and
really
use
the
cluster
provider,
but
like
okay,
so
it
this
actually
comes
into
building
the
whole
trap
and
just
trying
that
like
build
a
model
here,
but
this
is
sort
of
an
ownership
graph,
not
an
execution
graph.
So
you
know
something
would
expect
me
to
see
the
name
space
being
nested
under
the
cluster
because
it
depends
on
the
cluster,
so
there's
really
sort
of
an
access
of
ownership
and
there's
an
access
of
execution
order
and
I
think
that
the
the
the
hierarchy
here
is
a
little
bit
confusing.
To
me.
A
A
Let's
see
Joe
says
also
know
many
folks
will
split
up
their
stats
into
finer,
green
things,
so
maybe
a
different
set
of
folks
working
that
I
am
and
then
other
folks
work
on
the
services.
Okay,
there's
a
details:
option
plumies,
okay!
So
let's
the
gloomy
details
is
that
it.
A
Okay,
that
shows
me
everything,
then
alright
cool,
so
we're
gonna
go
through
and
we're
gonna
launch
this
puppy,
and
so
now
it's
actually
talking.
Okay,
we
got
that
and
so
the
service
okay,
tempting
allocate
eat
IP
address
to
service.
Alright,
so
I
think
what's
happening
here
is
this
is
not
paluma
doing
this.
This
is
Pulu
me
actually
talking
to
the
kubernetes
cluster
and
waiting
for
the
kubernetes
cluster.
A
You
know
if
I
launch
a
job
does
dun
mean
that
the
job
is
up
and
running
a
kubernetes
job
or
does
John
Donne
mean
that
the
job
is
actually
done,
so
those
are
some
of
the
sort
of
trade-offs
that
I
think
folks
have
to
make
here.
Ok,
so
what
we
see
here
is
now
we
have
the
deployment
name
which
has
been
unique
Fi.
A
So
all
these
things
have
been
unique,
a5
and
now
I
have
an
IP
address,
and
now,
if
we
all
go
to
that
IP
address-
and
you
can
all
feel
free,
you'll
see
that
we
now
have
Corgi
up
and
running
here
with
the
name
of
the
so
we
actually
have
so
the
this
would
be
the
the
deployment
name
here
and
then
this
is
the
name
of
the
replica
set
and
the
name
of
the
pod.
So
we
have
like
a
whole
host
of
unique
áfive
things
here.
A
One
of
the
things
we
got
to
worry
is
that
there
is
a
limit
to
how
long
pod
name
can
get
and
so
I
think
it's
like
60,
32
or
64
characters
and,
as
you
start
doing
this
stuff,
it
ends
up
to
ends
up
expanding
past.
Okay,
so
I'm
sure
this
is
something
that
the
plumie
folks
have
had
to
deal
with
when
Polonia,
not
good
Rene's
terraform
provider,
greens
from
Amsterdam,
I'm,
not
sure
Lise.
What
you're,
what
you're
asking
there
all
right.
So
we
got
that
up
and
running
cool
we've
launched
something
that's
always
fun.
A
Okay,
we
got
about
20
minutes
left,
let's
see
if
we
can
do
this,
what
I
have
here,
Joe
and
Alex
and
plumie
crew
is
I,
have
two
clusters
and
what
I
want
to
do
is
I
want
to
be
able
to
I
want
to
be
able
to
I,
have
my
gke
cluster
right
and
so
I'm
gonna
call
this
one
gke
or
no
I
have
my
cube
config
my
cluster
provider.
So
this
is
gonna,
be
gke
cluster
provider
right
and
now
I
want
to
do.
Const
AWS
cluster
provider
equals
new
Cades
provider.
A
A
A
Think
OBS
crapped
out
I
mean
I'm,
not
sure
what
how
and
sometimes
like
it
gets
in
a
wacky
state
and
stop
sending
data.
Can
you
hear
me?
Yes
back
I'm,
sorry
about
that?
How
long
was
I
get
cuz
I
was
talking
to
myself
alright,
so
we
are
back.
A
A
A
Pulu
Mia
implements
okay,
so
a
bunch
of
things
that
plumie
does
differently.
Yeah
Mike
is
saying
that
I'm
gonna
need
to
do
this,
alright,
so
here's
the
what
I'm
gonna
try
and
do
now
and
we'll
see
if
we
can
get
this
done
is
I
want
to
I,
have
two
clusters
and
what
I
want
to
do
is
with
one
plumie
program:
I
want
to
be
able
to
actually
deploy
this
to
both
clusters,
and
so
what
I
have
here
is
I.
Have
the
gke
cluster
in
the
AWS
cluster
and
I
need
to
do.
A
A
Yeah
so
I
know
Mike
I'm
gonna
have
to
do.
Okay,
I
need
a
two-string
okay.
So
you
can't
hear
me
this
two-string
there
we
go
okay,
so
boom
all
right.
So
we
now
we
have
two
clusters
here
and
what
I
want
to
do
is
I
want
to
do
something
where,
like
I
loop
over
these
things
and
I'm
doing
both
of
these
things,
and
so
I'd
only
do
I'm
gonna
do
let
clusters
equal
gke.
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
Yes,
let's
see
if
we
can
steal
some
nope
nope,
nope,
nope
nope,
all
right,
I'm,
tired
of
this
in
tune,
Index,
yeah,
so
I
think
we're
gonna
we're
gonna
we're
gonna
we're
gonna,
we're
gonna
bail
on
the
prefixes
here.
It's
gonna
actually
recreate
some
stuff
I'm
going
to
see
the
interest
to
see
if
it
deletes
the
old
stuff,
because
it
should
know
about
the
old
stuff
in
the
state
file
and
know
that
I
should
delete
it.
And
then
the
question
is
okay.
So
then
the
next
question
here
is
that
apply.
A
A
A
Okay,
so
here's
this
is
fascinating.
Okay,
so
we
now
have
this
new
provider.
That's
a
synthetic
object,
called
hello
world
AWS
and
knows
that
we're
gonna
be
cradled.
What
did
I
just
do
there
and
it
knows
that
I'm
gonna
be
creating
hello
world
1
in
hello
world
0
across
these
two
different
things
we
don't.
Actually,
if
I
had
the
like
nice
prefixing,
it
would
actually
look
work
better
and
then
the
old
hello
world,
because
it
doesn't
have
the
0
&
1,
we're
gonna,
actually
be
forgetting
it.
So
we're
gonna,
delete,
3
and
create
7
objects.
A
A
A
We
actually
have
hello
world
running
there,
so
sweet
all
right
and
here
okay,
so
this
is
fastening
so
now
with
the
output,
if
I
output,
an
array
I
see
both
of
them
and
here's
my
recreated
the
service,
so
here
is
the
AWS
one
that
got
recreated.
I
mean
the
the
GCP
one
and
then
here's
the
AWS
one
and
it
takes
AWS
a
while
for
it
to
get
its
together
for
ELB,
because
EO
bees
are
expensive
to
bring
up,
but
I
assume
that
at
some
point
this
will
actually
be
up
and
working.
A
A
A
I
want
to
look
real,
quick
before
I
sign
off
here,
that
there
is
a
way
to
run
off-the-shelf,
yeah
Mille,
because
there's
this
this
ktml
config
file,
where
essentially
you're
saying
hey
I,
just
want
to
load
some
random
yamo
and
then
I
can
do
some
transforms,
which
means
that
I
want
to
go
through
and
muck
with
it
and
I
can
sort
of
create
a
bunch
of
resources
from
that,
and-
and
you
know,
this
yellow
may
have
multiple
objects
in
it.
So
this
transformations
I
assume
get
applied
to
to
every
object
that
we
see
come
through.
A
This
is
I
think
a
really
really
powerful
pattern,
and
this
is
one
of
the
lessons
that
I
think
we
learn
from
case
on.
It
is
that
for
a
lot
of
folks,
they're
gonna
have
pre-existing
investments
with
the
ammo,
and
so
the
the
fascinating
thing
is
like.
How
do
you
start
adding
value
in
an
incremental
way,
because
I
think
one
of
the
things
is
that
what
we
don't
want,
you
know
is
to
say:
hey.
A
You
have
a
bunch
of
Y
ammo,
but
now
you
have
to
go
through
and
write
a
bunch
of
typescript
before
you
can
get
sort
of.
You
know
that
first
hit
of
making
progress
with
this
I,
really
like
the
idea
of
being
able
to
mix
and
match
these
things
and
have
the
the
y
ammo
and
the
program
that
works
with
that
Y
M
will
Co
evolve
and,
like
I
said
I.
Think,
like
you
know,
if
we
were
gonna
do
caisson
it
over
again.
I
would
have
definitely
and
I
think
this
is
one
of
those
things.
A
That's
really
successful
about
customizing
we
haven't
done
an
episode
on
customized.
Yet
is
the
fact
that
customized
takes
the
Yambol
that
folks
are
already
learning
as
part
of
their
sort
of
getting
to
know,
kubernetes
experience
and
then
augmenting
that
versus
saying
here's
a
whole
new
thing
that
you
have
to
learn.
A
So
I
think
this
is
really
an
important
part
of
the
story
here
and
we
didn't
explore
it
because
I
thought
it
was
more
fun
to
to
actually
start
using
some
of
the
type
scripted
program
and
really
bring
in
some
real
programming
and
and
like
you
can
see,
like
you
know,
I'm
doing
things
like
you
know,
reading
a
file
using
the
node,
FS
library
right
so
you're
bringing
in
real
programming
language
is
here
to
do
this
stuff
and
I.
Think
that's
super
super
cool.
So
alright,
thank
you
for
joining
me.
A
I'm,
gonna,
sign
off
now,
and
thank
you
so
much
for
the
plumie
folks
for
joining
in
and
that
the
tutorial
that
we
went
through
I
think
they,
you
know,
I
know
Joe
and
team
stayed
up
late
last
night,
actually
pulling
this
stuff
together,
which
was
really
cool.
They
sent
me
some
other
stuff
that
you
can
explore.
That's
gonna
be
in
the
show,
notes
it's
in
the
hack,
MD
and
yeah,
and
so
Alex.
It's
like
a
lot
of
the
plumie
bits.
A
Look
like
what,
if
we
did
case
on
it
again
because
well
we
kind
of
did
so.
That's
yeah!
There's!
Definitely
you
know
and
we're
all
learning
from
each
other
too
I
think
like
like
I,
look
at
customize
and
I'm
like
there's
a
lot
that
I
think
people
get
there,
I
look
at
helm
and
I.
Think
the
strength
of
helm
and
I
think
this
is
one
of
those
things.
That's
in
that
agro
blog
post
that
I
mentioned
the
beginning.
The
strength
of
helm
is
the
fact
that
they
have
this
sort
of
store.
A
Where
you
can
go
and
actually
say,
I
want
to
bring
up
my
sequel
boom.
That
configure
is
already
there,
and
so
you
know
we're
all
learning
from
each
other
as
we
do
these
things.
So
it's
really
really
fascinating,
so
yeah.
Thank
you.
Everybody.
Next
week
it's
going
to
be
Duffy,
he's
going
to
be
digging
into
secrets.
A
Hopefully
I'm
gonna
survive
the
storm.
I'll.
Give
you
all
one
last
look
on
my
window
here.
You
can
see
that
it's,
but
you
know,
but
my
mailman
is
a
male
person
is
down
there
actually
delivering
the
mail.
So
you
know
that's
not
stopping
the
u.s.
mail
service,
so
yeah.
Thank
you
all
and
we'll
see
you
next
week
and
I'm
gonna
go
ahead
and
I'm
gonna
go
ahead
and
sign
off,
and
thank
you
for
everybody
for
joining
me
have
a
nice
weekend.
If
your
weekend
hasn't
already
started,
it's
started
now
all
right
talk
to
you
later.