Published on 5 February 2016 by

Last week I had the pleasure of presenting at the first London Kubernetes meetup of 2016 and talking about the recent Kubernetes and Puppet integration. The talk I gave focused mainly on the advantages of using a programming language like Puppet to model Kubernetes constructs, as well as a broader discussion about the utility of different user interfaces for different users and contexts. The slides are available here:

I spoke specifically about using Puppet to manage Kubernetes in order to:

  • Avoid repetition. Puppet’s variables make it easy to reuse specific bits of data, in a way a static data file doesn’t allow.
  • Combine external inputs. Hiera supports bringing in data from a wide range of sources, making for some interesting dynamic use cases.
  • Ensure correctness. Puppet’s wide range of testing tools, from unit and acceptance testing to linting and syntax checking, make it easier to catch errors early.
  • Create abstractions. The real power of using Puppet with Kubernetes is in providing higher-level business abstractions that can be reused without everyone needing to care about the implementation details.

The audience certainly warmed to the topic and asked good questions throughout. Some of the attendees even said nice things afterwards.

And Daniel Bryant kindly included a mention of the talk in Microservices Weekly, saying:

After seeing Gareth present this at the London Kubernetes meetup earlier in the week, I am now much more convinced of the role of a CM tool with something like Kubernetes.

The main takeaway from the evening was that the power of Kubernetes is in its API. Agreement on that interface allows for a range of tools that control the same underlying system — Puppet, Dies, OpenShift, Helm and more — to emerge. That in turn allows for different use cases and different lifecycles to coexist on the same underlying infrastructure.

Gareth Rushgrove is a senior software engineer at Puppet Labs.

Learn more

Share via:
The content of this field is kept private and will not be shown publicly.

Restricted HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.