Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CoreOS @Codetalks

CoreOS @Codetalks

Timo Derstappen

October 17, 2014
Tweet

More Decks by Timo Derstappen

Other Decks in Technology

Transcript

  1. Simple service orchestration, built for developers. Based in Cologne, Germany.

    Ten terrific folks, and hiring! http://giantswarm.io/
  2. CoreOS enables warehouse-scale computing on top of a minimal, modern

    operating system. A new Linux Distribution to provide features needed to run modern infrastructure stacks. Minimal Linux
  3. Linux Basis • Based on Gentoo • systemd • btrfs

    • Images for PXE, OpenStack, AWS, GCE, Vagrant
  4. No classic package manager • ChromeOS inspired update engine •

    Atomic Updates • Rollbacks • Using Docker to distribute software
  5. CoreOS own tools • Etcd • Locksmith • Cloud-config •

    Flannel • Fleet https://github.com/coreos
  6. Etcd • Basis for > Configuration management > Service Discovery

    • REST Interface • Raft consensus algorithm http://raftconsensus.github.io/
  7. Discovery API $> curl https://discovery.etcd.io/new https://discovery.etcd. io/463c1435f9f63c952e0899b1f459c0fe $> curl -s

    https://discovery.etcd. io/463c1435f9f63c952e0899b1f459c0fe | jq ".node. nodes[].value" "http://172.31.19.1:7001" "http://172.31.19.0:7001" "http://172.31.18.255:7001"
  8. Locksmith • Reboot strategies for CoreOS updates • Uses etcd

    for distributed locks • Alpha, Beta, Stable channels
  9. Cloud Config • Initialization of your instances • Configure etcd,

    fleet, locksmith • YAML file • eg. EC2 user-data, Autoscaler launch- config
  10. Configure your cluster #cloud-config coreos: update: reboot-strategy: etcd-lock etcd: discovery:

    https://discovery.etcd.io/<token> users: - name: teemow coreos-ssh-import-github: teemow
  11. Cloud overlay network • One subnet per machine • Get

    rid of docker port mapping • Let containers talk to each other via IP addresses
  12. Fleet Scheduler • Relatively simple > By meta data >

    Same machine/exclusion • Resolve service dependencies! • More to come > Resource management (CPU, memory etc.)
  13. Unit file [Unit] Description=A Redis Server [Service] TimeoutStartSec=0 ExecStartPre=/usr/bin/docker pull

    teemow/redis ExecStart=/usr/bin/docker run --rm -p 6379 --name %n teemow/redis ExecStop=/usr/bin/docker stop %n
  14. Manage a service $> fleetctl start redis.service $> fleetctl list-units

    $> fleetctl status redis.service $> fleetctl journal redis.service $> fleetctl stop redis.service $> fleetctl destroy redis.service
  15. cAdvisor • Monitoring for your containers • Collects, aggregates and

    processes metrics • InfluxDB Backend • Monitoring of clusters with Heapster
  16. Panamax • Web interface to start multi container apps •

    App Templates on Github • Open Source project from CenturyLink Labs
  17. Docker Cologne - CoreOS Meetup 19:00, 14th October Startplatz Brandon

    Philips, CTO of CoreOS Luke Marsden, CTO of Flocker There is a Meetup in Cologne