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

Pulling the strings to containerise your life

Pulling the strings to containerise your life

The slides from Puppet Camp Melbourne 2016

Scott Coulton

December 05, 2016
Tweet

More Decks by Scott Coulton

Other Decks in Technology

Transcript

  1. We will be looking at the different way you can

    use Puppet to help your journey to a continerised life. We spilt the talk into 2 segments • The last 6 months ( The birth of project Blueshift) • The new cutting edge stuff
  2. Before we start. Why use Puppet for Containerisation ? Puppet

    allows you to define the state of a resource on a traditional server. The container eco system is no different. You still need to define state or we just end up back where we were before automation.
  3. What does Puppet look like in the new world We

    are no longer just controlling resources and services !!! • We use custom type/providers to control API’s • Puppet can manipulate data for other systems to ingest • We can now query key/value stores dynamically to update data structures • We can use Puppet to auto generate application code
  4. Docker Swarm • Docker Swarm is Docker’s open source container

    scheduler • Allows you to configure the key/value store of your choice • Built in HA for node failure • Supports Docker Compose • Supports Docker native networking (Overlay)
  5. The modules to Build Swarm Garethr/Docker https://forge.puppet.com/garethr/docker Scottyc/Golang https://forge.puppet.com/scottyc/golang KyleAnderson/Consul

    https://forge.puppet.com/KyleAnderson/consul Scottyc/Docker_swarm https://forge.puppet.com/scottyc/docker_swarm
  6. The Code For a full working demo of Docker Swarm

    https://github.com/scotty-c/puppet-demo
  7. Docker UCP • Docker’s Enterprise solution (Paid product) • Supports

    all the features of Docker Swarm • Gives you the option of using etcd or consul as the Key/value store • Comes with an integrated web ui • The easiest of the three schedulers to set up
  8. The Code For a full working demo of Docker UCP

    https://github.com/scotty-c/ucp-demo
  9. Kubernetes • Google’s edition to the container world • Is

    open source • Well defined API ecosystem • Has multiple interfaces and methods of control • Self healing • Locks you into etcd and flannel
  10. What about storage persistence We have created HA clusters for

    our container eco system for compute failure. What about our data ?
  11. Flocker • Flocker allows us to set up standalone volumes

    for containers • Supports AWS (EBS), GCE (PD) and Openstack (Cinder)
  12. The modules to Build Flocker scottyc/flocker In POC (if anyone

    in the community wants to help. Hit me up) stankevich/python https://forge.puppet.com/stankevich/python
  13. Other Apps we have used in our demo Code •

    Consul https://www.consul.io/ • Etcd https://coreos.com/etcd/docs/latest/ • Flannel https://coreos.com/flannel/docs/latest/ • Interlock https://github.com/ehazlett/interlock • Golang https://golang.org/ • Registrator https://github.com/gliderlabs/registrator
  14. And on the Puppet Forge • Consul https://forge.puppet.com/KyleAnderson/consul • Etcd

    https://forge.puppet.com/cristifalcas/etcd • Flannel https://forge.puppet.com/cristifalcas/flannel • Golang https://forge.puppet.com/scottyc/golang
  15. And even more we didn’t have time to get too

    • Mesos https://forge.puppet.com/deric/mesos • Rancher https://forge.puppet.com/puppetlabs/rancher • Rex Ray https://forge.puppet.com/emccode/rexray
  16. puppetlabs/puppetlabs-image_build • Allows you to take your Puppet code and

    containerise with ease. • Very little dev work • Good bang for your buck