SlideShare a Scribd company logo
Infrastructure Coders

Mcollective: An introduction to the marionette.




                                    Melbourne 06-06-2012
Javier Turégano
#devops
         @setoide
#opensource
#it-management
Disclaimer
Not mcollective Ninja
Why do we need orchestration?
Example architecture

          Balancer




 Webapp   Webapp     Webapp




           Bdd
Use case: Add one webapp server

                                   Deploy
    Provision     Apply config
                                 Last version
    new node      as webserver
                                   Of App


                                   Add to
   Grant access      Start
                                 LoadBalance
      to DB        webserver
                                      r



    Activate
                    In Prod!
   monitoring
Use case: Deploy new version

   Update     Provision 1
 Db schema     New app      Send traffic
  (addings)     server


                              Update
               Replace
    Test                    Db schema
              App servers
                            (removals)



  In Prod!
Some options available



         Func
         Fabric
       Capistrano
       mcollective
Marionete Colective


   mcollective is a framework to build server
orchestration or parallel job execution systems

           Created by R.I. Pienaar
Is it better than an SSH loop?

Asynchronous/Event driven
Scalable
RIP Hostnames – use facts, classes.
Modular (security, middleware, agents)
Auto discovery
De-centralized inventory
Architecture
Install middleware


# apt-get install rabbitmq
# rabbitmqctl add_user mcollective marionette
# rabbitmqctl set_user_tags mcollective 
     administrator
# rabbitmqctl set_permissions -p / mcollective 
     ".*" ".*" ".*"
Install mcollective

In your servers:

# sudo apt-get install mcollective

In your admnistrator's machines:

# sudo apt-get install mcollective-client
Configure mcollective
topicprefix = /topic/
main_collective = mcollective
collectives = mcollective
libdir = /usr/share/mcollective/plugins
logfile = /var/log/mcollective.log
loglevel = info
daemonize = 0

# Plugins
securityprovider = psk
plugin.psk = unset

connector = stomp
plugin.stomp.host= master
plugin.stomp.port= 6163
plugin.stomp.user= mcollective
plugin.stomp.password= marionette

# Facts
factsource = facter
Advanced config
             Some interesting options:

loglevel=debug

#factsource = facter
factsource = yaml
plugin.yaml = /etc/mcollective/facts.yaml

classesfile = /var/lib/puppet/state/classes.txt
Puppet modules


Puppet modules available.

       For RHEL:

  puppetlabs/rabbitmq
 puppetlabs/mcollective
DEMO TIME!
Finding nodes

Targeting nodes using facts and classes:

# mc-ping

# mc-find-hosts -F virtual=virtualbox
# mc-find-hosts -F “memoryfree>100M”
# mc-find-hosts -C mcollective -F operatingsystem="Ubuntu"
Inventory


Powerful distributed inventory system:

# mc-facts virtual
# mc-facts processorcount

# mc-inventory box01
Plugins

              You can get plugins from:
http://projects.puppetlabs.com/projects/mcollective-plugins/wiki



 Facts-facter
                     Filemgr
                                         Iptables
           Package
                               Process
                  Puppetd
                                             Service
Using the filemgr plugin




# mco rpc filemgr status file=/tmp/filemgr
Using the iptables plugin



# mco iptables block 192.168.0.0 -C base -v

Node01 # iptables -L -n -v
Using the package plugin



# mco package status vim-puppet -C base -v

# mco package uninstall vim-puppet -C base -v
Executing puppet

# mco puppetd status -C base

Edit puppet base class

# mco puppetd runonce 1 -v -C base

Check output in /var/log/syslog
RIP
Hosnames



 QUESTIONS?
Images

     http://www.flickr.com/photos/ag2r/3783369226/

http://www.flickr.com/photos/31348155@N03/5584078173/

http://www.flickr.com/photos/61927538@N00/205992050/

http://www.flickr.com/photos/safari_vacation/5842069535

More Related Content

What's hot

Performance Tuning Your Puppet Infrastructure - PuppetConf 2014
Performance Tuning Your Puppet Infrastructure - PuppetConf 2014Performance Tuning Your Puppet Infrastructure - PuppetConf 2014
Performance Tuning Your Puppet Infrastructure - PuppetConf 2014
Puppet
 
DevOps Hackathon - Session 1: Vagrant
DevOps Hackathon - Session 1: VagrantDevOps Hackathon - Session 1: Vagrant
DevOps Hackathon - Session 1: Vagrant
Antons Kranga
 
Testing your infrastructure with litmus
Testing your infrastructure with litmusTesting your infrastructure with litmus
Testing your infrastructure with litmus
Bram Vogelaar
 
DevOps hackathon Session 2: Basics of Chef
DevOps hackathon Session 2: Basics of ChefDevOps hackathon Session 2: Basics of Chef
DevOps hackathon Session 2: Basics of Chef
Antons Kranga
 
How Danga::Socket handles asynchronous processing and how to write asynchrono...
How Danga::Socket handles asynchronous processing and how to write asynchrono...How Danga::Socket handles asynchronous processing and how to write asynchrono...
How Danga::Socket handles asynchronous processing and how to write asynchrono...Gosuke Miyashita
 
Scaling Ruby with Evented I/O - Ruby underground
Scaling Ruby with Evented I/O - Ruby undergroundScaling Ruby with Evented I/O - Ruby underground
Scaling Ruby with Evented I/O - Ruby underground
Omer Gazit
 
PuppetCamp SEA 1 - Puppet Deployment at OnApp
PuppetCamp SEA 1 - Puppet Deployment  at OnAppPuppetCamp SEA 1 - Puppet Deployment  at OnApp
PuppetCamp SEA 1 - Puppet Deployment at OnApp
Walter Heck
 
Puppet Camp London Fall 2015 - Service Discovery and Puppet
Puppet Camp London Fall 2015 - Service Discovery and PuppetPuppet Camp London Fall 2015 - Service Discovery and Puppet
Puppet Camp London Fall 2015 - Service Discovery and Puppet
Marc Cluet
 
Ansible for beginners ...?
Ansible for beginners ...?Ansible for beginners ...?
Ansible for beginners ...?
shirou wakayama
 
Getting Started With Aura
Getting Started With AuraGetting Started With Aura
Getting Started With Aura
Chris Tankersley
 
Capifony. Minsk PHP MeetUp #11
Capifony. Minsk PHP MeetUp #11Capifony. Minsk PHP MeetUp #11
Capifony. Minsk PHP MeetUp #11
Yury Pliashkou
 
PuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of PuppetPuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of Puppet
Walter Heck
 
Celery with python
Celery with pythonCelery with python
Celery with python
Alexandre González Rodríguez
 
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & HadoopPuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
Walter Heck
 
Using SaltStack to orchestrate microservices in application containers at Sal...
Using SaltStack to orchestrate microservices in application containers at Sal...Using SaltStack to orchestrate microservices in application containers at Sal...
Using SaltStack to orchestrate microservices in application containers at Sal...
Love Nyberg
 
Puppet Camp NYC 2014: Build a Modern Infrastructure in 45 min!
Puppet Camp NYC 2014: Build a Modern Infrastructure in 45 min!Puppet Camp NYC 2014: Build a Modern Infrastructure in 45 min!
Puppet Camp NYC 2014: Build a Modern Infrastructure in 45 min!
Puppet
 
Designing net-aws-glacier
Designing net-aws-glacierDesigning net-aws-glacier
Designing net-aws-glacier
Workhorse Computing
 
Advanced task management with Celery
Advanced task management with CeleryAdvanced task management with Celery
Advanced task management with Celery
Mahendra M
 
Autoscaling with hashi_corp_nomad
Autoscaling with hashi_corp_nomadAutoscaling with hashi_corp_nomad
Autoscaling with hashi_corp_nomad
Bram Vogelaar
 
Controlling multiple VMs with the power of Python
Controlling multiple VMs with the power of PythonControlling multiple VMs with the power of Python
Controlling multiple VMs with the power of Python
Yurii Vasylenko
 

What's hot (20)

Performance Tuning Your Puppet Infrastructure - PuppetConf 2014
Performance Tuning Your Puppet Infrastructure - PuppetConf 2014Performance Tuning Your Puppet Infrastructure - PuppetConf 2014
Performance Tuning Your Puppet Infrastructure - PuppetConf 2014
 
DevOps Hackathon - Session 1: Vagrant
DevOps Hackathon - Session 1: VagrantDevOps Hackathon - Session 1: Vagrant
DevOps Hackathon - Session 1: Vagrant
 
Testing your infrastructure with litmus
Testing your infrastructure with litmusTesting your infrastructure with litmus
Testing your infrastructure with litmus
 
DevOps hackathon Session 2: Basics of Chef
DevOps hackathon Session 2: Basics of ChefDevOps hackathon Session 2: Basics of Chef
DevOps hackathon Session 2: Basics of Chef
 
How Danga::Socket handles asynchronous processing and how to write asynchrono...
How Danga::Socket handles asynchronous processing and how to write asynchrono...How Danga::Socket handles asynchronous processing and how to write asynchrono...
How Danga::Socket handles asynchronous processing and how to write asynchrono...
 
Scaling Ruby with Evented I/O - Ruby underground
Scaling Ruby with Evented I/O - Ruby undergroundScaling Ruby with Evented I/O - Ruby underground
Scaling Ruby with Evented I/O - Ruby underground
 
PuppetCamp SEA 1 - Puppet Deployment at OnApp
PuppetCamp SEA 1 - Puppet Deployment  at OnAppPuppetCamp SEA 1 - Puppet Deployment  at OnApp
PuppetCamp SEA 1 - Puppet Deployment at OnApp
 
Puppet Camp London Fall 2015 - Service Discovery and Puppet
Puppet Camp London Fall 2015 - Service Discovery and PuppetPuppet Camp London Fall 2015 - Service Discovery and Puppet
Puppet Camp London Fall 2015 - Service Discovery and Puppet
 
Ansible for beginners ...?
Ansible for beginners ...?Ansible for beginners ...?
Ansible for beginners ...?
 
Getting Started With Aura
Getting Started With AuraGetting Started With Aura
Getting Started With Aura
 
Capifony. Minsk PHP MeetUp #11
Capifony. Minsk PHP MeetUp #11Capifony. Minsk PHP MeetUp #11
Capifony. Minsk PHP MeetUp #11
 
PuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of PuppetPuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of Puppet
 
Celery with python
Celery with pythonCelery with python
Celery with python
 
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & HadoopPuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
 
Using SaltStack to orchestrate microservices in application containers at Sal...
Using SaltStack to orchestrate microservices in application containers at Sal...Using SaltStack to orchestrate microservices in application containers at Sal...
Using SaltStack to orchestrate microservices in application containers at Sal...
 
Puppet Camp NYC 2014: Build a Modern Infrastructure in 45 min!
Puppet Camp NYC 2014: Build a Modern Infrastructure in 45 min!Puppet Camp NYC 2014: Build a Modern Infrastructure in 45 min!
Puppet Camp NYC 2014: Build a Modern Infrastructure in 45 min!
 
Designing net-aws-glacier
Designing net-aws-glacierDesigning net-aws-glacier
Designing net-aws-glacier
 
Advanced task management with Celery
Advanced task management with CeleryAdvanced task management with Celery
Advanced task management with Celery
 
Autoscaling with hashi_corp_nomad
Autoscaling with hashi_corp_nomadAutoscaling with hashi_corp_nomad
Autoscaling with hashi_corp_nomad
 
Controlling multiple VMs with the power of Python
Controlling multiple VMs with the power of PythonControlling multiple VMs with the power of Python
Controlling multiple VMs with the power of Python
 

Viewers also liked

The Devops Laboratory
The Devops LaboratoryThe Devops Laboratory
The Devops Laboratory
Javier Turégano Molina
 
Performance beyond IT
Performance beyond ITPerformance beyond IT
Performance beyond IT
Javier Turégano Molina
 
Precentacion de nuestro gran proyecto Nuestro gran proyecto
Precentacion de nuestro gran proyecto Nuestro gran proyectoPrecentacion de nuestro gran proyecto Nuestro gran proyecto
Precentacion de nuestro gran proyecto Nuestro gran proyecto
Eli Torres Ü
 
3.2.16 McCormick Foundation Presentation
3.2.16 McCormick Foundation Presentation3.2.16 McCormick Foundation Presentation
3.2.16 McCormick Foundation Presentation
Smart Chicago Collaborative
 
Casa chon
Casa chonCasa chon
Casa chon
GrandFather2
 
Open layers pt_br
Open layers pt_brOpen layers pt_br
Open layers pt_brMarcos Rosa
 
E-Mail-Sicherheit
E-Mail-SicherheitE-Mail-Sicherheit
E-Mail-Sicherheit
Digicomp Academy AG
 
Neue Medien und Formate für mehr Anwendererfolg
Neue Medien und Formate für mehr AnwendererfolgNeue Medien und Formate für mehr Anwendererfolg
Neue Medien und Formate für mehr Anwendererfolg
TANNER AG
 
Medicina 2.0
Medicina 2.0Medicina 2.0
Medicina 2.0
Jesus Custodio
 
Educar en la responsabilidad y autonomía
Educar en la responsabilidad y autonomíaEducar en la responsabilidad y autonomía
Educar en la responsabilidad y autonomíaUnzizu Martínez
 
Metryx Mass Metrology For Tsv (Icep2009)
Metryx   Mass Metrology For Tsv (Icep2009)Metryx   Mass Metrology For Tsv (Icep2009)
Metryx Mass Metrology For Tsv (Icep2009)
Stehen Griffing
 
Offering Cloud Solutions
Offering Cloud Solutions Offering Cloud Solutions
Offering Cloud Solutions
Zemsania Services & Consulting
 
Seopro (2013) refuerzo del seo con campañas de email marketing
Seopro (2013) refuerzo del seo con campañas de email marketingSeopro (2013) refuerzo del seo con campañas de email marketing
Seopro (2013) refuerzo del seo con campañas de email marketing
Pablo Baselice
 
Welcome to the Tokyo 2020 Olympics English Task Force Group
Welcome to the Tokyo 2020 Olympics English Task Force GroupWelcome to the Tokyo 2020 Olympics English Task Force Group
Welcome to the Tokyo 2020 Olympics English Task Force Group
iCTVBA - International Cloud TV Broadcasters Alliance
 
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
John Allspaw
 
SPSD 2015 - "Von OneDrive for Business zur Enterprise Collaboration Architektur"
SPSD 2015 - "Von OneDrive for Business zur Enterprise Collaboration Architektur"SPSD 2015 - "Von OneDrive for Business zur Enterprise Collaboration Architektur"
SPSD 2015 - "Von OneDrive for Business zur Enterprise Collaboration Architektur"
Communardo GmbH
 

Viewers also liked (17)

The Devops Laboratory
The Devops LaboratoryThe Devops Laboratory
The Devops Laboratory
 
Performance beyond IT
Performance beyond ITPerformance beyond IT
Performance beyond IT
 
BonDia Lleida 19122011
BonDia Lleida 19122011BonDia Lleida 19122011
BonDia Lleida 19122011
 
Precentacion de nuestro gran proyecto Nuestro gran proyecto
Precentacion de nuestro gran proyecto Nuestro gran proyectoPrecentacion de nuestro gran proyecto Nuestro gran proyecto
Precentacion de nuestro gran proyecto Nuestro gran proyecto
 
3.2.16 McCormick Foundation Presentation
3.2.16 McCormick Foundation Presentation3.2.16 McCormick Foundation Presentation
3.2.16 McCormick Foundation Presentation
 
Casa chon
Casa chonCasa chon
Casa chon
 
Open layers pt_br
Open layers pt_brOpen layers pt_br
Open layers pt_br
 
E-Mail-Sicherheit
E-Mail-SicherheitE-Mail-Sicherheit
E-Mail-Sicherheit
 
Neue Medien und Formate für mehr Anwendererfolg
Neue Medien und Formate für mehr AnwendererfolgNeue Medien und Formate für mehr Anwendererfolg
Neue Medien und Formate für mehr Anwendererfolg
 
Medicina 2.0
Medicina 2.0Medicina 2.0
Medicina 2.0
 
Educar en la responsabilidad y autonomía
Educar en la responsabilidad y autonomíaEducar en la responsabilidad y autonomía
Educar en la responsabilidad y autonomía
 
Metryx Mass Metrology For Tsv (Icep2009)
Metryx   Mass Metrology For Tsv (Icep2009)Metryx   Mass Metrology For Tsv (Icep2009)
Metryx Mass Metrology For Tsv (Icep2009)
 
Offering Cloud Solutions
Offering Cloud Solutions Offering Cloud Solutions
Offering Cloud Solutions
 
Seopro (2013) refuerzo del seo con campañas de email marketing
Seopro (2013) refuerzo del seo con campañas de email marketingSeopro (2013) refuerzo del seo con campañas de email marketing
Seopro (2013) refuerzo del seo con campañas de email marketing
 
Welcome to the Tokyo 2020 Olympics English Task Force Group
Welcome to the Tokyo 2020 Olympics English Task Force GroupWelcome to the Tokyo 2020 Olympics English Task Force Group
Welcome to the Tokyo 2020 Olympics English Task Force Group
 
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
 
SPSD 2015 - "Von OneDrive for Business zur Enterprise Collaboration Architektur"
SPSD 2015 - "Von OneDrive for Business zur Enterprise Collaboration Architektur"SPSD 2015 - "Von OneDrive for Business zur Enterprise Collaboration Architektur"
SPSD 2015 - "Von OneDrive for Business zur Enterprise Collaboration Architektur"
 

Similar to Mcollective introduction

One-Man Ops
One-Man OpsOne-Man Ops
One-Man Ops
Jos Boumans
 
Web scale infrastructures with kubernetes and flannel
Web scale infrastructures with kubernetes and flannelWeb scale infrastructures with kubernetes and flannel
Web scale infrastructures with kubernetes and flannel
purpleocean
 
DevOps Workflow: A Tutorial on Linux Containers
DevOps Workflow: A Tutorial on Linux ContainersDevOps Workflow: A Tutorial on Linux Containers
DevOps Workflow: A Tutorial on Linux Containers
inside-BigData.com
 
Kubernetes and its Infrastructure - a walkthrough from the paths of container...
Kubernetes and its Infrastructure - a walkthrough from the paths of container...Kubernetes and its Infrastructure - a walkthrough from the paths of container...
Kubernetes and its Infrastructure - a walkthrough from the paths of container...
niharikadhanik
 
No more Dockerfiles? Buildpacks to help you ship your image!
No more Dockerfiles? Buildpacks to help you ship your image!No more Dockerfiles? Buildpacks to help you ship your image!
No more Dockerfiles? Buildpacks to help you ship your image!
Anthony Dahanne
 
Puppet Camp Berlin 2015: Pedro Pessoa | Puppet at the center of everything - ...
Puppet Camp Berlin 2015: Pedro Pessoa | Puppet at the center of everything - ...Puppet Camp Berlin 2015: Pedro Pessoa | Puppet at the center of everything - ...
Puppet Camp Berlin 2015: Pedro Pessoa | Puppet at the center of everything - ...
NETWAYS
 
Puppet Camp Berlin 2015: Puppet at the center of everything - with a little h...
Puppet Camp Berlin 2015: Puppet at the center of everything - with a little h...Puppet Camp Berlin 2015: Puppet at the center of everything - with a little h...
Puppet Camp Berlin 2015: Puppet at the center of everything - with a little h...
Puppet
 
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Puppet
 
Release with confidence
Release with confidenceRelease with confidence
Release with confidence
John Congdon
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy System
adrian_nye
 
Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3
Velocidex Enterprises
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.cat
Pablo Godel
 
Drupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google Cloud
Drupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google CloudDrupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google Cloud
Drupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google Cloud
Dropsolid
 
Monitoring kubernetes with prometheus
Monitoring kubernetes with prometheusMonitoring kubernetes with prometheus
Monitoring kubernetes with prometheus
Brice Fernandes
 
Container orchestration from theory to practice
Container orchestration from theory to practiceContainer orchestration from theory to practice
Container orchestration from theory to practice
Docker, Inc.
 
Shakr - Container CI/CD with Google Cloud Platform
Shakr - Container CI/CD with Google Cloud PlatformShakr - Container CI/CD with Google Cloud Platform
Shakr - Container CI/CD with Google Cloud Platform
Minku Lee
 
Kubernetes Navigation Stories – DevOpsStage 2019, Kyiv
Kubernetes Navigation Stories – DevOpsStage 2019, KyivKubernetes Navigation Stories – DevOpsStage 2019, Kyiv
Kubernetes Navigation Stories – DevOpsStage 2019, Kyiv
Aleksey Asiutin
 
Devopstore
DevopstoreDevopstore
Devopstore
Farkhad Badalov
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Amazon Web Services
 
Scaling docker with kubernetes
Scaling docker with kubernetesScaling docker with kubernetes
Scaling docker with kubernetes
Liran Cohen
 

Similar to Mcollective introduction (20)

One-Man Ops
One-Man OpsOne-Man Ops
One-Man Ops
 
Web scale infrastructures with kubernetes and flannel
Web scale infrastructures with kubernetes and flannelWeb scale infrastructures with kubernetes and flannel
Web scale infrastructures with kubernetes and flannel
 
DevOps Workflow: A Tutorial on Linux Containers
DevOps Workflow: A Tutorial on Linux ContainersDevOps Workflow: A Tutorial on Linux Containers
DevOps Workflow: A Tutorial on Linux Containers
 
Kubernetes and its Infrastructure - a walkthrough from the paths of container...
Kubernetes and its Infrastructure - a walkthrough from the paths of container...Kubernetes and its Infrastructure - a walkthrough from the paths of container...
Kubernetes and its Infrastructure - a walkthrough from the paths of container...
 
No more Dockerfiles? Buildpacks to help you ship your image!
No more Dockerfiles? Buildpacks to help you ship your image!No more Dockerfiles? Buildpacks to help you ship your image!
No more Dockerfiles? Buildpacks to help you ship your image!
 
Puppet Camp Berlin 2015: Pedro Pessoa | Puppet at the center of everything - ...
Puppet Camp Berlin 2015: Pedro Pessoa | Puppet at the center of everything - ...Puppet Camp Berlin 2015: Pedro Pessoa | Puppet at the center of everything - ...
Puppet Camp Berlin 2015: Pedro Pessoa | Puppet at the center of everything - ...
 
Puppet Camp Berlin 2015: Puppet at the center of everything - with a little h...
Puppet Camp Berlin 2015: Puppet at the center of everything - with a little h...Puppet Camp Berlin 2015: Puppet at the center of everything - with a little h...
Puppet Camp Berlin 2015: Puppet at the center of everything - with a little h...
 
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
 
Release with confidence
Release with confidenceRelease with confidence
Release with confidence
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy System
 
Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.cat
 
Drupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google Cloud
Drupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google CloudDrupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google Cloud
Drupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google Cloud
 
Monitoring kubernetes with prometheus
Monitoring kubernetes with prometheusMonitoring kubernetes with prometheus
Monitoring kubernetes with prometheus
 
Container orchestration from theory to practice
Container orchestration from theory to practiceContainer orchestration from theory to practice
Container orchestration from theory to practice
 
Shakr - Container CI/CD with Google Cloud Platform
Shakr - Container CI/CD with Google Cloud PlatformShakr - Container CI/CD with Google Cloud Platform
Shakr - Container CI/CD with Google Cloud Platform
 
Kubernetes Navigation Stories – DevOpsStage 2019, Kyiv
Kubernetes Navigation Stories – DevOpsStage 2019, KyivKubernetes Navigation Stories – DevOpsStage 2019, Kyiv
Kubernetes Navigation Stories – DevOpsStage 2019, Kyiv
 
Devopstore
DevopstoreDevopstore
Devopstore
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
 
Scaling docker with kubernetes
Scaling docker with kubernetesScaling docker with kubernetes
Scaling docker with kubernetes
 

More from Javier Turégano Molina

Sprinkle your Devops platform with product thinking.pdf
Sprinkle your Devops platform with product thinking.pdfSprinkle your Devops platform with product thinking.pdf
Sprinkle your Devops platform with product thinking.pdf
Javier Turégano Molina
 
Building Slack's internal developer platform as a product.pdf
Building Slack's internal developer platform as a product.pdfBuilding Slack's internal developer platform as a product.pdf
Building Slack's internal developer platform as a product.pdf
Javier Turégano Molina
 
Scaling Slack during explosive growth
Scaling Slack during explosive growthScaling Slack during explosive growth
Scaling Slack during explosive growth
Javier Turégano Molina
 
Scaling the culture of ownership at realestate.com.au
Scaling the culture of ownership at realestate.com.auScaling the culture of ownership at realestate.com.au
Scaling the culture of ownership at realestate.com.au
Javier Turégano Molina
 
Introduction to Devops (Melbourne University)
Introduction to Devops (Melbourne University)Introduction to Devops (Melbourne University)
Introduction to Devops (Melbourne University)
Javier Turégano Molina
 
Devopsgirls bootcamp3-next
Devopsgirls bootcamp3-nextDevopsgirls bootcamp3-next
Devopsgirls bootcamp3-next
Javier Turégano Molina
 
FinOps
FinOpsFinOps
The devops laboratory - 1 year later
The devops laboratory - 1 year laterThe devops laboratory - 1 year later
The devops laboratory - 1 year later
Javier Turégano Molina
 
Devops101
Devops101Devops101
Web performance101
Web performance101Web performance101
Web performance101
Javier Turégano Molina
 
The Ops dojo
The Ops dojoThe Ops dojo
Configuration management - A "love" story
Configuration management - A "love" storyConfiguration management - A "love" story
Configuration management - A "love" story
Javier Turégano Molina
 
Velocity and DevopsDays 2013 takeaways
Velocity and DevopsDays 2013 takeawaysVelocity and DevopsDays 2013 takeaways
Velocity and DevopsDays 2013 takeaways
Javier Turégano Molina
 
Devopsen tic
Devopsen ticDevopsen tic
Experiencias en la administración de sistemas con Software LIbre en empresas TIC
Experiencias en la administración de sistemas con Software LIbre en empresas TICExperiencias en la administración de sistemas con Software LIbre en empresas TIC
Experiencias en la administración de sistemas con Software LIbre en empresas TIC
Javier Turégano Molina
 
Gestionando servidores con Puppet
Gestionando servidores con PuppetGestionando servidores con Puppet
Gestionando servidores con Puppet
Javier Turégano Molina
 
Saas For Public Administration
Saas For Public AdministrationSaas For Public Administration
Saas For Public Administration
Javier Turégano Molina
 
Administrando Jboss
Administrando JbossAdministrando Jboss
Administrando Jboss
Javier Turégano Molina
 
Alta disponibilidad y balanceo de carga en Linux
Alta disponibilidad y balanceo de carga en LinuxAlta disponibilidad y balanceo de carga en Linux
Alta disponibilidad y balanceo de carga en Linux
Javier Turégano Molina
 

More from Javier Turégano Molina (20)

Sprinkle your Devops platform with product thinking.pdf
Sprinkle your Devops platform with product thinking.pdfSprinkle your Devops platform with product thinking.pdf
Sprinkle your Devops platform with product thinking.pdf
 
Building Slack's internal developer platform as a product.pdf
Building Slack's internal developer platform as a product.pdfBuilding Slack's internal developer platform as a product.pdf
Building Slack's internal developer platform as a product.pdf
 
Scaling Slack during explosive growth
Scaling Slack during explosive growthScaling Slack during explosive growth
Scaling Slack during explosive growth
 
Scaling the culture of ownership at realestate.com.au
Scaling the culture of ownership at realestate.com.auScaling the culture of ownership at realestate.com.au
Scaling the culture of ownership at realestate.com.au
 
Introduction to Devops (Melbourne University)
Introduction to Devops (Melbourne University)Introduction to Devops (Melbourne University)
Introduction to Devops (Melbourne University)
 
Devopsgirls bootcamp3-next
Devopsgirls bootcamp3-nextDevopsgirls bootcamp3-next
Devopsgirls bootcamp3-next
 
FinOps
FinOpsFinOps
FinOps
 
The devops laboratory - 1 year later
The devops laboratory - 1 year laterThe devops laboratory - 1 year later
The devops laboratory - 1 year later
 
Devops101
Devops101Devops101
Devops101
 
Web performance101
Web performance101Web performance101
Web performance101
 
The Ops dojo
The Ops dojoThe Ops dojo
The Ops dojo
 
Configuration management - A "love" story
Configuration management - A "love" storyConfiguration management - A "love" story
Configuration management - A "love" story
 
Velocity and DevopsDays 2013 takeaways
Velocity and DevopsDays 2013 takeawaysVelocity and DevopsDays 2013 takeaways
Velocity and DevopsDays 2013 takeaways
 
Devopsen tic
Devopsen ticDevopsen tic
Devopsen tic
 
Experiencias en la administración de sistemas con Software LIbre en empresas TIC
Experiencias en la administración de sistemas con Software LIbre en empresas TICExperiencias en la administración de sistemas con Software LIbre en empresas TIC
Experiencias en la administración de sistemas con Software LIbre en empresas TIC
 
Gestionando servidores con Puppet
Gestionando servidores con PuppetGestionando servidores con Puppet
Gestionando servidores con Puppet
 
Saas For Public Administration
Saas For Public AdministrationSaas For Public Administration
Saas For Public Administration
 
Administrando Jboss
Administrando JbossAdministrando Jboss
Administrando Jboss
 
Departamento Arquitectura Resumen 2009
Departamento Arquitectura Resumen 2009Departamento Arquitectura Resumen 2009
Departamento Arquitectura Resumen 2009
 
Alta disponibilidad y balanceo de carga en Linux
Alta disponibilidad y balanceo de carga en LinuxAlta disponibilidad y balanceo de carga en Linux
Alta disponibilidad y balanceo de carga en Linux
 

Recently uploaded

By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
UiPathCommunity
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 

Recently uploaded (20)

By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 

Mcollective introduction

  • 1. Infrastructure Coders Mcollective: An introduction to the marionette. Melbourne 06-06-2012
  • 2. Javier Turégano #devops @setoide #opensource #it-management
  • 4. Why do we need orchestration?
  • 5.
  • 6. Example architecture Balancer Webapp Webapp Webapp Bdd
  • 7. Use case: Add one webapp server Deploy Provision Apply config Last version new node as webserver Of App Add to Grant access Start LoadBalance to DB webserver r Activate In Prod! monitoring
  • 8. Use case: Deploy new version Update Provision 1 Db schema New app Send traffic (addings) server Update Replace Test Db schema App servers (removals) In Prod!
  • 9.
  • 10. Some options available Func Fabric Capistrano mcollective
  • 11. Marionete Colective mcollective is a framework to build server orchestration or parallel job execution systems Created by R.I. Pienaar
  • 12. Is it better than an SSH loop? Asynchronous/Event driven Scalable RIP Hostnames – use facts, classes. Modular (security, middleware, agents) Auto discovery De-centralized inventory
  • 14. Install middleware # apt-get install rabbitmq # rabbitmqctl add_user mcollective marionette # rabbitmqctl set_user_tags mcollective administrator # rabbitmqctl set_permissions -p / mcollective ".*" ".*" ".*"
  • 15. Install mcollective In your servers: # sudo apt-get install mcollective In your admnistrator's machines: # sudo apt-get install mcollective-client
  • 16. Configure mcollective topicprefix = /topic/ main_collective = mcollective collectives = mcollective libdir = /usr/share/mcollective/plugins logfile = /var/log/mcollective.log loglevel = info daemonize = 0 # Plugins securityprovider = psk plugin.psk = unset connector = stomp plugin.stomp.host= master plugin.stomp.port= 6163 plugin.stomp.user= mcollective plugin.stomp.password= marionette # Facts factsource = facter
  • 17. Advanced config Some interesting options: loglevel=debug #factsource = facter factsource = yaml plugin.yaml = /etc/mcollective/facts.yaml classesfile = /var/lib/puppet/state/classes.txt
  • 18. Puppet modules Puppet modules available. For RHEL: puppetlabs/rabbitmq puppetlabs/mcollective
  • 20. Finding nodes Targeting nodes using facts and classes: # mc-ping # mc-find-hosts -F virtual=virtualbox # mc-find-hosts -F “memoryfree>100M” # mc-find-hosts -C mcollective -F operatingsystem="Ubuntu"
  • 21. Inventory Powerful distributed inventory system: # mc-facts virtual # mc-facts processorcount # mc-inventory box01
  • 22. Plugins You can get plugins from: http://projects.puppetlabs.com/projects/mcollective-plugins/wiki Facts-facter Filemgr Iptables Package Process Puppetd Service
  • 23. Using the filemgr plugin # mco rpc filemgr status file=/tmp/filemgr
  • 24. Using the iptables plugin # mco iptables block 192.168.0.0 -C base -v Node01 # iptables -L -n -v
  • 25. Using the package plugin # mco package status vim-puppet -C base -v # mco package uninstall vim-puppet -C base -v
  • 26. Executing puppet # mco puppetd status -C base Edit puppet base class # mco puppetd runonce 1 -v -C base Check output in /var/log/syslog
  • 28. Images http://www.flickr.com/photos/ag2r/3783369226/ http://www.flickr.com/photos/31348155@N03/5584078173/ http://www.flickr.com/photos/61927538@N00/205992050/ http://www.flickr.com/photos/safari_vacation/5842069535