Notes from Config Management Camp 2016
Config Management Camp is becoming a great addition to the post-FOSDEM crowd. Short train ride away from Brussels to Ghent, lots of good content for an overnighter in a hotel (2d/1n). It routinely sells out (the cost is unbeatable, free ;)), so go early. Some quick notes:
Jonathan Boulle – CoreOS – etcd @baronboulle
- /etc but distributed with a clustered key-value store with GET/SET operations
- Support SkyDNS, Kubernetes, etc.
- CoreOS mission is to “secure the internet” and they like to provide automatic updates. Updates = rebooting. They didn’t like ZooKeeper so much.
- etcd: strong consistency guarantees, simple/fast HTTP API, OSS
- Uses the Raft consensus algorithm (replicated log to model a state machine; append only log). Concepts: leaders, elections, terms
- Written in Go, statically linked – etcd daemon and etcdctl cli
Service discovery using SmartStack – John Billings – billings@yelp.com
- http://nerds.airbnb.com/smartstack-service-discovery-cloud/
- Load balancing was done via something called create-lb-config and it was a lot of manual stuff which was deployed via puppet. Very labour intensive.
- They created something called PaasTa as a Paas (https://github.com/Yelp/paasta). And they found out about AirBnB’s SmartStack
- HAProxy allows you to re-dispatch on connection failures and easy to add connection logging as well. Each HAProxy instance also has a status page
- http://engineeringblog.yelp.com/2015/04/true-zero-downtime-haproxy-reloads.html
- Originally Nerve & Synapse made a Zookeper connection per service so it would make Zookeeper slow. Modify Nerve/Synapse to multiplex all operations over a single Zookeeper connection
- Use Zookeeper + AWS without issue for service discovery
- etcd would probably also work and supported by SmartStack but they already know Zookeper. SmartStack is conceptually similar to consul/consul-template
Platform Orchestration with Kubernetes and Docker
- Julian Strobl – julian@endocode.com – experts in linux/OSS dev, trainers, consultants located in berlin
- They have a 4-node Raspberry Pi cluster that one of them made
- There used to be a Master/Minion relationship, but now its a Master/Worker relationship when you are dealing in the Kubernetes world
- https://github.com/saturnism/gcp-live-k8s-visualizer
How CoreOS is built, modified and updated – Brian “redbeard” Harrington, Principal Architect, CoreOS
- @brianredbeard / brianredbeard.com
- repo sync – allows for managing many git repos at once
- cros sdk is used to build Chromium OS, but its truly an SDK (lots of bash scripts that do things the way you want them)
- OMAHA protocol created by Google to handle updates to desktop applications (eg. ChromeOS, Browser, etc.). There are OSS bindings provided by CoreOS in Go.