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

etcd @ Hyderabad Scalability Meetup

etcd @ Hyderabad Scalability Meetup

Overview of etcd with demos given in Hyderabad at:
http://www.meetup.com/hyderabad-scalability/events/227567581/

2786cdedd6e0eaa34b64b17e1cea81b9?s=128

Brandon Philips

January 02, 2016
Tweet

Transcript

  1. @brandonphilips @coreoslinux

  2. About Me CTO/CO-FOUNDER systems engineer @brandonphilips github.com/philips

  3. @coreoslinux

  4. ORIGINAL PHOTO (CC) BY IAN KLUFT @tectonicstack

  5. https://github.com/philips/hacks/tree/master/etcd-demos

  6. etcd

  7. /etc distributed

  8. open source software failure tolerant durable watchable exposed via HTTP

    runtime reconfigurable
  9. Data Store API -X GET Get Wait -X PUT Put

    Create CAS -X DELETE Delete CAD
  10. Leader Follower etcd Cluster

  11. Applications locksmith

  12. None
  13. None
  14. Cluster Wide Reboot Lock 1. Need reboot to reboot? Decrement

    the semaphore key atomically with etcd. 2. manager.Reboot() and wait... 3. After rebooting increment the semaphore key in etcd atomically.
  15. Applications vulcan, confd and skydns

  16. Applications kubernetes

  17. You Scheduler API Scheduler Machine(s)

  18. Cluster Work Scheduling 1. Cluster API writes desired work into

    etcd keyspace. 2. Agents running on individual machines pick up work assigned to them. 3. Agents report where work is running and current status.
  19. etcd basics clusters and bootstrapping

  20. Leader Follower etcd Cluster

  21. Availability In a 2F+1 cluster tolerate F machine failures

  22. Available

  23. Available

  24. Available

  25. Unavailable

  26. Master Election Fast recovery (5-10*typical RTT) from temporarily unavailable

  27. Available Leader Follower

  28. Leader Follower Available

  29. Leader Follower Temporarily Unavailable

  30. Leader Follower Available

  31. Durable log files, snapshots and backups

  32. bootstrapping Candidate

  33. GET discovery.etcd.io/new

  34. discovery.etcd.io/6eadeac2 6eadeac2d

  35. 6eadeac2d/state CREATE

  36. 6eadeac2d/state Key Value Index state started 5890 n0 10.0.2.1 5891

    n1 10.0.2.4 5898 ...
  37. bootstrapped Leader Follower

  38. None
  39. Introduces gRPC backed API More efficient handling of events Non-blocking

    snapshots Better read performance when contention is high
  40. Thanks we like pull requests github.com/coreos/etcd