►
Description
Introduction to Spinnaker on Kubernetes - Marky Jackson , OpsMX
Spinnaker is an open-source, multi-cloud deployment tool for releasing software changes reliably. You can deploy and automate your application release across multiple cloud environments including Kubernetes, AWS EC2, Google Computer Engine, Google App Engine, Microsoft Azure, and many more. In this session, we will focus on the installation of Spinnaker in a Kubernetes cluster using Halyard. Halyard is a command-line administration tool that manages the lifecycle of your Spinnaker deployment, and it's a recommended way to install, configure, and update Spinnaker.
A
A
A
So
what
are
we
going
to
be
talking
about
today?
Well
we're
going
to
be
talking
about
spinnaker
on
kubernetes,
I'm
going
to
give
you
an
overview
of
these
two
technologies,
I'm
going
to
build
a
local
kubernetes
cluster
and
install
spinnaker
in
that
cluster.
I'm
going
to
build
a
simple
pipeline
that
do
promotions
through
environments.
A
A
Let's
dive
into
that
a
little
bit
more
service
discovery
and
load
balancing
when
used
with
kubernetes
can
expose
a
container
using
dns
name
or
the
own
kubernetes
ip
address.
If
traffic
to
that
container
is
high,
kubernetes
is
able
to
load
balance
and
distribute
the
network
traffic
so
that
the
deployment
is
stable.
A
Kubernetes
allows
you
to
automatically
mount
a
storage
system
of
your
choice,
such
as
local
storage
or
public
cloud
providers,
and
more
when
doing
storage
orchestration,
you
can
describe
the
desired
state
of
your
deployed
container
using
kubernetes,
and
it
can
change
the
actual
state
to
the
desired
state
at
a
controlled
rate.
For
example,
you
can
automate
kubernetes
to
create
a
new
container
for
your
deployment,
remove
an
existing
container
and
adopt
all
their
resources
to
the
new
container.
A
When
doing
automated
rollouts
and
rollbacks,
you
provide
kubernetes
with
a
cluster
of
nodes
and
it
can
use
that
to
run
containerized
tasks.
You
you
essentially
tell
kubernetes
how
much
cpu
and
memory
or
ram
each
container
needs
and
kubernetes
can
fit
containers
into
your
nodes
and
make
the
best
use
of
your
resources
when
we
think
about
automatic
bin
packaging.
A
A
A
Kubernetes
does
a
lot
of
great
things,
but
there
is
some
things
that
kubernetes
is
not
kubernetes,
does
not
deploy
your
source
code
and
doesn't
build
your
application.
It
doesn't
provide
application
level.
Services
such
as
middleware,
for
example,
manages
buses
or
data
processing
frameworks,
for
example,
spark
or
databases
like
mysql
or
caches
or
non-cluster
storage
systems
for
exact,
for
example,
like
ceph
as
built-in
services.
A
These
type
of
components
run
on
kubernetes
and
can
be
accessed
by
your
application
running
on
kubernetes
through
portable
mechanisms
such
as
open
service
brokers,
kubernetes
does
not
dictate
logging
monitoring
or
alerting,
alerting
solutions.
It
provides
some
integration
as
proof
of
concept
and
mechanisms
to
collect
and
export
metrics.
A
It
also
does
not
provide,
nor
does
it
mandate
a
configuration
language
or
system,
for
example
jsonnet.
It
provides
a
declarative
api
that
may
be
targeted
by
arbitrary
forms
of
declarative
specifications
and
finally,
it
does
not.
Nor
does
it
adapt
to
any
comprehensive
machine
configuration
maintenance,
management
or
self-healing
systems.
A
What
is
spinnaker
well
spinnaker
is
application
management
and
application
deployment.
Those
are
its
two
core
features
for
application
management,
there's
applications,
clusters
and
server
groups.
These
are
key
concepts.
Spinnaker
uses
to
describe
services,
load,
balancers
and
firewalls
describe
how
services
are
exposed
to
users.
A
Then
there's
the
application
deployment
things
like
pipelines
and
stages.
There's
deployment
strategies
such
as
blue,
green
and
red
black,
rolling,
blue,
green
or
canary
deployments.
A
A
A
A
A
But
if
you
have
multiple
clusters
set
up,
such
as
you
know,
in
various
clouds
or
data
centers
you,
this
will
work
with
those
clusters
as
well,
but
for
this
particular
demo,
I'm
doing
a
local
environment.
So
I'm
going
to
set
up
a
namespace
of
dev
test
and
prod,
and
then
I'm
going
to
run
a
cube,
ctl
get
namespaces
and
we
can
see
that
those
namespaces
were
in
fact
created.
A
A
A
A
A
Now
we're
going
to
go
ahead
and
create
a
pipeline.
So
what
you're
going
to
want
to
do
is
in
the
ui
you're
going
to
select
the
applications.
Tab
make
sure
you're
in
your
hello,
cd,
con
application,
you're
going
to
select
pipelines
and
then
select
configure
a
new
pipeline.
We're
going
to
go
ahead
and
call
this
pipeline,
deploy
cdcon
we're
going
to
add
a
parameter
now
we'll
have
our
tag
in
there
and
then
we're
also
going
to
add
a
stage
along
with
the
following
yaml.
A
A
A
And
you
can
see
that
our
deployment
succeeded
now
in
this
screen.
You
can
actually
click
around
and
check
a
whole
bunch
of
the
various
things
such
as
what
were
the
various
stages
that
happened.
Was
there
any
manual
judgments
to
see
how
everything
deployed
and
how
long
it
actually
took?
There's
a
lot
of
rich
data
in.
A
A
So
what
are
some
of
the
other
functionality
that's
available
out
of
the
box?
You
can
do
things
like
manual
judgment
such
as
I
can
integrate
slack
and
say
that
a
certain
approval
needs
to
come
from
a
particular
person.
In
slack
or
let's
say
I
have
a
jira
ticket
and
a
certain
person
in
jira
has
to
approve
it
before
the
deployments
can
continue.
A
You
can
have
a
manual
judgment
and
a
wait
stage.
I
can
say
I
want
to
wait
two
hours
to
make
sure
that
my
blue
green
deployments
fully
baked
in
and
there's
not
a
lot
of
trouble
before
I
start
allowing
additional
deployment,
there's
so
much
more
that
you
can
do
with
spinnaker
and
the
amazing
thing
about
it
is.
This
comes
all
out
of
the
box.
A
A
It's
not
that
we
can't
use
jenkins
you.
You
need
a
ci
engine
to
be
able
to
do
ci,
because
if
you
recall
in
the
beginning
of
the
session
that
spinnaker
is
not
a
ci
engine,
nor
does
it
do
it
and
it
relies
on
other
ci
engines
like
jenkins.
So
we
still
do
need
jenkins,
but
we
need
a
lot
of
flexibility
on
the
cd
part
and
spinnaker
makes
that
super
easy
without
having
to
use
plugins
or
write
extra
scripts
to
handle
our
deployment
mechanisms.
A
I
want
to
thank
you,
and
I
want
to
give
some
closing
information.
If
you
have
any
questions
about
spinnaker
or
jenkins
or
kubernetes,
you
can
definitely
find
me
at
the
awesome.
Excuse
me,
the
ops,
mx
booth,
if
you'd
like
to
know
more
and
also
know
that
I'm
an
extremely
approachable
person
on
twitter
or
linkedin
or
spinnaker,
slack
or
kubernetes
slack,
and
when
we
are
back
in
out
of
this
world
chaos,
and
we
are
at
in-person
conferences.
If
you
want
to
find
me,
please
do
approach
me.
A
A
A
So
if
you
have
a
desire
to
learn,
kubernetes
or
spinnaker
or
jenkins,
please
don't
ever
hesitate
to
reach
out
to
me.
I
love
mentoring
people
and
I
love
making
people
laugh.
So
I
really
want
to
thank
you
for
giving
me
the
time
have
a
great
rest
to
cd
con
2020
and
enjoy
the
rest
of
the
speakers.
Thanks.
Everybody.