The document summarizes an Infracoders Meetup that took place in Graz, Austria on June 27, 2017. It discusses the Infracoders network, infrastructure automation technologies like Habitat and containers, and the agenda for the meetup which included a talk by Michael Ducy of Chef on Habitat, containers, and orchestrators. The next meetup was planned for September 12th to discuss container monitoring with Prometheus.
2. Infracoders
• Network all over the world (Austria, Germany, UK,
USA,…)
• Infrastructure Automation
• Technologies: Habitat, Containers, Orchestrators,
Chef, Puppet, Docker, Jenkins etc.
• Exchange of ideas, tips & tricks
Leitnergasse 16, 8010 Graz | www.infralovers.com
3. Plan for the future
• Next Meetup: 12th of September
• Topic: Dynamic Infrastructure and Container
Monitoring with Prometheus
• Give a speech
• Contact: linkedin.com/in/theresa-wallas
twallas@infralovers.com
Leitnergasse 16, 8010 Graz | www.infralovers.com
4. Agenda
19:00-20:00 Talk
• Michael Ducy, Director of Product Marketing at Chef
• Habitat, Containers, Orchestrators
20:00-21:00 Networking
• Drinks & Sushi are sponsored by Infralovers
Leitnergasse 16, 8010 Graz | www.infralovers.com
7. Habitat Community
• Join the Habitat Slack Team - http://slack.habitat.sh/
• Work through the tutorial at https://www.habitat.sh/tutorials/
• Explore Habitat packages on the depot - https://app.habitat.sh/
• Explore the Habitat projects - https://github.com/habitat-sh
• Read Habitat Blog posts - https://blog.chef.io/?s=habitat
• Join the Habitat Forums - https://forums.habitat.sh/
43. Habitat on Kubernetes
• Habitat:
• Responsible for the Application
• Kubernetes
• Responsible for the Infrastructure (ReplicaSets, Pods, Services, etc)
45. What do applications need to run?
• Lifecycle events
• Start, Stop, Reconfigure, etc
• Environment specific configuration
• Knowledge of peers
• Knowledge of dependent services
47. Configuration
• Config files stored in ./config
• Default values provided by
• Scaffolding
• default.toml
• Override defaults through
• ENV variable
• user.toml
• Over the network
48. Supervisors form a ring
Peers
Service Groups
Gossip
Availability
increases with
scale
49. Daemon Sets on Kubernetes
• Provides the ability to run a copy of a Pod on every node
• New nodes automatically start a copy of the Pod
• Useful for “Management Components” (logging collection, metric
collection, storage daemons, etc)
50. Habitat Containers as a Daemon Set
• Provides a common “boot strapping” end point for applications
• Automatically scales with Kubernetes
• Easily lookup any Habitat Service Group
53. Self Organizing Applications
• Habitat applications can self organize
• Typical pattern
• Bake intent into the container
• Redis-master container image
• Redis-follower container image
• Introduces image sprawl
54. Self Organizing Applications
• Habitat pattern
• One container image
• Launch images with knowledge of peers
• Application self organizes
55. Self Organizing Applications
• Habitat config files, hooks, and labeling
• Config files are generating based on self organization
• Hooks will be fired after the application self-organizes
• Hooks can communicate with other services (Kubernetes) to inform services
of changes
56. Supervisors provide a REST API
External Actors
Health and Status
Supervisor
Debugging
58. What Habitat brings to Containers:
• Build containers from the Application down
• Export containers in a variety of formats
• Automatically export containers with:
• Service Discovery
• Configuration Management
• Supervisor API
• Clustering Topology Support
59. Where to go?
• Export target for Kubernetes (generate the needed YAML)
• Direct communication between the Kubernetes API & Supervisors
• ThirdParty Operators
61. Questions
• Github repo with this demo- https://github.com/mfdii/hab_on_k8s
• Join the Habitat Slack Team - http://slack.habitat.sh/
• Work through the tutorial at https://www.habitat.sh/tutorials/
• Explore Habitat packages on the depot - https://app.habitat.sh/
• Explore the Habitat projects - https://github.com/habitat-sh
• Read Habitat Blog posts - https://blog.chef.io/?s=habitat
• Join the Habitat Forums - https://forums.habitat.sh/