►
From YouTube: TGI Kubernetes 067: Spring Boot on Kubernetes
Description
Come hang out with Kris Nova as she does a bit of hands on hacking of Kubernetes and related topics. Some of this will be Kris talking about the things she knows. Some of this will be Kris exploring something new with the audience. Come join the fun, ask questions, comment, and participate in the live chat!
A
Hello
and
welcome
to
TGI
K
I'm
gonna.
Do
my
classic
punch
the
air
that
I
do
every
time.
How
is
everybody
doing
today?
It
is
exciting
for
me
to
be
back
here,
doing
TGI,
K
and
seeing
everyone
oh
wow,
I'm.
Looking
in
the
chat
now
looks
like
we
got
some
people,
let's
see
who's
all
here,
so
David,
med
Barry
is
the
first
one
to
join
so
hands
off
to
David
for
being
the
first
one.
This
week,
I
just
wanted
to
know
if
he
was
the
first
one
I
think
David
beat
you
to
it.
A
L'm
Madi
classic
good
to
see
you
Ashish,
oh
no
I
thought
I'd
be
first
hello
from
the
Netherlands
I.
Think
Joe
is
going
to
come
in
and
say
hi
to
LeMat
he's
here
as
she's
charged
love.
Mike
Mary
also
is
happy
Friday.
What's
releasing
now
you
can
see
so
you
do
it
differently
than
I.
Do
so
you're
down
there
yeah.
A
Chris
always
makes
fun
of
me
because
I
have
a
system
for
everything
like
yeah,
but
I
do
the
same
thing.
So
it's
okay!
Okay,
all
right!
So
do
you
wait?
You
see
Jeff
we're
gonna
get
started,
okay!
Let's
take
a
look
over
here
and
see
what
we
got
for
this
week
in
kubernetes,
which
George
was
nice
enough
to
just
hear
sub.
So
kubernetes
1.14
is
in
code,
freeze
and
George
I
just
want
to
say
I
really
like
the
use
of
your
emojis
this
week
it
looks
really
cool.
A
We
should
do
more
emojis
in
our
readme
Docs.
Here,
oh,
we
have
more
people
stay
in
hi,
David
says:
hey
George,
steve
says:
hey,
hey,
Jonah,
says
happy
Friday
Oh
Union
for
hello
from
Istanbul
I.
Think
that's
our
first
Istanbul
that
I've
ever
seen.
We
have
somebody
saying
howdy
good
to
see
everyone
so
code
freeze
and
it's
not
Gigi
I,
can't
if
I,
don't
say
wow
we're
in
code
freeze
again-
and
this
always
happens
like
week
after
week
after
week.
The
kubernetes
release
cycle
is
just
that
fast
anyway.
A
We're
here
at
one
point,
fourteen
I
think
when
I
first
started
doing
TGI
K
I
want
to
say
we're
at
one
nine
one-ten.
It's
been
crazy,
so
yeah
kubernetes
has
come
a
long
way
in
the
past
couple
of
years
and
it's
been
exciting
to
be
here
and
be
a
part
of
it.
But
anyway,
1.14
is
in
code.
Freeze,
Rory
McCune,
says
hi
Chris,
hi
Rory
good
to
see
you
great
name
Oh.
Next
nicolas
is
pretty
neat
prizes.
A
A
Working
group
LTS
is
running
a
survey.
Lts
set
long
term
support.
So
that's
like
a
long
term
supported
version
of
kubernetes.
If
you're
familiar
with
LTS
an
Ubuntu.
It's
pretty
much
the
same
thing.
We
have
a
working
group
looking
at
the
state
of
kubernetes
community
support,
release,
Kayden's
support
lifecycle,
upgradability
and
we're
seeking
feedback
from
users
of
clusters.
A
Folks
who
run
clusters
and
vendors
would
downstream
versions
of
kubernetes,
well
feedback
from
nova
says
we
release
all
the
time
and
I
love
it
and
I
kind
of
hate
it
at
the
same
time,
but
I
don't
know
I've
been
doing
it
for
so
long
I'm,
like
afraid
of
change,
so
like
keep
up
the
good
work
would
be
my
my
feedback
here.
Brian
says
hi
from
denmark.
A
Let's
see
what
else
we
got:
AWS
Google
Microsoft
and
Red
Hat
wow,
that's
like
everyone
launch
operator
hub
dot,
IO
see
what
this
is.
This
looks
exciting.
Is
that
what
I
think
it
is?
Is
it
just
like
all
of
the
operators?
I
think
it
is?
Is
a
new
home
for
the
kubernetes
community
to
share
operators
find
an
existing
operator
or
list
your
own?
Today,
oh
wow,
let's
see
the
spark
operators
in
here
nope,
not
even
here
yet,
okay,
that's
cool,
so
this
is
kind
of
like
the
kubernetes.
A
This
is
like
the
the
helm
charts
thing,
but
for
operators
which
I
like
operators
more
than
just
like
a
static
deployment,
cuz
operators-
you
can
make
some
logic
into
it
and
they
can
like
do
more
advanced
features.
And
everybody
knows
if
I've
said
it
once
I've
said
it
a
million
times
being
able
to
get
a
status
from
an
operator
is
select
the
clutch
moves
like
that's.
That's
the
real
win
for
the
operators,
their
CEO
says
hi
from
Greece.
We
have
a
lot
of
folks
joining
from
the
you
thanks
for
joining
I.
A
Think
it's
like
it's
Friday
night.
There
I
want
to
say
so
yeah
thanks
for
joining
in
spending
your
Friday
night
with
me
or
Saturday
morning,
depending
on
where
in
the
world,
you
are
so
anyway
operator
hub,
brought
to
you
by
all
the
people
in
all
the
clouds
coming
up.
Next,
we
have
building
distributed
systems
with
kubernetes
with
eric
saint
martin,
a
40
minute
talk
from
go
to
chicago.
Oh,
I
don't
have
fancy
youtube,
so
we're
not
gonna
watch
it
because
we
have
ads
but
yeah.
A
It
looks
like
this
is
a
40
minute
talk
that
eric
did
I
used
to
work
with
Eric
at
Microsoft.
He
is
a
great
fantastic
speaker.
One
of
the
really
exciting
things
about
Eric
is
you'll,
never
see
the
same
same
talk
twice
with
him,
so
he
customizes
them
each
time
and
caters
to
them
to
to
the
audience
each
time.
A
That
I
decided
to
start
working
on
we're,
calling
it
architecting
systems
with
kubernetes
and
the
whole
point
of
the
book
is
to
explore
all
of
the
different
types
of
systems
that
you
would
find
in
the
wild
and
what
it
looks
like
to
move
those
to
kubernetes.
So
stay
tuned
for
more
updates
on
that.
It's
still
in
the
development
process
and
we're
still
figuring
out
how
it's
all
going
to
work
out,
but
hopefully
we'll
get
that
out
by
the
end
of
this
year.
A
If
we're
lucky
depends
how
much
I
can
write,
but
anyway,
let's
see
we
have
Silvio
hai
from
Basel.
That's
all
I
have
no
idea
where
that
is.
You're.
Gonna
have
to
tell
me
where
that
is
anyway.
Let's
go
back.
We
have
Lisa
spur
CBE
2019,
one
hundred
twenty
one
hundred
know
which
CVE
was
this.
A
denial-of-service
vulnerability
was
reported
in
the
cube
API
server
in
which
authorized
users
with
API
write
permission
can
cause
the
API
server
to
consume
excessive
resources.
Okay,
so
you
could
like
das,
the
API
server.
A
The
issue
is
medium
severity:
okay,
because
there's
no
remote
command
injection
or
execution
here.
So
it's
not
like
the
one
we
had
a
few
months
ago,
but
it
looks
like
we
have
a
release
for
it.
I
mean
it's
a
bummer
that
we're
having
to
do
some
of
this,
and
people
are
fighting
in
these
vulnerabilities,
but
it's
also
really
exciting
at
the
same
time,
because
every
time
one
of
these
comes
out,
that
means
skitty
more
and
more
battle-tested.
It's
getting
stronger,
it's
getting
more
secure.
A
So
in
a
weird
way,
it's
really
good
when
these
types
of
things
happen
because
they
it
really
helps
us
lock
down
our
systems.
So
this
is
exciting
to
see
hello
from
Lima
Peru
Sylvia
says:
oh
hi
basil
is
in
Switzerland
Switzerland.
Now
that's
a
place.
I
really
want
to
go
check
out.
I've
been
really
wanting
to
do
the
The
North
Face
of
the
Eiger.
A
A
White
tea.
Tea
is
a
templating
tool
that
understands
ya,
know,
structure,
allowing
you
to
focus
on
your
data
instead
of
how
to
properly
escape
it.
Oh
good,
more
yeah,
Mille,
oh
I,
like
this
website,
is
very
1990s.
Yt
t
is
a
templating
tool,
easily
template
kubernetes,
Hamill,
config,
concourse
pipelines,
cloud
foundry
boss
manifests
that's
really
exciting.
Aws
CloudFormation
and
it
looks
like
it's
on
github.
Let's
go
check
this
out.
Everybody
knows
I
want
to
go,
pull
it
up
on
github
and
see
what
they
have
here.
It's
a
templating
tool.
A
Okay,
so
it's
just
like
another
templating
language
kind
of
similar
to
like
the
text
template
go
package
that
helm
uses
to
template.
Yeah
Mille,
but
it
looks
like
it's
a
different
type
of
templating
language
and
you
can
use
it
with
yeah
Mille
as
well
as
a
handful
of
other
things.
Cbl
says
and
swim
in
the
rhine
and
roy
says
walking.
/
climbing
in
switzerland
is
amazing.
Yeah
walking,
/
climbing
any
wherever
there's
glaciers
and
sharp
pieces
of
granite
is
usually
like.
A
The
happiest
you'll
ever
see
me
that
or
like
when,
like
something
works
in
the
first
time,
both
are
equally
exciting.
But
anyway,
this
new
ytt
templating
tool
looks
pretty
cool.
What
does
it
written?
It
sure
didn't
go
okay,
so
you
could
come
in
and
you
could
actually
do
this,
probably
and
bake
it
into
like
a
cool
deployment
tool
or
something
if
you
wanted
to
so
yeah.
This
is
a
good
fine.
I'm
gonna
actually
give
this
one
a
star.
A
Won't
you
all
right,
let's
see
what
we
got
next
crontab
spelt
with
a
k',
that's
a
very
nova
thing
to
do,
but
it
says
the
crontab
like
editor
for
kubernetes
cron
jobs.
Oh
this
is
cool
okay,
so
if
you
know
cron
syntax,
which
what
is
it
off
the
top
my
head,
so
I
think
this
is
every
every
one
minute
of
every
day
it
says
echo
hello.
If
I,
if
I
interpreted
that
right
somebody
who
writes
wrong
tabs
all
the
time
can
probably
tell
you
off
the
top
of
their
head
much
better
than
I
can.
A
That
I
think
my
Emacs
is
actually
broken
right
now,
yeah
cannot
load
Open
File,
regardless
I
was
going
to
try
to
show
y'all
what
the
crontab
syntax
was,
but
you
can
do
a
crontab
e
on
your
system
and
see
for
yourself
or
you
can
just
cut
at
C
crontab.
A
A
The
application
like
deployed
to
kubernetes
and
we're
gonna
go
poke
around
and
see
what's
going
on,
and
this
is
all
going
to
be
coming
from
a
lot
of
the
work
that
I
did
earlier
last
year.
So
almost
exactly
a
year
ago
is
when
we
did
this
and
we
were
doing
like
a
moving
monolithic
applications
to
kubernetes
like
a
weekly
session.
A
So
it
was
me
and
a
handful
of
other
folks
who
who
helped
build
this
project,
that
I'm
about
to
pull
up
and
it's
a
spring
boot
project
and
I
figured
that's
gonna
be
perfect
for
us
to
look
at
today,
but
we
can
also
look
at
forking
there's
a
couple
of
sample
repositories.
If
you
just
google
I,
think
I
have
one
here
spring
boot
getting
started
yeah
it's
this
one
here,
github.com
spring
guides
GS
spring
boot.
You
can
just
fork
this
and
that's
like
a
good
like
welcome
to
spring
food.
A
Here's
like
99%
of
the
stuff
you
need
so
anyway,
let's
get
started
and
let's
actually
talk
about
what
spring
is,
or
at
least
what
Nova
think
spring
food
is.
So
it's
a
way
of
easily
configuring
and
creating
Java
libraries
for
commonly
used
patterns
in
Java.
So,
a
long
long
time
ago,
in
a
galaxy
far
far
away,
I
worked
on
a
Java
and
Scala
team.
It
was
actually
in
Boulder
Colorado.
A
It
was
for
a
company
called
SolidFire
before
we
got
acquired
and
we
did
a
lot
of
MVC
style
coding,
which
is
model-view-controller
so
if
you've
written
any
like
front-end
code
before
or
if
you've
worked
with
any
of
the
the
libraries
before
MVC
is
a
pattern.
You're,
probably
pretty
familiar
with
spring
Boop
sort
of
gets
all
the
noise
in
the
boilerplate
out
of
the
way
for
you.
A
So
if
you
walked
up
to
an
empty
repository
and
said,
hi
I
want
to
write
some
MVC
code
today
or
I
want
to
build
a
simple
web
API
or
a
simple
web
server.
You
could
go
in
and
you
Springs
out
to
create
your
your
base
code
for
you
and
we're
gonna
go
through
and
look
at
an
example
of
that,
and
this
is
actually
how
we
started
the
project
originally
and
it's
grown
from
there.
A
A
Awesome,
okay,
building
an
application
with
spring
boot.
This
guide
provides
sampling
of
how
spring
bouquet
helps
you
accelerate
and
facilitate
application
development.
So
again-
and
it's
just
like
getting
you
started
and
in
a
few
runs
on
the
command
line,
you
can
go
from
an
empty
you
directory
to
a
functioning
compilable,
Java
app.
So
in
this
example,
it
says
we
need
about
15
minutes,
our
favorite
text,
IDE
or
text
editor,
the
one
that
I
picked
out
again.
A
This
comes
from
my
Scala
days
is
I
got
IntelliJ
up
and
running,
and
this
is
very
similar
to
the
the
golang
goal
and
application
I
mean
open
this
up,
so
y'all
can
actually
see
how
similar
these
things
are
here:
I'll
open
up,
TGI
K.
Why
not?
And
then
I
can
use
my
hotkey
here.
So
this
is
Golan,
and
this
is
designed
for
golang,
and
this
is
is
IntelliJ,
which
is
designed
for
Java
and
Scala,
and
there's
a
lot
of
different
plugins
you
can
get
for
these.
A
It
works
very
similar
to
eclipse
if
you've
ever
used
Eclipse
in
a
past
before
anyway.
This
is
a
what
we're
gonna
be
using
to
look
at
our
Java
code
and
actually
run
some
of
this
stuff
today.
So
let's
go
back
here,
so
we
got
that
JDK
1.8
or
later
so
I
installed
open
JDK.
If
you're
not
familiar
with
that,
there's
like
two
main
options
here,
there's
like
the
Oracle
JDK
or
there's
like
the
free
open-source
community
version.
One
I
think
the
open
JDK
is
like
what
most
Java
developers
prefer.
I
certainly
prefer
it.
A
It
just
seems
a
little
bit
easier
to
install
and
it
comes
with,
like
the
the
free
open-source
spirit
behind
it,
which
is
important
to
me
as
an
engineer
all
right,
so
we
need
Gradle
or
maven
I'm
a
maven
girl,
I've,
always
been
one.
So
I
got
maven
installed.
A
It's
really
got
going
here,
okay,
so
I'm,
actually
in
my
home
directory,
so
it
tried
to
actually
build
something,
but
since
we
don't
have
anything
a
POA,
XML
or
Palm
XML
file,
it's
it's
the
only
notice,
but
anyway
we've
got
that
and
we've
got
Java
up
and
running.
So
we
can
do
Java,
help
and
I.
Think,
somewhere
in
here,
we
can
do
a
version
in
this
unit
version.
We
have
version
right
here.
So
let's
clear
our
screen,
Java
version,
okay,
so
we
are
running
at
eleven
point
two
now
this
is
important.
A
A
So
this
is.
This
was
one
of
the
top
five
blogs
of
2018
and
it
talks
about
running
the
JVM
inside
a
container
and
there's
one
sentence
here
that
I
really
just
want
to
read
to
everyone
right
here.
This
is
the
big
one
in
told
Java
9.
The
JVM
did
not
recognize
memory
or
CPU
limit
set
by
it.
Containers
using
flags
in
Java,
10
memory
limits
are
automatically
recognized
and
enforced.
So
if
you've
ever
ran
a
younger
than
Java
version
and
application
in
kubernetes-
and
you
have
your
pod
memory
set
lower
than
the
JVM
memory.
A
You'll
notice
that
you'll
get
this
killed
or
out
of
a
memory
killed
status
for
your
pods.
It's
very
familiar
and
it's
a
really
common
mistake
that
folks,
don't
don't
understand,
what's
happening
and
basically
what's
going
on
behind
the
scenes
is
the
JVM
is
just
basically
building
up
more
than
the
containers
allowed
to
take
up
and
then
kubernetes
and
docker
come
in
and
say
no.
You
can't
do
that
and
we're
gonna
stop
the
process.
A
Roy
says
you'll
want
to
use
open,
JDK
some
interesting
license
stuff
for
commercial
applications
with
Oracle,
JDK
I.
Think.
Yes,
that's
a
very
good
point.
There's
there's
licensing
the
concerns
because
it's
a
company
sponsored
programming
development
kit
at
that
point.
Another
reason
why
free
open-source
is
my
preferred
Avenue
if
there
is
everyone
available
and
speaking
of
that,
that's
what
I
downloaded
for
IntelliJ.
A
So
if
you
want
to
get
into
IntelliJ
and
start
writing
a
spring
boot,
app
do
do
I
think
it's
this
one
yeah
it's
IntelliJ,
IDE
or
idea,
and
you
can
go
to
download
and
then
here's
the
community
one
so
for
JVM
and
Android
development,
and
we
have
to
do
the
cookie
thing
because
it's
2019,
so
you
could
just
download
that
one
here.
So
let's
put
this
right
here
to
download
IntelliJ,
we'll
paste
that
in
there
we
go.
A
So
if
anybody
anybody
wants
to
grab
that
feel
free
to
click
that
link
alright,
let's
go
back
to
our
blog
here.
So
this
goes
into
a
lot
of
detail
and
it
explains
exactly
what's
going
on
and
gives
you
some
runnable
examples.
So,
if
you're
serious
about
running
the
JVM
in
kubernetes
or
in
a
container
with
a
tool
like
spring
booty,
you
probably
ought
to
come
through
and
read
this
blog
and
get
a
good
idea
of
what's
actually
going
on
behind
the
scenes.
A
What's
super
interesting
about
this
is
Sophia
the
person
who
wrote
this
blog
was
one
of
the
original
members
of
the
working
group
that
I
mentioned
earlier.
When
we
wrote
the
the
spring
bid
application
that
we're
gonna
be
running
today,
so
she
was
a
big
part
of
joining
those
phone
calls
and
helping
out
so
really
big.
Shout
out
to
her
and
our
friends
at
docker
who
wrote
this
blog,
that's
been
up
and
it
helps
us
understand.
A
What's
going
on
with
containers
and
the
oh,
so
popular
JVM,
okay,
so
back
to
our
spring
boot
documentation,
I
know
that
was
a
really
long-winded
way.
But,
yes,
we
have
jdk
1.4,
some
very
specific
reasons
that
our
kubernetes
container
related
and
not
necessarily
the
spring.
Boot
really
did
I
mentioned
I'm
a
maven
girl,
so
I
have
maven
installed
and
it
says
you
can
also
import
the
code
straight
into
your
IDE,
meaning
you
can
do
this
IntelliJ
thing
which
I
haven't
done
this
yet.
A
A
But
what
we're
gonna
do
is
we're
gonna
scroll
down
and
we're
nice
to
go
right
into
how
to
complete
this
guy
and
we're
just
gonna
kind
of
walk
through
this
steps
and
then
we're
gonna
jump
over
and
actually
like
start
playing
with
java
compiling
stuff.
Getting
it
running
on
the
JVM
will
even
look
at
some
Java
code
and
then
we're
gonna
actually
get
that
up
and
running
as
a
deployment
in
kubernetes.
A
Alright.
So
how
to
complete
this
guide?
There's
another
getting
started
guide,
but
you
can
either
start
from
scratch
or
you
can
build
with
Gradle
and
just
get
the
basics
do
the
following.
So
basically
you
would
just
download
and
clone
this
repository,
which
we
can
go
ahead,
and
just
do
this
really
quick.
So
we'll
go
to
my
home
directory,
we'll
just
make
a
new
directory
called
TGI
Kay,
and
in
here
we
all
do
our
git
clone
get
clone
cool.
A
So
now
we
can
go
into
our
example
repository
here
and
you
can
see
we
have
initial
complete
test,
readme
a
doc
etc,
but
it
might
be
a
little
bit
wiser
if
we
just
go
here
and
look
at
this
and
github.
So
we
effectively
have
a
copy
of
this
now
locally
on
my
computer
here
and
I'm
just
running
my
macbook,
and
you
can
see
here's
a
table
of
contents
that
say
what
you'll
need
of
what
you
you'll
build
and
you
can
learn
what
spring
food
can
do,
and
this
is
actually
a
really
great
example
of
learning.
A
Concretely,
what
exactly
spring
mood
is
gonna
be
able
to
do
for
you.
So
if
you
have
MVC
problems,
you
can
use
spring
MVC
if
you
use
jetty
spring
boots,
gonna
be
meaningful
to
you
same
with
time
time
leaf.
I.
Think
I
said
that
correctly
and
then
I
just
goes
through
and
tells
you
how
to
create
a
simple
one
application.
A
So
you
can
come
in
and
you
look
in
your
oh,
so
famous
source,
main
Java
and
then
we're
just
going
to
have
a
hello
package
called
hello,
controller,
Java
and
then,
of
course,
to
run
that
you
would
just
do
Java
jar
and
then
point
to
the
class.
You
wanted
to
run
so
yeah,
here's
run
the
application,
or
in
this
case
we
we
package
it
up
with
maven,
and
then
we
do
our
job
on
track.
A
Ok,
so
that
spring
boot,
in
a
nutshell,
William
says
for
folks
stuck
on
older
versions
of
the
Java
open,
JDK
8,
you
131,
introduced
experimental
JVM
options
that
make
the
JVM
respect
memory
and
CPU
limits.
Oh
that's,
really
exciting!
William
I
did
not
know
that
if
you
have
any
good
material,
there
feel
free
to
oh
there's
an
example:
XX
unlocked
experimental
V
options.
You
see
group
memory
leap
limit
for
heap.
A
Ok,
so
that's
when
we're
actually
going
to
respect
the
C
group
memory
setting
which
is
effectively
how
a
container
works
is
by
using
the
kernel,
feature
C
groups
and
taking
advantage
of
kernel
name
spaces
which
are
so
new
features
in
the
kernel.
If
somebody
could
be
oh
so
kind
in
copy
Williams
example,
here
with
a
little
bit
of
a
text
into
our
readme
here,
that
would
be
super
helpful
for
me.
So
I
can
go
on
with
talking
about
spring
food
and
take
a
sip
of
beer.
Of
course,
oh.
A
Man
just
one
of
my
favorite
breweries,
it's
in
a
it's
in
or
again
it's
in
Portland
they're,
great,
ok.
So
where
were
we?
Let's
go
back?
Okay,
so
we
forged
this
repository.
Well,
we
didn't
technically
fork
it.
We
just
downloaded
it
and
it
says
you
can
go
in
here
and
you
go
into
this
initial
directory.
So
let's
do
that.
A
And
here
you
can
see
here
we
have
our
P
om
XML,
and
here
we
have
build.gradle
and
a
couple
of
other
things
like
a
batch
file
and
a
Gradle
W
file.
If
you're
running
in
Windows,
that
would
be
relevant
for
you.
Let's
go
back
and
it
says
when
you're
finished,
you
can
check
your
code
results
against.
Does
it
actually
tell
you
how
to
run
the
code?
A
No
I,
don't
think
it
does
alright,
let's
just
try
this.
Let's
try
me
havin
package
and
see
what
this
does
and,
of
course,
mavens
gonna
download
the
internet
for
us.
I
think
this
is
gonna
work.
Fine,
so
interesting,
yet
build
success,
yay
success.
So
this
is
interesting
because
spring
boot
isn't
really
actually
a
tool,
it's
more
of
an
idea
or
concept
or
a
grouping
of
examples
and
patterns
commonly
used.
A
So
it's
almost
like
a
canonical
or
colloquial
or
idiomatic
example
of
like
a
restful
api
server
or
like
an
MVC
project
that
you
might
be
starting
to
work
on.
In
our
case,
we
have
a
well
it'll
save
the
application
for
later,
but
we
just
to
like
kind
of
give
folks
that
hint
at
what
we're
gonna
be
looking
at
later,
we
wrote
an
application
specifically
designed
to
break
and
be
hard
to
run
in
kubernetes,
so
that
we
could
test
it
against
our
kubernetes
wits.
A
So
we're
gonna
look
at
some
really
interesting,
multi-threading,
going
on
in
Java
doing
some
really
crazy
stuff
here
in
a
little
bit.
Okay,
so
anyway,
we've
got
this
package
built.
So
now,
if
we
list
I
think
target
is
where
I'm
Athens
spit
stuff
out.
Yes,
okay,
so
I
haven't
actually
ran
maven
in
like
five
years.
So,
like
give
me
a
second
here,
okay,
so
we
should
be,
do
be
able
to
do
Java
jar
and
then
run
this
thing
here
and
there
it
is.
A
There's
our
spring
food
app
Roy
says
it
had
three
closed
sections
on
how
to
build
the
app
you
have
to
expand.
The
header
section
according
to
which
Bill
tool
you
want
to
use
is
my
guess:
okay,
so
there's
probably
some
arrows,
I
missed,
but
I
think
we
were
able
to
actually
run
our
application
anyway,
let's
go
back
to
Chrome.
A
A
Well
we're
able
to
compile
it
and
we're
able
to
get
to
this
point
here,
which
is
where
it
spits
out
this
little
snippet
that
we
saw
earlier
in
the
documentation,
so
we're
actually
able
to
run
this
app
I'm
gonna
go
ahead
and
say,
like
that's
sort
of
like
the
welcome
to
spring
boot
like
101
course.
It's
just
a
way
for
you
and
your
team
to
get
started
into
like
sort
of
start.
A
Your
applications
in
the
same
place
every
time
so
that
there's
not
this
overhead
or
boilerplate
of
like
having
to
relearn
somebody
else's
new
Java
patterns,
which
is
very
easy
for
you
to
create,
if
you've
ever
written
in
java
application
from
scratch
before
I've,
probably
rewrote
written
like
the
same
boy.
Look
boilerplate
code,
three
or
four
times
in
my
career
and
spring
boot
just
takes
that
away
for
us
from
and
may
gives
us
an
canonical
example
of
it.
So
that
is
super
helpful.
So
now,
let's
go
look
at
our
monolithic
application
that
we
built
last
year.
A
So
if
you
go
back
here
to
the
readme,
we
have
this
link
here
called
monolith
app.
So
it's
I
hope
this
is
the
wrong
link.
Let's
fix
this.
It's
a
github
comm,
slash,
FTO,
slash,
monoliths
yeah!
This
is
it
here.
So
this
is
an
application.
I
wrote
most
of
the
Java
and
then
we
had
some
other
folks
come
in
and
do
some
other
things
that
we're
gonna
look
at
in
just
a
second.
But
let
me
fix
this
first
monolith
app
here.
A
That's
what
we
want
to
fix
cool
so
save
that
okay,
so
we
had
originally
written
this
thing
in
Java
and
we
were
gonna
move
forward
with
rewriting
in
it
in
a
different
programming
language,
and
we
decided
that
we
had
learned
enough
from
Java.
So
we
put
the
project
on
hold,
and
this
is
where
it's
been
in
sort
of
this,
like
it's
sort
of
no
man's
land
state
here
for
the
past
year.
A
So
but
if
you
come
in
here
into
the
application,
slash
Java
directory
you'll
actually
see
a
real
java
application
designed
to
break
in
kubernetes
that
it
has
all
the
kubernetes
stuff
done
for
us
and
again
we
sort
of
went
out
of
our
way
to
make
some
of
the
this
these
things
harder
than
they
should
be
otherwise.
But
it's
a
really
great
example
of
like
explaining
concretely
what
we
need
to
do
and
then
we
can
talk
about
some
of
the
tools
that
will
make
doing
this
a
little
bit
easier.
A
A
So
it
found
our
spring
boot
project
and
it
went
ahead
and
clean
it
up
for
us.
Ok
and
now
we're
going
to
do
our
make
dev
and
this
if
everything
works
should
run
it
locally
and
then
we're
gonna
get
to
this
magical
point
where
we're
gonna
actually
talk
about
Cloud
Foundry
for
a
little
bit,
but
I
want
to
make
sure
that
we
can
get
this
up
and
running
and
all
if
we
go
and
we
look
in
IntelliJ.
A
If
we
look
at
the
make
file,
it's
like
the
world's
simplest
make
file,
make
dev
just
does
Java
D
server
and
tells
it
a
port
number
to
listen
on,
and
it
says
jar.
And
then
it's
just
the
target
that
we
have
defined
here
in
our
pom.xml,
which
again
this
pom
dot
XML
is
most
of
this
was
written
by
the
spring
food
application
that
we
downloaded
earlier.
I.
A
So
the
make
file
just
basically
runs
our
jar
and
it
tells
it
to
listen
on
port
8080.
So
let's
go
ahead
and
do
this
now
make
them.
So
we
should
see
our
spring
logo
pop-up.
If
everything
goes
well
there.
It
is
so
when
you
see
this,
this
is
the
spring
boot
app
starting
and
so
there's
Java
libraries
that
spring
has
like
sort
of
built
for
us
that
we're
downloading
and
we're
using
that
give
us
all
of
this
flexibility,
all
this
boilerplate
out-of-the-box.
A
So,
let's
scroll
down,
there's
going
to
be
a
lot
in
the
logs
here
and
already
we're
getting
connection
refused
exceptions.
Again
we
wrote
this
application
to
sort
of
be
synthetic
of
what
folks
would
be
potentially
running
as
they're
migrating
in
an
application
like
monolithic
application
to
kubernetes.
So
in
this
case
we
wrote
a
stateful
application
that
all
it
did
was
take
a
get
request
and
go
and
try
to
just
write
the
content
unto
get
or
the
post
request
into
my
sequel
database.
A
Somebody
just
walked
by
I
think
it
was
Joe
anyway,
you
can
see
here
we
have
the
noisy
application
controller
and
this
thing
runs
concurrently
using
Java,
P
threads
and
it
just
takes
up
memory
and
it'll.
Just
tell
you
how
much
memory
it's
consuming
here,
it's
consuming
four
gigs!
We
have
six
point:
seven
free
left
on
my
machine
and
we're
running
five
threads,
and
if
we
actually
just
watch
this,
we
can
just
watch
this
controller.
A
So
here
in
source,
we
have
source
main
Java
hep,
do
database
Java
prototype
in
util,
so
the
database
package
here
is
really
simple
and
you're,
probably
seeing
a
lot
of
this
in
the
logs,
but
basically
just
uses
the
the
comm.
My
sequel
JDBC
driver
that
everybody's
been
using
for
forever
and
tries
to
connect
to
my
sequel
and
basically
is
a
serves
as
an
API.
We
have
asynchronous
right
and
we
have
an
asynchronous
right
and
it'll
randomly
do
one
or
the
other,
depending
on
I,
think
just
a
random
int
that
it's
generating.
A
So
here
in
Java
prototype,
we
have
the
actual
application,
so
public
static,
final
lager.
We
set
up
our
lager
and
then
here
is
of
course
our
main
and
we
our
vendor.
You
know
I,
think
we
can
come
here.
Where
is
it?
I
thought
there
was
a
way,
maybe
external
libraries
isn't
this?
It
there's.
No,
some
there's
a
somewhat.
You
can
come
in
here
and
actually
see
the
the
libraries
that
we're
vendor
in
to
make
all
this
stuff
happen
and
a
lot
of
you.
A
Those
are
gonna
come
from
spring
boot
itself,
but
anyway
here's
our
main
for
the
Java
app
and
it
basically,
we
just
run
the
noisy
application
controller
and
we
just
start
new
threads
and
then
we
just
do
application
run
and
we
just
pass
in
our
application
class
in
any
arguments
that
came
in
through
main.
So
this
is
just
a
really
simple
main
file
and
basically
this
just
kicks
off
this
Java
app
and
already.
If
you
can't
tell
the
fans
on
my
laptop,
they
were
like
spinning
up
and
getting
hotter
and
hotter.
A
This
noisy
application
controller
does
a
really
good
job
of
making
a
lot
of
noise
and
taking
up
a
lot
of
memory
and
being
chaotic,
and
it
actually
was
really
easy
to
write
because
we
use
spring
boots.
So
all
the
boilerplate
was
taken
care
of
for
us.
So
let's
kill
this
thing
before
my
laptop
explodes
so
I
just
ran
control
C
there
just
to
stop
the
process
entirely
and
let's
talk
about
a
little
bit
about
spring
boot
in
general,
and
why
sort
of
having
this
canonical
set
up
for
a
java
application
is
important.
A
So,
a
long
long
time
ago,
in
another
galaxy,
far
far
away,
CF
push
was
a
thing
and
CF
push
is
basically
Cloud
Foundry
push
and
if
you
have
a
spring
boot
compliant
and
Java
app,
which
we
do
here,
because
we
started
out
with
the
spring
boot
repository
and
then
we
started
to
add
our
own
code
on
top
of
it.
Cloud
Foundry
the
command
line
tool
is
able
to
recognize
this
as
a
spring
boot
project,
and
that
means
it
kind
of
knows
how
to
compile
it
and
how
to
run
it
for
you.
A
So
you
can
just
do
a
CF
push
and
then
magically
in
about
three
or
four
minutes.
You'll
get
your
your
java
application
up
and
running
in
the
cloud
for
you
and
you'll
actually
have
a
server.
That's
listening
on
whatever
or
you
tell
it's
you.
So
that's
one
of
the
huge
advantages
of
standardizing
your
application
is.
You
could
actually
build
the
cloud
foundry
command-line
tool
to
make
it
easy
to
deploy
your
application,
which
of
course
we
are
thinking
the
same
patterns
for
kubernetes
and
tools
like
case
on
it
or
helm.
A
I
can
do
a
very
similar
thing,
but
we're
going
to
sort
of
talk
about
some
other
ideas
and
some
other
patterns
that
might
be
interesting
for
spring
boot
style
apps.
In
a
little
bit.
Let's
see
somebody
said
something:
bin,
mosses,
I,
think
IntelliJ
isn't
fully
set
up
to
recognize
your
app
as
a
maven.
App
might
be
why
your
libraries
aren't
showing
up
just
a
hunch,
though
I
would
say,
that's
probably
a
really
good
hunch
been
considering
I
downloaded
IntelliJ.
A
A
So
let's
Clara
screen
okay,
so
it's
a
pretty
good
on
Cloud
Foundry
and
how
that
whole
thing
would
work
and
why
that
having
a
standardized
application
makes
that
whole
process
possible,
because
we
can
make
all
these
assumptions
like.
Oh,
this
is
going
to
be
defined
in
the
palm
XML
and
because
it's
a
maven
app.
A
We
can
look
in
target
and
we
know
that
we
can
get
the
name
of
the
jar
from
the
palm
dot
XML
and
we
can
do
all
this
and
we
can
bundle
it
up
and
then
actually
go
and
run
that
on
a
virtual
machine
somewhere
and
actually
expose
the
port
and
get
that
all
sort
of
taken
care
of
for
you.
So
long
as
you
give
us
your
credit
card
number.
A
Of
course,
one
of
the
big
advantages
there
so
kubernetes
has
had
this
fundamental
problem
was
ya,
know
for
like
the
past
couple
of
years
and
if
you've
heard
us
to
say
at
once,
you've
heard
it
a
million
times.
We
talk
about
this
thing
called
the
wall
of
Yama,
and
here
is
a
really
fantastic
example
of
a
wall
of
Yanam.
A
We
have
staging
issuer
and
prod
a
shore
which
those
are
related
to
if
we
actually
were
trying
to
run
this
in
production
and
we
wanted
to
get
TLS
set
up.
This
uses
certain
manager,
and
these
issuers
are
how
you
would
get
a
staging
TLS
certificate
and
a
production
TLS
certificate.
So
we're
going
to
go
ahead
and
ignore
those
for
today,
because
they're
not
super
relevant
at
this
moment,
the
service
dot-
let's
go
in
here
and
take
a
look.
A
We
have,
we
call
it
Java
prototype
of
type
load
balancer,
so
it's
gonna
create
a
load
balancer
for
us
and,
whichever
cloud
we're
running
and
we're
going
to
tell
it
to
listen
on
port
8080,
which
remember
we
defined,
let
me
pull
it
back
up.
Where
was
our
make
file
there?
It
is
right
here,
port,
8080
and.
A
We're
going
to
tell
it
it's
just
good
ol
HTTP,
which
we
would
change
this
to
HTTPS.
We
wanted
around
TLS
or
well,
depending
on
what
how
we
terminated
our
TLS.
We,
this
may
or
may
not
be
HTTP,
but
anyway,
in
this
case,
because
we're
running
out
of
type
of
load
balancer,
we
probably
would
so
we
have
an
ingress
and
we
have
our
deployment
and
we
have
contour
Gamal.
So
these
are
all
written
about
a
year
ago
and
these
were
sort
of
like
the
basic
standard
way
of
just
getting
the
yanil
captured
somewhere.
A
And
then
we
sort
of
intentionally
went
through
this
process
of
reinventing
the
wheel
to
demonstrate
like
what
your
needs
were
actually
for
spring
boot.
So
we
came
up
with
it's
very
similar
to
helm,
but
legit
uses
said
to
do
a
replacement
on
these
variables
that
are
in
all
caps
here.
So
not
the
most
robust
or
resilient
approach
to
solving
the
animal
problem.
A
But
it
does
demonstrate
the
fact
that
we
do
need
to
define
various
things
like
the
name
of
our
deployment,
our
deployment
image
and
a
handful
of
other
things,
and
some
of
the
other
yellow
files
as
well
that
we
can
come
in
and
we
can
actually
do
a
sed
replacement
on
and
then
we're
actually
going
to
do
a
queue
back
to
apply.
And
it
should
get
everything
up
and
running.
A
A
So
let's
go
back
and
actually
look
at
our
repository
here
and
see
what
we
have
going
on
so
in
order
to
run
anything
in
kubernetes.
The
first
thing
we
need
to
do
is
we
need
to
create
a
container
of
whatever
our
program
is,
and
we
know
our
program
can
run
because
we
just
ran
it
here
in
my
computer.
So
the
very
first
thing
we
want
to
do
is
we
want
to
build
this
container
image.
So
let
me
close
go
land
and
open
up
IntelliJ.
A
Now,
let's
go
all
the
way
back
up
here
to
the
tippy-top
of
the
Java
repository
and
you
can
see
we
have
a
docker
file
to
find
so,
let's
go
through
this
docker
file
line-by-line
and
then
we're
actually
going
to
build
this
container.
So
there
is
a
maven
docker
image
which,
if
you
just
go
to
Google-
and
you
just
do
maven
docker
image-
you
can
see
docker
hub
has
maven
and
you
can
see
all
the
tags
are
listed
right
here
with
all
like.
We
have
JDK
slim
and
we
have
JDK.
A
A
So
you
can
see,
we
do
system
get
end
and
we
just
passed
it
in
here.
So
this
is
important
to
know
we're
not
doing
it
a
traditional
configuration
file
to
run
this
in
a
container.
In
fact,
we
want
to
be
able
to
can
tweak
these
environmental
variables
sort
of
as
needed,
and
that's
one
of
the
beauty
beautiful
things
about
kubernetes
is
you
can
come
through
and
you
can
actually
define
arbitrary
environmental
variables
in
your
yamo
and
that'll
actually
override
what
you
have
set
in
the
container.
In
this
case,
we're
just
hard
coding
it
into
docker.
A
Again
we
did
a
lot
of
this
as
a
learning
exercise,
but
we're
gonna
eventually
move
on
here
in
a
few
minutes
to
helm
and
look
at
how
he'll
mix
this
a
little
bit
easier
for
us.
Okay,
so
long
winded
way
of
saying,
let's
go
back
to
our
docker
file.
Long,
would
either
way
of
saying
we
define
some
environmental
variables
that
basically
give
us
a
my
sequel
user
and
a
password
here
which
I
already
have
in
my
bash
RC
defined.
A
If
we
can
get
to
the
my
siegel
point,
we'll
see
how
much
time
we
have
today,
because
I
have
to
catch
a
flight
here
in
a
couple
hours.
So
the
first
thing
we
do
is
we
create
a
directory
in
our
working
dirt.
Don't
find
our
work
to
her
here
and
we
say
slash
conf
and
we
create
slash
agent
and
then
we
do
a
log
der,
and
then
it
says
we
add
docker
docker
container
at
seed
logger
take
docker
container.
So
this
is
just
setting
up
our
logs
for
us,
we
expose
port
8080.
A
So
this
is
the
third
time
we've
defined
port
8080
and
we've
hard-coded
it
so
you're
starting
to
get
a
feel
for
okay
I'm,
starting
the
wanting
to
pull
configuration
out
of
all
of
this
stuff
so
that
it
can
easily
tweak
it
because
if
I
just
changed
this
one
value
to
port
8081,
this
entire
system
would
crash
it
would
not.
It
would
not
work.
Our
API
server
would
not
come
up.
A
We
wouldn't
be
able
to
reach
our
application
and
we
would
have
to
start
digging
through
lines
of
code
figuring
out
where
which
one
of
the
ports
that
we
defined
was
incorrect.
So
this
is
a
really
great
example
of
why
tools
like
case
on
it
and
like
helm
are
meaningful
and
maybe
giving
folks
some
ideas
of
some
tools
that
they
might
want
to
build
or
add
some
ideas
that
for
some
tools
that
might
be
interesting
for
them
to
collaborate
on
to
make
this
whole
process
easier.
A
A
This
is
coming
from
those
libraries
that
we're
ven
during
that
are
the
spring
boot
libraries
that
we
were
able
to
pull
down
when
we
built
our
application
using
maven
downloaded
those
for
us
and
our
application
is
using
those
spring
boot
libraries
so
spring
boot
is
not
a
CLI
tool,
but
it
is
a
canonical
way
of
building
and
running
an
app
as
well
as
the
libraries
that
make
all
the
boilerplate
easier
for
you.
So
it
just
takes
a
lot
of
the
noise
out
of
writing
in
one
of
these
Java
applications,
which
is
super
handy
okay.
A
A
It's
gonna
have
this
name
and
this
image,
and
then
we
do
a
docker
push
and
that's
actually
gonna
push
that
up
to
our
docker
container
registry,
which,
if
you're
familiar
with
Java.
This
would
be
anything
like
this
would
be
something
like
artifactory.
But
we
have
this
for
containers
now
and
containers
are
significantly
different
than
virtual
machines
because
they
well
that's
a
different
talk
for
different
day
anyway.
I'm
getting
off
in
the
weeds
here,
so
we
wanted
to
do
docker
push,
and
then
we
echo
out
we
built
and
pushed
the
registry,
the
author
and
the
tag.
A
Okay.
So
let's
go
ahead
and
run
this
or
actually,
let's
look
at
VARs
SH
first,
so
here
we
have
a
handful
of
variables.
We
need
to
define
we're
going
to
do.
Registry
image,
author,
commit
message,
repository
and
tag.
So
the
first
thing
I'm
going
to
do.
I
have
docker
installed
in
my
system
already
I'm
gonna
do
a
docker,
login
login
succeeded
so
I
logged
in
earlier
today.
So
it
remembered
my
login
information.
A
If
you
have
never
done
this
before
it
would
just
prompt
you
for
your
docker
hub,
username
and
password
and
where
does
using
docker
have
in
this
example,
because
it's
just
easy
and
works
out
of
the
box.
But
you
can
set
up
many
different
container
registries
if
needed
and
I'm
going
to
take
a
quick,
M&M
break
so
chill
out
for
a
second.
A
All
right,
let's
define
registry,
so
registry-
is
gonna,
be
equal
to
our
docker
registry.
Actually,
I
think
we
can
just
keep
this
the
same.
Let's
see
what
this
is
default
issue
registry
sets
registry,
which
is
set
to
yep
registry
hub
docker
calm.
So
if
you
had
your
own
container
registry
setup,
you
would
just
use
whatever
that
registry
URL
is
so
we
can
leave
that
one
alone.
Let's
do
image.
A
Oh
looks
like
somebody
says
something
in
in
chat:
dockerfile
maven
plug-in
is
a
nice
maven
plugin
that
integrates
docker,
build
process
with
the
maven
build
process.
Awesome
thanks
for
the
tip
Praveen.
If
you
have
any
more
information
on
that
feel
free
to
drop
it
in
the
the
read
mail
on
me
going
above
that
George
shared
with
us
okay,
so
we
got
our
image.
We
got
our
author
and
we
got
a
repository
set.
A
A
Do
I
need
to
I
thought
I
set
those
variables
we'll
check
and
see
what
happens
we
might
have
to
do
this
again,
but
we'll
see
so
again
now
what's
happening,
is
we're
doing
the
same
maven
Bill
that
we
did
before,
but
we're
just
doing
this
inside
of
the
container
now
so
now,
Maven's
doing
things
downloading
all
of
these
libraries
all
the
spring,
but--
goodness,
and
it's
actually
building
this
application
in
the
same
way
that
we
built
it
earlier
ourselves
locally.
But
it's
just
doing
it
all
inside
of
a
container
for
us.
A
A
So
it's
waiting
request
access
to
the
resource
denied
so
doing
an
Adu
docker
login.
Let's
make
sure
this
is
right:
login
succeeded,
okay,
so
yeah
those
environmental
variables
we
set.
A
No,
that
should
work,
do
I
need
to
run
the
VARs
SSH.
First,
let's
try
this
again
and
see
what
happens
nope.
We
still
got
these
same
things
here
know
what
we
can
do.
We
can
cheat.
Let's
just
come
right
in
and
let's
just
define
it
right
here,
registry
we'll
keep
that
the
same
image,
we'll
just
change
that
to
TGI
K.
Oh
six,
seven,
author.
A
Chris
Nova,
which
is
my
again
my
docker
hub
username,
here,
Nicholas
D.
You
need
to
export
your
VARs
export
yeah,
probably
do
an
export
before
Baibars
and
not
just
set
them
either
way.
Let's
just
do
this
way
so
that
we
can
see
it
here,
but
to
show
folks
at
home.
What
they're
saying
is
I
should
have
done.
Export
image
is
equal
to
Chris
Nova.
This
would
be
the
correct
syntax,
yeah
I,
say
just
fins
up
a
subprocess
yep.
A
So
it's
not
picking
up
the
variables
from
my
shell
good
catch
everyone,
because
I
did
run
that
with
SH
and
I.
Didn't
just
do
the
shebang
line
at
the
top.
This
is
why
bash
scripts
are
hard,
but
also
really
convenient.
Okay.
So
let's
go
back
to
IntelliJ
and
go
back
to
hacking
here
so
commit
message.
That's
fine
for
me
and
repository!
Let's
change
this
to
TDI
kay,
oh
six!
Seven
and
we'll
keep
Java
prototype
for
a
deployment
and
our
namespace
is
set
to
default.
A
Okay,
so
that
looks
good,
so
we're
gonna
wait
from
even
to
download
the
internet
again,
because
this
is
how
containers
work
and
everyone
is
ephemeral
and
short-lived.
So
once
it
exits
its
it's
effectively
gone
forever.
You
can.
You
can
retrieve
that
data
if
you
want
to,
but
the
whole
value
in
container
is
that
use
that
you
guarantee
every
time
you
do
this?
It's
a
fresh,
unique
copy!
A
Wait
what
happened?
Oh
no
you're!
Fine
people
are
like
moving
stuff
outside
on
the
other
side
of
the
wall.
Oh
nice,
okay,
so
Mount
charlie,
is
out
right
now,
I
just
noticed,
which
is
cool.
The
Sun
finally
came
out
here
in
Seattle,
which
it
was
raining
a
layer
today
or
likes
leading.
Rather
so
it's
nice
to
see
the
Sun
out,
especially
because
I'll
be
taking
off
here
in
a
few
hours.
A
Doo
doo
doo
david
says:
ciao
George
have
a
good
weekend,
I'm
ready
for
the
weekend.
This
was
my
first
week
back
from
surgery
and
it's
been
a
long
week.
Okay,
so
here's
we're
finally
building
our
docker
container.
Now
that
maven
is
done
downloading
the
internet
and
here's
where
we're
pushing
it
up
to
docker
hub.
So
this
is
exciting
humming
that
really
quick.
So
we
can
actually
go
to
docker
hub
hub
dot.
Docker,
calm,
Wow
and
I
can
sign
in
Chris,
Nova
I've
got
my
password
cached
and
we
can
grep
for
T
gik
Oh,
six,
seven.
A
We
don't
see
it
yet,
but
let's
see
what
happened
here.
----Builtin
pushed
registry
docker
hub
com,
Chris,
no,
the
latest.
Let's
see
if
we
can't
refresh
this,
it's
a
called
job,
a
prototype
yeah.
No,
that's
updated!
A
year
ago,
Chris
novo
Chris,
Nova
I
see
okay,
so
it's
just
called
Chris
Nova
Chris
Nova
updated
a
few
seconds
ago.
Okay,
again,
this
was
like
a
year.
A
It
was
the
last
time
we
did
all
this
and
we
were
trying
to
push
the
boundaries
and
explain
concretely
what
all
we
need
to
happen
in
order
to
turn
in
a
spring
boot
app.
So
anyway,
we
got
our
container
pushed
up
to
our
container
registry.
It's
called
Chris
Nova
Chris
Nova,
and
we
can
probably
come
in
and
change
that
David
says
I
used
to
work
with
George
at
another.
Oh
that's
cool
I'm,
assuming
that
meant
George's
last
job
canonical.
But
what
is
welcome.
A
David
and
George
is
awesome
glad
we
have
him
okay,
so
our
container
is
built
and
pushed.
So
now,
let's
look
at
our
deploy
script
here
as
well,
so
we
have
deployed
seh
and
it
uses
the
same
bars
that
Sh.
So
we
know
if
we
had
to
find
it
there
and
they
made
it
through
there
that
they're
gonna
actually
come
in
and
work
here
as
well,
and
you
can
see
it's
actually
gonna
go
through
and
it's
gonna
make
a
temporary
directory
using
make
Tim.
It's
gonna
keep
octal
delete
deployment.
A
So
it'll
sort
of
do
this
like
thing
where
every
time
you
run
this
and
you
can
guarantee
that
you
get
this
this
fresh
copy,
because
it
deletes
everything
first,
whether
or
not
that
exists
or
not.
So
you
know
that
every
time
you
run
deploy,
it's
gonna
redeploy
itself
effectively,
so
you're
always
going
to
get
this
new
deployment,
and
here
it
is.
Ladies
and
gentlemen,
the
the
oh
so
famous
said:
we
replace
image
with
the
image
variable.
A
We
replace
author
with
the
author
variable
tag
so
on
and
so
forth,
and
that's
how
we're
actually
injecting
all
of
our
configuration
from
the
shell
scripts
into
these
manifests
that
we
looked
at
earlier
and
again,
Helmand
caisson
and
both
do
very
similar
things.
This
is
just
showing
folks
in
a
very
easy
way,
without
a
lot
of
the
other
noise
of
relearning
another
tool
like
helm
or
case
on
it.
A
Okay,
so
let's
go
ahead
and
run
our
deploy
script,
but
before
we
do
that,
let's
talk
kubernetes,
so
we're
gonna
come
all
the
way
out
of
Java
land
and
let's
talk
about
what
we
did
and
how
kubernetes
is
set
up.
Every
T
gik
episode,
I
come
in
and
I
use,
Cuba
Corinne,
which
is
this
project
I
started
two
years
ago,
I
think
anyway,
there's
rainbows
and
unicorns
and
deploys
kubernetes
for
you
and
it's
awesome
and
I
love
it.
And
it's
happy
and
look
look
all
happy.
A
This
person
is
and
there's
rainbows
and
I
love
it
and
you
can
come
through
and
you
can
find
out
more
about
it
and
I.
Just
did
a
kippah
corn
create
and
a
Koopa
corn
apply
and
we
have
the
world's
simplest
kubernetes
cluster
here
running
in
Amazon,
a
single
master
in
a
single
node,
and
we
can
validate
that
by
doing
I'm
kind
of
like
simplifying
things
for
folks
at
home.
In
case
this
is
a
totally
new
for
you
and
you
haven't
actually
looked
at
kubernetes
before,
but
I
do
have
an
alias
I
do.
A
K
is
equal
to
Q
Bechtel,
which
Q
Bechtel
is
the
command-line
tool
and
we
can
do
k
get
pods
which
a
pod
is
effectively
one
or
more
containers
with
shared
networking,
new
shared
disks,
no
resources
found
and
again
that
was
in
the
default
namespace.
So
kubernetes
has
a
concept
called
namespaces,
so
we
can
do
all
namespaces
and
you
can
see
here
in
the
cube
system
namespace
we
actually
do
have
pods
running,
but
we
don't
have
anything
running
in
the
default
namespace.
Yet
okay,
so
here
is
a
just
for
grins.
A
A
Okay,
so
the
again
the
scrubs
tried
to
delete
things
that
didn't
exist
but
continued
to
move
on.
We
were
not
running
Bosch
in
expert
mode
and
then
we
created
a
deployment.
We
created
the
ink
grass
we
created
all
of
these
things
that
we
have
to
find
in
yeah,
Mille
and
then
output.
It
here
installed
hefty
Oh
contour,
which
is
an
ingress
controller,
and
it
created
this
kubernetes
deployment
called
Java
prototype
and
that's
what
we're
interested
in,
because
that's
actually
our
spring
boot
app.
A
A
For
short,
you
can
see
that
we
have
our
Java
prototype
application
running
and
we
can
do
K
logs,
we'll
paste
the
name
of
the
pods
we
want
logs
for
F
just
like
in
tail
and
there
it
is
there's
our
spring
boot
application
running
in
kubernetes
yay,
so
yeah,
let's,
let's
pull
back
a
bit
and
let's
talk
about
what's
going
on
here,
so
we
have
our
manifest
defined
here
in
the
ECMO
files
like
I
mentioned
earlier,
were
setting
values
into
them
and
we're
getting
the
same
values
also
into
the
docker
file.
A
Here
now,
if
you
go
to
the
project,
this
was
the
first
iteration
that
we
did
and
we
said:
okay,
here's
all
the
things
we
need
to
define
and
here's
how
we're
going
to
define
them,
and
then
we
said
how
can
we
simplify
that
in
which
tools
are
available
and
if
somebody
picked
helm
and
opened
up
a
PR
that
uses
how
to
deploy
this?
So
let's
look
at
that.
A
So
it
says,
with
mini
cube,
you
can
come
in,
you
can
start
mini
cube
and
here's
how
you
would
do
an
install
with
helm.
You
would
do
a
helm,
dependency,
upstate
or
update.
You
can
do
a
helm,
installed,
namespace
and
then
you
can
just
get
the
pods
like
we
just
did
here.
The
only
difference
is
with
the
helmet
chart,
we're
actually
getting
the
my
sequel
server
as
well.
So
again
we
took
this
a
step
further
and
we
used
helm
to
do
it.
A
To
come
through
and
define
all
of
these
things
like
which
port
8080
that
we
talked
about
earlier
and
it'll
inject
those
all
onto
all
the
files
that
we
need
along
the
way
so
yeah.
So
there's
a
lot
of
ways.
You
could
do
this
there's
a
lot
of
ways.
You
could
hard
code,
the
yamo
you
could
use
said
you
could
use
helm.
You
could
use
case
on
it
where
we
could
use
a
brand
new
tool,
but
there's
a
lot
of
ways
to
get
spring
to
it.
Up
and
running.
A
The
point
is:
is
that
spring
boot
creates
a
canonical
way
for
us
to
detect
in
find
various
values,
and
all
we,
as
software
engineers
have
to
do,
is
figure
out
how
to
plumb
those
values
through
into
the
various
kubernetes
bits
to
deploy
them.
So
I'm
gonna,
zoom
back
a
bit
and
see
if
anybody
has
any
questions
or
wants
to
see
anything
else.
A
Why
we're
here
and
as
I
mentioned
earlier,
I
gotta
split
relatively
soon,
so
we're
only
gonna
do
about
an
hour
this
week
and
as
always,
it's
been
great
hanging
out
with
folks
in
learning
about
spring
boot.
Also
I
really
like
the
doc
marten
on
the
title
card
for
this
week.
That
was
exciting
but
yeah.