►
From YouTube: KinD 2020-05-08
Description
KinD is a tool for running local Kubernetes clusters using Docker container “nodes”.
A
All
righty,
so
thanks
for
coming
in
on
a
Friday,
so
just
run
through
a
couple:
quick
demos,
here's
some
stuff
that
I've
worked
on
in
my
first
few
weeks
here.
The
first
one
we'll
walk
through
is
using
kind
for
local
communities,
development
with
our
helm
chart.
So
you
can
do
it
today
with
a
couple
different
tools
but
wanted
to
add
kind
to
list
any
cubes
good
k3s
is
good,
but
kind
is
kind
of
a
cool
one
because
it
runs
entirely
in
docker.
A
A
In
the
admin
UI
from
the
rails,
project
DJ
mentioned
I
might
be
a
part
of
the
code
base
that
some
team
members
aren't
I,
haven't
seen
before
so
I'm
wanting
to
show
that
off
too
so
I
recorded
this
part
just
because
it
takes
a
little
bit
for
the
helm
chart
to
fully
come
up
and
running
so
I
figured
we'd
save
some
time
so
where
I'm
starting
here
is
that
this
is
a
Doc's
preview.
I
have
the
docs
that
I
had
for
this
kind
development.
So
I
put
the
link
in
the
Google
Doc
for
this
meeting.
A
Mac
here
locally
and
we'll
use
that,
along
with
nipped
at
I/o
for
kind
of
simple
DNS
to
route
back
to
that
IP
address
act
as
a
domain
and
then
we're
just
adding
quick
repo.
Here,
as
Gerard
mentioned,
we
actually
don't
need
to
add
the
stable
repo.
You
mentioned
that
after
I
recorded
this,
so
updated
the
doc.
So
now
you
only
have
to
add
the
get
library
pod.
So
so
what
we're
gonna
do
here
is
first
open
up
the
values
file
for
what
we're
gonna
deploy
for
count.
A
So,
as
you
can
see
here,
the
heading
we're
gonna
pick
is
genetics,
ingress,
node,
port
with
SSL,
so
I've
have
a
few
example
files
in
the
repo
itself
for
the
home
chart
of
there's
a
config
file
for
helm
with
the
valleys
animal
and
there's
a
config
file
for
kind
where
you
can
specify
in
a
different
configuration
figuration
parameters
for
your
cluster.
So
the
first
thing
is
to
start
the
cluster
with
that
example:
config
after
editing
your
values
animals,
so
we
only
have
to
make
one
change.
Just
updating
your
hosts
IP
in
the
values
file.
A
I
was
thinking
about
doing
this
on
command-line,
but
the
command
kind
of
varies
per
operating
system,
so
I
just
wanted
to
kind
of
leave
that
up
to
the
user,
probably
good
to
be
specifically
aware
of
what's
happening
there
too.
So
you
can
see
in
the
values
file
here,
I'm,
just
updating
the
domain
to
my
IP
and
then
I
could
just
copy-paste
the
kind
crate
cluster
command.
A
In
this
case,
that
kind
SSL
gamma
file
is
actually
just
creating
a
basic
cluster,
but
the
one
thing
we
add
on
there
is
to
expose
a
specific
port
to
localhost,
80
or
443.
If
you
use
an
SSL
in
this
case,
so
we
basically
just
pick
a
high
numbered
port
or
nginx
to
expose
on
node
port,
and
then
we
map
that
with
kind,
so
it's
actually
exposed
locally.
That
way
we
get
full
routing
capability,
since
nginx
is
doing
some
routing
under
the
hood,
rather
than
just
port
forwarding.
The
web
service
pod
specifically
sit
down
here.
A
I
just
created
a
main
space
just
for
good
practice
and
switched
it
with
Cuban
s.
I,
don't
use
it
off
and
so
actually
still
is
in
the
habit
of
tacking
on
dash
in
for
the
rest
of
the
commands,
but
we're
just
installing
the
helm
chart
with
that
values,
file
that
we
edited
earlier
now,
I'm
just
watching
the
deployment
in
k-9s.
A
A
A
A
Well,
show
that
just
to
show
the
content
so
there's
the
Rue,
CA
and
then
optional
course,
but
I
like
to
add
the
Rue
c8
to
my
local
machine.
So
it
doesn't
complain
about
insecure
starts
locally.
So
this
just
shows
adding
it
to
that
system.
Keychain
for
Mac,
of
course,
might
change
if
you're
on
Linux
and
what
I
do
is
just
open
up
the
keychain
access
on
Mac
just
to
automatically
trust
it
for
local
development.
A
A
A
Cool
so
now
we
have
the
root,
CA
save
locally
and
trusted,
and
we
have
the
CA
saved
locally
and
we'll
use
that
for
the
runner
in
a
second
here.
So
let's
get
past
some
of
this.
This
is
just
waiting
for
the
pods
to
come
up
you
and
then,
as
we
wait
on
that,
I'll
pull
up
the
domain.
So
we
have
it
ready.
A
And
has
a
right
on
that:
I
just
went
ahead
and
connected
the
get
lie,
Brenner
well
we're
getting
for
the
rest
of
the
cluster
to
come
up.
So
what
we
do
is
we
grab.
We
already
have
the
root
CA.
So
now
we'll
just
grab
the
cert
two,
so
we
can
make
the
chain,
so
you
can
copy
and
paste
that
command
just
add
in
your
IP
and
name
space.
A
And
then
we
can
create
a
secret
called
self-signed
cert,
that's
what
I've
hard
coded
it
to
in
the
file
there.
But
of
course
the
end
user
could
change
that
to
whatever
they
like
so
I,
create
that
self-signed
cert.
In
this
case
the
runner
Doc's
specify
that
it
should
match
the
domain.
So
that's
why
we
have
that
syntax
to
specify
the
name
of
it
first
and
then
provide
the
file
that
contains
the
certain
chain.
A
A
A
All
right,
so
those
reps
and
I
could
just
load
the
page.
I
didn't
click
to
see
the
sir
in
the
demo,
but
you
can
see
at
the
top
left
there
that
there's
the
secure,
lock,
icon
I
didn't
get
any
warning
about
the
certs.
Let
me
she
was
in
k-9s
to
easily
grab
the
root
password
and
here's
the
logs
for
the
runner.
So
you
can
see
it
was
successfully
registered.
So
just
show
it's
all
working
and
just
create
a
new
project
here
called
demo
and
I'll.
Add
one
of
our
template:
CI
files.
A
A
A
A
So
that's
the
flow.
This
is
one
of
the
methods
that
we
have
for
deploying
kind
locally.
We
also
have
an
option
with
no
SSL,
so
basically
just
disable
sir
manager
and
expose
port
80
on
kind
instead
of
443,
so
we
just
access
it
with
HTTP.
In
that
case,
you
can
access
it
just
like
that,
of
course,
the
help
charts
really
hoping
when
Jason's
words
really
really
trying
to
use
SSL.
A
So
that's
this
methods,
probably
easiest
and
follow
the
best
practices,
but
that
meant
it's
there
as
well,
and
if
you're
on
Linux
it
actually
becomes
a
lot
easier.
You
can
actually
just
port
forward
the
nginx
pod
locally,
since
in
Mac,
OS
docker
actually
runs
in
a
VM.
So
we
need
this
kind
of
layer
in
between
of
exposing
a
port
with
kind,
but
on
Linux
there's
some
instructions
there
that
are
a
little
bit
easier.
A
B
A
B
A
A
B
A
To
show
you
that
would
be
what
we
can
do
is
do
kind,
that's
a
cell.
So
here's
where
that
I'll
blow
it
up
a
little
bit.
Here's
where
that
container
port
is
the
port
we
chose
for
nginx
hds,
and
we
map
that
locally
to
443.
So
I
could
just
add
a
port
here
for
twenty
two
and
see
how
that
goes
so
I'll
test
that,
after
the
down
with
that
sounds
good
yeah.
A
A
A
I
think
that
looked
really
good
thanks,
Mitch
cool
thanks
guys.
Hopefully
that
helps
and
the
next
one
is
pretty
quick.
So
this
is
the
part
of
the
code
base
where
we
can
print
deprecation
notices
in
the
admin
control
panel.
So
it's
pretty
straightforward.
If
you
look
at
the
M
R,
there's
a
controller
and
so
effectively
what
we
do,
there's
already
kind
of
one
for
I
think
it
was
for
Puma.
So
I
was
able
to
mirror
some
of
this
against
that,
but
effectively
we
just
had
this
external
database
checker
and
we
have
this
DB
version.
A
Deprecated
method.
You
know
return
true.
If
the
version
is
less
than
11
and
if
that's
true,
then
it
will
print
this
warning
out
and
we
can
actually
print
the
version.
The
current
version,
the
database
and
the
message.
So
they
know
how
far
behind
they
are
and
then
there's
a
test
goal
and
with
it
and
then
here
we
can
just
kind
of
append
to
that
notices
array
to
print
those
out.
A
So
the
way
that
works
is
all
I
had
to
do
is
stand
up,
GDK
locally,
and
so
this
is
kind
of
showing
that
part
of
the
code
base
and
then
where
we
append
the
notices
to
the
message.
So
what
I'm
going
to
do
here,
instead
of
checking
if
my
database
is
less
than
11
since
locally
with
GDK
I,
think
it's
running
11.7
rather
than
switching
up
my
database
to
prove
it
I'll
just
force
this
method
to
return
true,
so
it
is
deprecated
and
that
should
trigger
this
morning,
so
I'll
just
kind
of
let
GK
restart.
A
Here
you
can
see
up
here.
There's
no
message
today
in
the
admin
area
you
and
once
it's
reloaded
now
we
see
a
message,
so
we
can
see
postcards
11
become
the
minimum
required.
Postgres
version
in
May
post
goes
9.6
and
10.
No
longer
you
supported
and
get
lab
13.
Please
consider
upgrading
your
postcode
version
and
then
open
your
version
right.
There.
A
For
it,
but
it
was
kind
of
cool
to
see
how
those
messages
actually
get
populated.
In
the
my.