2. Agenda
• Review
of
Docker,
demo
– Pull,
build,
Docker
container
repo
• Overview
of
CoreOS,
demo
– Build,
install
container,
destroy/rejoin
host
• Use
cases
and
potenDal
architecture
• Discussions
10/20/14
CreaDve
Common-‐SA,
NC
2
3. It
will
be
nice
to
have
computer
resources…
•
General
– Agile,
fault
tolerant,
HA
– New
resource
joins
pool
automaDcally
in-‐out,
uDlizaDon
-‐
release
resources
for
other
to
use
– User
friendly,
reasonable
learn
curve
to
use
it,
and
low
maintenance
– Scalable
• SoPware
– Configurable
auto
update,
increment,
transparent
– Run
mulDple
versions
of
app
at
the
same
Dme
– Across
physical
boundary
– Self-‐content,
defensive,
not
effected
by
other
apps
10/20/14
CreaDve
Common-‐SA,
NC
3
6. Docker
• Virtualize
host
OS
(mainly
Linux).
• Standard
format
to
package
the
applicaDon
with
its
dependency.
• Isolated
environment
for
program
execuDon.
• Has
its
own
IP
Address.
• Has
version
control,
like
git.
• Can
pull/push
Docker
container
images
from
public
or
private
repository.
• Can
assemble
mulDple
containers
to
form
a
more
complicate
applicaDon,
like
Lego.
10/20/14
CreaDve
Common-‐SA,
NC
6
7. File
Layers
in
Container
10/20/14
CreaDve
Common-‐SA,
NC
7
8. Why
do
we
care?
• Beaer
use
of
computer
resources,
IBM
report.
• Open
Source
and
supports
all
major
OS
(Linux,
MacOS
and
Windows).
• Can
be
on
many
devices,
from
Raspberry
Pi,
Android
device,
laptop,
server
to
Data
Center.
• Game
Changer,
Awesome!
Opportuni;es!
10/20/14
CreaDve
Common-‐SA,
NC
8
12. It
is
Alpha!
There
are
beta
and
stable
channels
too.
Image
credit
hap://quoteko.com/stork-‐boy.html
10/20/14
CreaDve
Common-‐SA,
NC
12
13. CoreOS
• CoreOS
is
a
minimal
Linux
OS,
was
originally
based
on
Gentoo.
• Linux
Kernel
+
Docker
Containers.
• Built
for
running
HA
clusters.
• Updates,
patches
applies
automaDcally
(configurable).
• Uses
systemd,
has
3
main
components:
–
fleet:
cluster
service
management
–
etcd:
distributed
key-‐value
store
–
docker:
container
10/20/14
CreaDve
Common-‐SA,
NC
13
14. Why
CoreOS?
• Designed
for
massive
server
deployments.
• Support
Docker
container
out
of
box.
• Support
cloud
plamorm
– Digital
Ocean
– OpenStack
– Google
Compute
Engine
– Amazon
EC2
– Rackspace
Cloud
– Brightbox
Cloud
• Available
on
Linux,
Mac
and
Windows.
10/20/14
CreaDve
Common-‐SA,
NC
14
16. Update
• If
there
is
an
update
available
it
is
downloaded
and
installed
to
root
B.
To
ensure
we
don’t
disrupt
your
applicaDon,
we
rate
limit
the
disk
and
network
I/O
this
process
is
allowed
to
use
with
Linux
cgroups.
• Using
this
dual-‐root
scheme
is
an
improvement
on
the
exisDng
workflow
of
yum
or
apt-‐get.
Using
these
tools
during
upgrading
has
been
known
to
cause
the
package
manager
to
force
daemons
to
use
new
libraries
or
move
configuraDon
files
around.
With
CoreOS,
a
system
update
is
an
atomic
operaDon
that
can
be
rolled
back.
10/20/14
CreaDve
Common-‐SA,
NC
16
17. Systemd
haps://en.wikipedia.org/wiki/Systemd
• System
management
daemon
• Services,
Dmers,
and
one-‐off
jobs
• Logging
through
journal,
support
json
10/20/14
CreaDve
Common-‐SA,
NC
17
18. Fleet
• Cluster-‐level
service
management
• Schedules
jobs
across
cluster
• Reschedules
units
on
failure
10/20/14
CreaDve
Common-‐SA,
NC
18
19. etcd
• etcd
is
a
distributed
key
value
store.
• Shared
configuraDon,
applicaDons
can
read
and
write
data
into
etcd.
• Distributed
locking.
• etcd
uses
RaP
protocol,
gracefully
handles
master
elecDon
during
network
parDDons
and
the
loss
of
the
current
master.
10/20/14
CreaDve
Common-‐SA,
NC,
BY
19
20. Docker
• Only
packaging
method
in
CoreOS
• Container
is
self
contain
• Isolated
from
other
applicaDons
• Less
overhead
than
VMs
10/20/14
CreaDve
Common-‐SA,
NC,
BY
20
22. Lessons
Learnt
and
ToDo
• Docker
and
CoreOS
offer
new
architecture
design
opDons
for
applicaDons,
plamorm
and
data
centers.
• They
allow
more
efficient
app
design,
test,
deployment
and
workflows
for
developers.
• New
programming
language
and
design
paradigms.
10/20/14
CreaDve
Common-‐SA,
NC
22
25. From
LXC
to
libcontainer
• Move
from
using
LXC
to
libcontainer
as
default
at
release
0.9
– Standardize
interface
with
Linux,
can
be
controlled
as
expected.
– Joint
efforts.
– Cross-‐plamorm,
in
Windows
too.
– Large
momentum
behind
Docker
technology.
10/20/14
CreaDve
Common-‐SA,
NC
25