►
From YouTube: OpenShift 3 on Kubernetes - Clayton Coleman & Derek Carr
Description
Recorded on Feburary 25th, 2015 at the Kubernetes Gathering in San Francisco, CA, USA
B
A
Hope,
kelsey
didn't
use
up
all
the
good
luck,
because
we're
gonna
do
a
couple.
Demos
too,
and
I'm
pretty
sure,
based
on
that
that
he
took
every
bit
of
luck,
that's
available
in
this
room.
So
you
guys
can't
hear
me
I'm
sorry.
I
talk
really
quietly
except
all
the
other
times,
so
my
name
is
clayton
coleman.
I
work
at
red
hat.
I
work
on
the
open
chef
team.
Derek
carr
is
on
the
team
as
well
with
us.
A
I'm
sure
there's
a
lot
of
people
in
here
who
have
no
idea
what
the
heck
openshift
is
it's
platform
as
a
service.
If
you
don't
know
a
platform
as
a
services,
it's
the
thing
that
everybody
loves
to
hate
on,
because
it
tries
to
simplify
everything
that
people
go
do
to
make
it
easy
to
actually
roll
stuff
out
in
the
real
world.
So
I'm
going
to
start
this
by
saying
something
you
know
really
inflammatory,
but
it's
not
actually
true.
I
just
put
it
in
there
because
you're
supposed
to
do
that
in
lightning
talks.
A
So
when
people
talk
about
paths,
everybody
I
don't
know,
I
can't
say
what
I
really
think
about
this.
But
a
lot
of
people
complain
about
past.
They
say,
paz
is
too
hard
pass,
doesn't
give
me
any
power.
I
can
do
the
simple
things,
but
then,
as
soon
as
I
hit
the
limit
on
that,
it's
all
over
so
openshift2
is
out.
There
has
been
out
there
for
a
while
openshift
one
was
around.
It
was
a
very
simple
pass
model.
You
push
source
code,
stuff
gets
rolled
out.
A
You
do
a
lot
of
web
apps,
but
let's
be
honest,
what
kelsey
showed?
What
we
all
know
is:
that's
not
the
real
world
right.
The
real
world
is
big,
complex
apps
and
you
always
start
off
simple
and
small,
and
then
sooner
or
later,
somebody's
like
well.
You
know
what
we
really
need.
Is
this
really
complicated
thing
that
this
vendor
is
selling
us
or
we
hear
about
this
awesome
framework,
but
it
takes
like
18
different
services
to
run
and
it
works
great,
but
it's
big
and
it's
complex
and
it
doesn't
always
do
what
we
want.
A
When
we
looked
at
kubernetes
about
nine
months
ago,
it
was
really
obvious
to
us
that
the
google
guys
had
the
right
abstraction
in
place
like
it's
about
applications
like
everything's
about
applications.
No
matter
what
you
have
it's
about
running
sets
of
components
that
talk
to
each
other
over
the
network.
Like
that's
an
application,
it
doesn't
matter
what
it
does.
It
doesn't
matter,
whether
it's
http
or
tcp,
or
the
most
insane
crazy
message,
bus
that
you
can
possibly
imagine.
A
And
so,
when
we
looked
at
this,
we
said
okay
well,
if
the
google
guys
are
going
to
get
the
bottom
level
right,
how
do
we
come
in
and
make
it
easy
to
be
on
top
of
kubernetes
and
to
do
the
things
that
you
need
to
deliver
source
code
and
deliver
software
on
top
of
that
into
the
cluster?
So
kelsey
showed
you
an
application,
but
you
know
the
next
question
is
well.
What,
if
I
just
want
to
push
source
code
and
have
it
be
deployed?
B
B
But
we
have
a
secondary
use
case
where
you
have
an
existing
kubernetes
cluster
you're
using
it
you're
happy
with
it,
but
we
want
to
provide
open
shift
capabilities
on
top
of
it,
and
so
that's
what
I
want
to
show
you
today,
which
is,
if
you
have
a
kubernetes
cluster,
how
do
I
run
openshift
as
a
pod
on
top
of
it
and
then
how
can
openshift
interface
with
the
lower
level
kubernetes
cluster
to
actually
start
to
provide
pass-like
capabilities
on
top?
B
So
I
have
a
cluster
here,
it's
running
in
the
in
a
vagrant
environment.
So
hopefully
it's
happy.
It
has
no
pods
just
so
you
guys
know,
I'm
not
faking
and
I'm
running
on
head.
I
am
using
cube
control
and
not
keep
config
so
right
now,
I'm
in
the
default
namespace
of
kubernetes
kubernetes
provides
me
two
service
endpoints
that
I
can
use
to
talk
back
to
the
actual
api
server,
and
so
what
I
want
to
do
now
and
in
the
interest
of
time
I'm
going
to
run
a
shell
script.
B
So
like
that,
it's
done,
and
so,
if
we
go
and
look
at
my
cluster
again,
you
should
see
that
I
am
running
a
pod
called
openshift
and
it
is
running.
So
life
is
good.
So
let's
go
look
at
it
because
one
of
the
things
that
we
are
doing
in
openshift
is
not
hiding
the
fact
that
we
are
running
on
top
of
kubernetes
and
we're
not
trying
to
hide
those
primitives,
because
we
think
they're,
powerful.
B
Okay,
so
you
are
now
running
open
shift
origin
on
kubernetes
on
head.
It
is
exposing
the
lower
level
primitives
in
kubernetes.
So
if
you
use
kubernetes
today,
you
know
there's
a
default
namespace.
It
holds
your
stuff
we're
using
namespaces
as
a
way
to
segment
the
pads
infrastructure
to
provide
projects,
but
it's
kind
of
neat
to
just.
If
you
want
to
go
see
what's
in
the
default,
kubernetes
namespace,
you
can
go.
Look
at
it.
You
got
a
kubernetes
service.
B
You've
got
a
kubernetes
read-only
service,
you
have
the
origin
api
service,
that's
bound
to
the
origin
pod,
it's
speaking
over
8443
four,
and
so
actually
as
a
administrator
of
open
shift.
You
can
actually
use
kubernetes
and
see
it.
You
know
verbatim,
but
what
I
want
to
do
next
is
show
as
a
as
an
end
user
of
the
paths,
how
I
can
go
and
create
new
name
spaces
and
new
projects
and
start
to
actually
deploy
and
work
with
code.
So
what
I
will
do
now.
B
A
It's
really,
I
don't
get
to
talk.
Okay,
while
derek's
doing
this.
What's
really
important
is
like
we're
running
applications
on
top
of
kubernetes,
because
kubernetes
is
an
application
platform.
This
is
like
step.
One
right,
so
kelsey
showed
a
postgres
app.
Kubernetes
is
an
application
right
at
some
point.
We
want
to
show
the
kubernetes
infrastructure
running
on
top
of,
like
these
are
things
that
make
it
easier
to
run
real
applications
and
that's
as
important
to
us.
As
you
know,
making
like
the
simple
toy
apps
that
people
can
throw
together
and
show.
B
So
openshift
will
take
your
code,
it'll
build
images
for
you
and
push
them
into
some
registry,
and
then
we
will
deploy
it
for
you
in
the
sake
of
interest
in
this
demo,
I'm
going
to
run
a
private
registry
on
my
kubernetes
cluster,
and
so
I'm
now
creating
a
docker
registry.
It's
exposed
as
a
service
endpoint
on
kubernetes
as
a
pod.
If
I
go
back
and
look
at
my
pods,
you
should
see
there's
a
new
pod.
There
called
docker
registry
and
so,
let's
start
actually
doing
paths
like
capabilities
on
top
of
kubernetes.
A
And
just
in
case,
everybody
realizes
like
what
derek's.
B
B
We
only
had
10
minutes.
Yes,
I
don't
want
to
be
okay.
So
what
I
just
did
in
the
background
here
is:
I
created
a
new
namespace
which
is
going
to
be
a
project
in
open
shift
and
in
my
actual
project
selector
here
outside
of
the
out-of-the-box
stuff,
you
will
see
you
have
a
now
a
new
endpoint.
It
is
your
new
open
shift,
3
sample
app
that
you're
running
on
kubernetes.
It
is
a
project
you
can
start
to
assign
and
open
shift
roles
for
how
users
can
interact
with
that
project.
B
You
can
assign
quota
constraints
to
say
this
is
how
many
resources
this
individual
kubernetes
namespace
can
use.
You
can
assign
limits
that
say
no
given
container
in
this
namespace
can
use
more
than
this
amount
of
cpu
or
less
than
this
amount
of
memory.
So,
for
example,
here
is
that
sample
creation
flow.
If
I
go
and
look
at
my
project
settings,
you
know
you
can
see.
Okay,
this
is
your
new
project.
It's
actually
kubernetes
namespace.
B
A
You
know
a
big
thing
about
paths.
Is
people
want
to
split
up
the
resources
they
have
to
share
it
with
people?
So,
like
the
first
question
you
say,
is
I've
got
this
cluster
with
all
these
fungible
resources?
So
what
are
the
tools
that
let
me
share
those
among
10,
000
people
and
one
of
those
is
this
project
concept,
but
access
control
and
quota
all
fit
into
that
yeah.
So
go
ahead.
B
Yeah,
so
the
next
part
of
the
demo
is
in
the
interest
of
time.
I
see
I
have
a
clock
here
of
a
minute
and
18
seconds,
so
you
have
code
that
code
lives
somewhere.
You
want
to
translate
that
code
into
an
image
and
you
want
to
deploy
it
and
you
want
things
to
change
when
you
push
changes
to
your
code,
you
want
to
see
those
changes
happen
to
your
running
instance.
B
B
You
know
those
base
resources,
and
so
we
have
this
concept
of
an
application
template,
which
is
how
do
I
take
everything?
That's
in
the
kubernetes
name.
Space
today
extract
it
out
and
stamp
it.
So
it's
reusable
to
build
other
types
of
applications.
So
we
have
a
core
template.
You
can
process
that
template
and
parameterize
it
to
do
what
you
need.
A
B
B
It
is
now
running
and
what
I
want
to
do
is
simulate
the
idea
that
hey
I've
just
pushed
a
new
change
to
my
ruby,
app
up
to
github
and
because
I
have
a
limited
wi-fi
scenario
here,
I'm
going
to
simulate
the
fact
that
github
just
sent
me
a
trigger
back.
That
said,
hey
the
code
changed
go,
build
something.
B
That's
fine,
so
they
just
started
a
build
and
the
build
is
now
accepted
as
a
job
in
the
kubernetes.
So
when
you
actually
go
and
run
builds
in
the
system,
it's
actually
using
lower
level,
kubernetes
primitives,
so
you'll
actually
see.
If
you
want
to
browse
your
project,
you
see
I'm
running
my
database
pod,
but
now
I'm
also
running
a
build
pod
and
we
have
a
concept
in
openshift
around
sourced
images,
and
so
this
is
actually
this
canonical
builder.
That's
running.
It's
actually
running
as
a
pod
in
your
system,
and
this
build
should
hopefully
finish.
B
A
And
this
is
just
a
simple
example,
but
imagine
if
you
wanted
to
run
18
000
variations
of
the
same
build.
If
you
have
kubernetes
and
you
have
a
thousand
nodes,
you
can
run
18
000
copies
of
the
builds
just
as
easily
as
you
can
run
one
so
like
replication
controllers
on
builds
and
those
concepts
coming
down
the
road.
So.
B
I
don't
think
I
have
enough
time
to
watch
the
build
finished
the
build's
actually
running.
In
the
background,
it's
going
to
do
a
docker
push
of
the
output
of
this
build
into
a
new
image.
In
my
image,
repository
that
I
created
earlier
and
ideally
then,
the
deployment
for
your
app
would
recognize
that
hey,
there's
now
been
a
new
build
push.
B
This
registry
push
out
your
new
code
and
roll
it
out
in
a
rolling
update
style
fashion
like
kelsey
just
showed
previously
so
main
takeaway
here
is
openshift
is
heavily
working
around
kubernetes
primitives
we're
not
hiding
them.
So
if
you
like
the
power
of
kubernetes,
you
will
see
that
power
in
openshift,
yeah
and.
A
You
can
all
the
openshift
team
works,
we're
into
the
google
containers
irc
channel
a
lot,
but
you
know
our
goal
is
to
help
make
kubernetes
everything
that
we
need
to
run
applications
and
it's
the
things
like
storage
and
limits
and
quota
and
access
control.
These
are
the
things
that
we
want
to
get
involved
to
help
build
on
top
of
kubernetes
so
that
everybody
benefits
from
that.
A
So
if
you
kick
the
last
slide
so
we're
out
of
time,
but
if
you
want
to
check
out
the
source
code
for
openshift,
if
you
want
to
try
it
out
in
a
docker
container,
run
it
all
inside
a
docker
container,
run
a
whole
cube
environment
inside
a
container
give
it
a
spin.
You
can
see
our
github
page
and
check
it
out
thanks.
Everybody.
Thank.