Using Orchestration in
Puppet Enterprise 3
Nick Fagerlund
Technical Writer | Puppet Labs
@nfagerlund
Friday, August 23, 13
puppetconf.com #puppetconf
HI.
Friday, August 23, 13
puppetconf.com #puppetconf
How’s it goin.
Friday, August 23, 13
puppetconf.com #puppetconf
Let’s talk about
orchestration!
Raise your hand if you know what it is.
Friday, August 23, 13
puppetconf.com #puppetconf
Specifically,
let’s talk about…
• What it is, why you use it, and when
• HOW???
• Cool new feat...
puppetconf.com #puppetconf
I already took notes for
you.
Friday, August 23, 13
puppetconf.com #puppetconf
http://docs.puppetlabs.com/pe/latest
Friday, August 23, 13
puppetconf.com #puppetconf
OK,what’s orchestration.
Friday, August 23, 13
puppetconf.com #puppetconf
It’s not configuration
management.
It’s a different kind of automation.
They’re complementary!
...
puppetconf.com #puppetconf
Config management is:
• Modeling a desired state for systems…
• …enforcing that desired state…
...
puppetconf.com #puppetconf
Orchestration is about:
• Executing actions…
• …on demand…
• …on a flexible group of systems.
Fr...
puppetconf.com #puppetconf
???
Friday, August 23, 13
puppetconf.com #puppetconf
What’s an “action?”
• Pre-defined actions are distributed as
plugins.
• Actions have structured ...
puppetconf.com #puppetconf
What’s “on demand?”
• Whenever you want—
• —either really quickly and in parallel—
• —or in a c...
puppetconf.com #puppetconf
Flexible group of systems?
• Select nodes by fact values
• Select by Puppet classes
• Select wi...
puppetconf.com #puppetconf
Why orchestrate?
Friday, August 23, 13
puppetconf.com #puppetconf
• Controlling config management
Friday, August 23, 13
puppetconf.com #puppetconf
• Controlling config management
• Gathering information
Friday, August 23, 13
puppetconf.com #puppetconf
• Controlling config management
• Gathering information
• Application deployment
Friday, August ...
puppetconf.com #puppetconf
• Controlling config management
• Gathering information
• Application deployment
• Routine or em...
puppetconf.com #puppetconf
• Controlling config management
• Gathering information
• Application deployment
• Routine or em...
puppetconf.com #puppetconf
Basically: What tasks do
you want to Run Better on
Lots of Nodes?
Friday, August 23, 13
puppetconf.com #puppetconf
How do you use
orchestration?
Friday, August 23, 13
puppetconf.com #puppetconf
(We wrote
this down.)
http://docs.puppetlabs.com/pe/
latest/
orchestration_invoke_cli.html
Frid...
puppetconf.com #puppetconf
Two ways to invoke actions
• In the PE console
• On the command line
Friday, August 23, 13
puppetconf.com #puppetconf
Two ways to invoke actions
• In the PE console
• On the command line
(focusing here for
today!)...
puppetconf.com #puppetconf
1. Go to the command line
• SSH to puppet master server
• Switch user to “peadmin”
Friday, Augu...
puppetconf.com #puppetconf
2. Decide on three things
• What action?
• What inputs/arguments?
• On which kinds of nodes?
Fr...
puppetconf.com #puppetconf
3. Run your command
• mco <SUBCOMMAND> <ARGUMENTS>
<OPTIONS> <FILTER>
Friday, August 23, 13
puppetconf.com #puppetconf
Finding
actions/
inputs:
http://docs.puppetlabs.com/pe/
latest/
orchestration_actions.html
Frid...
puppetconf.com #puppetconf
Finding filter
information
http://docs.puppetlabs.com/pe/
latest/
orchestration_invoke_cli.html...
puppetconf.com #puppetconf
Demo time!
Friday, August 23, 13
puppetconf.com #puppetconf
What did we just see?
Friday, August 23, 13
puppetconf.com #puppetconf
The mco command
• The mco command controls the
orchestration engine.
• It has a bunch of subcom...
puppetconf.com #puppetconf
The subcommands
• mco rpc is the generic subcommand. It can
do basically anything.
• All the ot...
puppetconf.com #puppetconf
Specialized subcommands
• mco ping is exactly what it sounds like.
• mco find is a fast way to t...
puppetconf.com #puppetconf
Specialized subcommands
• And mco puppet is for controlling Puppet.
Friday, August 23, 13
puppetconf.com #puppetconf
How about those new
features?
Friday, August 23, 13
puppetconf.com #puppetconf
Batching / progressive
deployment
• --batch <SIZE>
• --batch-sleep <SECONDS>
Friday, August 23,...
puppetconf.com #puppetconf
Batching / progressive
deployment
• Good for rolling out new Puppet modules!
Friday, August 23,...
puppetconf.com #puppetconf
(demo)
Friday, August 23, 13
puppetconf.com #puppetconf
Data plugins / dynamic
discovery
• $ mco rpc puppet status -S
"puppet().enabled=false"
Friday, ...
puppetconf.com #puppetconf
Data plugins / dynamic
discovery
• Advanced filtering
• Ad-hoc monitoring and reporting
Friday, ...
puppetconf.com #puppetconf
(demo)
Friday, August 23, 13
puppetconf.com #puppetconf
Sampling/limiting
• --1
• --limit <COUNT>
Friday, August 23, 13
puppetconf.com #puppetconf
What next?
Friday, August 23, 13
puppetconf.com #puppetconf
The built-in actions are
useful,but orchestration
really shines when you roll
your own.
Friday,...
puppetconf.com #puppetconf
For example:
Friday, August 23, 13
puppetconf.com #puppetconf
(That’s it,that’s all the code.)
Friday, August 23, 13
puppetconf.com #puppetconf
Info about
writing
actions
http://docs.puppetlabs.com/pe/
latest/
orchestration_adding_actions....
puppetconf.com #puppetconf
Say hi later,and I can show
you more!
Friday, August 23, 13
Thank You
Nick Fagerlund
Technical Writer | Puppet Labs
@nfagerlund
Collaborate. Automate. Ship.
Friday, August 23, 13
Follow us on Twitter @puppetlabs
youtube.com/puppetlabsinc
slideshare.net/puppetlabs
Collaborate. Automate. Ship.
Friday, ...
Upcoming SlideShare
Loading in...5
×

Using Orchestration in Puppet Enterprise 3 - PuppetConf 2013

2,307

Published on

"Using Orchestration in Puppet Enterprise 3" by Nick Fagerlund Technical Writer, Puppet Labs.

Presentation Overview: The recently released Puppet Enterprise 3.0 introduced several powerful orchestration engine capabilities, including dynamic discovery and progressive deployment. This introductory-level talk will provide an overview of these and other orchestration engine features, the common use-cases they address, and how you use them.

Speaker Bio: Nick Fagerlund was the very first dedicated technical writer at Puppet Labs. Like any responsible pet owner, Puppet Labs has since provided him with companions. Unlike a responsible pet owner, Puppet Labs has fed him after midnight and occasionally splashed water on him. Nick writes (and re-writes) at http://docs.puppetlabs.com, focusing on platform-level components like the Puppet language. He specializes in breaking things and then explaining how they broke. His business card says "weird bugs."

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,307
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
46
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Using Orchestration in Puppet Enterprise 3 - PuppetConf 2013

  1. 1. Using Orchestration in Puppet Enterprise 3 Nick Fagerlund Technical Writer | Puppet Labs @nfagerlund Friday, August 23, 13
  2. 2. puppetconf.com #puppetconf HI. Friday, August 23, 13
  3. 3. puppetconf.com #puppetconf How’s it goin. Friday, August 23, 13
  4. 4. puppetconf.com #puppetconf Let’s talk about orchestration! Raise your hand if you know what it is. Friday, August 23, 13
  5. 5. puppetconf.com #puppetconf Specifically, let’s talk about… • What it is, why you use it, and when • HOW??? • Cool new features in Puppet Enterprise 3 • Concrete use cases Friday, August 23, 13
  6. 6. puppetconf.com #puppetconf I already took notes for you. Friday, August 23, 13
  7. 7. puppetconf.com #puppetconf http://docs.puppetlabs.com/pe/latest Friday, August 23, 13
  8. 8. puppetconf.com #puppetconf OK,what’s orchestration. Friday, August 23, 13
  9. 9. puppetconf.com #puppetconf It’s not configuration management. It’s a different kind of automation. They’re complementary! Friday, August 23, 13
  10. 10. puppetconf.com #puppetconf Config management is: • Modeling a desired state for systems… • …enforcing that desired state… • …and updating the model in order to update the state. Friday, August 23, 13
  11. 11. puppetconf.com #puppetconf Orchestration is about: • Executing actions… • …on demand… • …on a flexible group of systems. Friday, August 23, 13
  12. 12. puppetconf.com #puppetconf ??? Friday, August 23, 13
  13. 13. puppetconf.com #puppetconf What’s an “action?” • Pre-defined actions are distributed as plugins. • Actions have structured inputs and outputs. • Actions can do... like, whatever. (Several built-in, or write your own.) Friday, August 23, 13
  14. 14. puppetconf.com #puppetconf What’s “on demand?” • Whenever you want— • —either really quickly and in parallel— • —or in a controlled series of batches. Friday, August 23, 13
  15. 15. puppetconf.com #puppetconf Flexible group of systems? • Select nodes by fact values • Select by Puppet classes • Select with dynamic data discovery Instead of using a list of hostnames, set criteria to match against. Friday, August 23, 13
  16. 16. puppetconf.com #puppetconf Why orchestrate? Friday, August 23, 13
  17. 17. puppetconf.com #puppetconf • Controlling config management Friday, August 23, 13
  18. 18. puppetconf.com #puppetconf • Controlling config management • Gathering information Friday, August 23, 13
  19. 19. puppetconf.com #puppetconf • Controlling config management • Gathering information • Application deployment Friday, August 23, 13
  20. 20. puppetconf.com #puppetconf • Controlling config management • Gathering information • Application deployment • Routine or emergency maintenance Friday, August 23, 13
  21. 21. puppetconf.com #puppetconf • Controlling config management • Gathering information • Application deployment • Routine or emergency maintenance • Any of your day-to-day work that must happen interactively Friday, August 23, 13
  22. 22. puppetconf.com #puppetconf Basically: What tasks do you want to Run Better on Lots of Nodes? Friday, August 23, 13
  23. 23. puppetconf.com #puppetconf How do you use orchestration? Friday, August 23, 13
  24. 24. puppetconf.com #puppetconf (We wrote this down.) http://docs.puppetlabs.com/pe/ latest/ orchestration_invoke_cli.html Friday, August 23, 13
  25. 25. puppetconf.com #puppetconf Two ways to invoke actions • In the PE console • On the command line Friday, August 23, 13
  26. 26. puppetconf.com #puppetconf Two ways to invoke actions • In the PE console • On the command line (focusing here for today!) Friday, August 23, 13
  27. 27. puppetconf.com #puppetconf 1. Go to the command line • SSH to puppet master server • Switch user to “peadmin” Friday, August 23, 13
  28. 28. puppetconf.com #puppetconf 2. Decide on three things • What action? • What inputs/arguments? • On which kinds of nodes? Friday, August 23, 13
  29. 29. puppetconf.com #puppetconf 3. Run your command • mco <SUBCOMMAND> <ARGUMENTS> <OPTIONS> <FILTER> Friday, August 23, 13
  30. 30. puppetconf.com #puppetconf Finding actions/ inputs: http://docs.puppetlabs.com/pe/ latest/ orchestration_actions.html Friday, August 23, 13
  31. 31. puppetconf.com #puppetconf Finding filter information http://docs.puppetlabs.com/pe/ latest/ orchestration_invoke_cli.html# filtering-actions Friday, August 23, 13
  32. 32. puppetconf.com #puppetconf Demo time! Friday, August 23, 13
  33. 33. puppetconf.com #puppetconf What did we just see? Friday, August 23, 13
  34. 34. puppetconf.com #puppetconf The mco command • The mco command controls the orchestration engine. • It has a bunch of subcommands, whose syntax can vary. Friday, August 23, 13
  35. 35. puppetconf.com #puppetconf The subcommands • mco rpc is the generic subcommand. It can do basically anything. • All the other subcommands are simpler ways to do things you could probably do with mco rpc. Friday, August 23, 13
  36. 36. puppetconf.com #puppetconf Specialized subcommands • mco ping is exactly what it sounds like. • mco find is a fast way to test filters. • mco service mimics the familiar service command. • mco package mimics apt and yum commands. Friday, August 23, 13
  37. 37. puppetconf.com #puppetconf Specialized subcommands • And mco puppet is for controlling Puppet. Friday, August 23, 13
  38. 38. puppetconf.com #puppetconf How about those new features? Friday, August 23, 13
  39. 39. puppetconf.com #puppetconf Batching / progressive deployment • --batch <SIZE> • --batch-sleep <SECONDS> Friday, August 23, 13
  40. 40. puppetconf.com #puppetconf Batching / progressive deployment • Good for rolling out new Puppet modules! Friday, August 23, 13
  41. 41. puppetconf.com #puppetconf (demo) Friday, August 23, 13
  42. 42. puppetconf.com #puppetconf Data plugins / dynamic discovery • $ mco rpc puppet status -S "puppet().enabled=false" Friday, August 23, 13
  43. 43. puppetconf.com #puppetconf Data plugins / dynamic discovery • Advanced filtering • Ad-hoc monitoring and reporting Friday, August 23, 13
  44. 44. puppetconf.com #puppetconf (demo) Friday, August 23, 13
  45. 45. puppetconf.com #puppetconf Sampling/limiting • --1 • --limit <COUNT> Friday, August 23, 13
  46. 46. puppetconf.com #puppetconf What next? Friday, August 23, 13
  47. 47. puppetconf.com #puppetconf The built-in actions are useful,but orchestration really shines when you roll your own. Friday, August 23, 13
  48. 48. puppetconf.com #puppetconf For example: Friday, August 23, 13
  49. 49. puppetconf.com #puppetconf (That’s it,that’s all the code.) Friday, August 23, 13
  50. 50. puppetconf.com #puppetconf Info about writing actions http://docs.puppetlabs.com/pe/ latest/ orchestration_adding_actions.ht ml#writing-mcollective-agent- plugins Friday, August 23, 13
  51. 51. puppetconf.com #puppetconf Say hi later,and I can show you more! Friday, August 23, 13
  52. 52. Thank You Nick Fagerlund Technical Writer | Puppet Labs @nfagerlund Collaborate. Automate. Ship. Friday, August 23, 13
  53. 53. Follow us on Twitter @puppetlabs youtube.com/puppetlabsinc slideshare.net/puppetlabs Collaborate. Automate. Ship. Friday, August 23, 13
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×