Your SlideShare is downloading. ×
  • Like
CoreOS intro
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

CoreOS intro

  • 2,125 views
Published

An introduction to CoreOS for the Docker Cologne Meetup.

An introduction to CoreOS for the Docker Cologne Meetup.

Published in Software , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,125
On SlideShare
0
From Embeds
0
Number of Embeds
4

Actions

Shares
Downloads
56
Comments
0
Likes
16

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Timo Derstappen @teemow CoreOS Introduction
  • 2. CoreOS ● Minimal OS to host your containers ● Automatic Updates ● Cluster Management ● Service Discovery
  • 3. CoreOS ● distributed containers ● configuration in etcd
  • 4. CoreOS 101 ● minimal Gentoo ● PXE, KVM, AWS, OpenStack, Vagrant ● read-only rootfs (writable overlay) ● cloud config ● etcd ● systemd / fleet ● locksmith
  • 5. Cloud Config ● handles early initialization of a cloud instance ● configure fleet, etcd ● create users ● write files ● etc...
  • 6. Etcd ● Highly available K/V store ● Basis for ○ Configuration management ○ Service Discovery ● Raft consensus algorithm ● Discovery API ● REST Interface
  • 7. Locksmith ● reboot strategies for CoreOS updates ● uses etcd for distributed locks
  • 8. Fleet ● Define and launch containers ● Fleet is systemd for the cluster ● Utilizes etcd + systemd
  • 9. Unit file [Unit] Description=A Redis Server [Service] TimeoutStartSec=0 EnvironmentFile=/etc/environment Environment="IMAGE=teemow/redis" ExecStartPre=/usr/bin/docker pull $IMAGE ExecStart=/bin/bash -c "exec /usr/bin/docker run --rm -p $COREOS_PRIVATE_IPV4::6379 --name %n $IMAGE" ExecStop=-/usr/bin/docker kill %n
  • 10. Launch a service # start fleetctl --tunnel my.coreos-cluster.com start redis.service # status fleetctl --tunnel my.coreos-cluster.com list-units fleetctl --tunnel my.coreos-cluster.com status redis.service fleetctl --tunnel my.coreos-cluster.com journal redis.service # stop fleetctl --tunnel my.coreos-cluster.com stop redis.service fleetctl --tunnel my.coreos-cluster.com destroy redis.service
  • 11. CoreOS ● distributed containers ● configuration in etcd
  • 12. Sidekick ● Keep configuration out of your app
  • 13. Ambassador ● Reverse proxy for your service ● Keep service discovery out of your app
  • 14. CoreOS ● Great foundation to create flexible distributed infrastructures ● Unix philosophy
  • 15. Lessons Learned ● 150+ Instances on AWS ● Micro Services ● Polyglot Persistence ● DevOps