SlideShare a Scribd company logo
1 of 28
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 2014Puppet
 
DevOps Hackathon - Session 1: Vagrant
DevOps Hackathon - Session 1: VagrantDevOps Hackathon - Session 1: Vagrant
DevOps Hackathon - Session 1: VagrantAntons Kranga
 
Testing your infrastructure with litmus
Testing your infrastructure with litmusTesting your infrastructure with litmus
Testing your infrastructure with litmusBram 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 ChefAntons 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 undergroundOmer 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 OnAppWalter 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 PuppetMarc Cluet
 
Ansible for beginners ...?
Ansible for beginners ...?Ansible for beginners ...?
Ansible for beginners ...?shirou wakayama
 
Capifony. Minsk PHP MeetUp #11
Capifony. Minsk PHP MeetUp #11Capifony. Minsk PHP MeetUp #11
Capifony. Minsk PHP MeetUp #11Yury Pliashkou
 
PuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of PuppetPuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of PuppetWalter Heck
 
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 & HadoopWalter 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
 
Advanced task management with Celery
Advanced task management with CeleryAdvanced task management with Celery
Advanced task management with CeleryMahendra M
 
Autoscaling with hashi_corp_nomad
Autoscaling with hashi_corp_nomadAutoscaling with hashi_corp_nomad
Autoscaling with hashi_corp_nomadBram 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 PythonYurii 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

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 proyectoEli Torres Ü
 
Open layers pt_br
Open layers pt_brOpen layers pt_br
Open layers pt_brMarcos Rosa
 
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 AnwendererfolgTANNER AG
 
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
 
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 marketingPablo Baselice
 
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 FlickrJohn 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

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 flannelpurpleocean
 
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 Containersinside-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 confidenceJohn Congdon
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy Systemadrian_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 3Velocidex Enterprises
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.catPablo 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 CloudDropsolid
 
Monitoring kubernetes with prometheus
Monitoring kubernetes with prometheusMonitoring kubernetes with prometheus
Monitoring kubernetes with prometheusBrice Fernandes
 
Container orchestration from theory to practice
Container orchestration from theory to practiceContainer orchestration from theory to practice
Container orchestration from theory to practiceDocker, 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 PlatformMinku Lee
 
Kubernetes Navigation Stories – DevOpsStage 2019, Kyiv
Kubernetes Navigation Stories – DevOpsStage 2019, KyivKubernetes Navigation Stories – DevOpsStage 2019, Kyiv
Kubernetes Navigation Stories – DevOpsStage 2019, KyivAleksey Asiutin
 
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 VariaAmazon Web Services
 
Scaling docker with kubernetes
Scaling docker with kubernetesScaling docker with kubernetes
Scaling docker with kubernetesLiran 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.pdfJavier 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.pdfJavier 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.auJavier 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
 
Configuration management - A "love" story
Configuration management - A "love" storyConfiguration management - A "love" story
Configuration management - A "love" storyJavier Turégano Molina
 
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 TICJavier 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 LinuxJavier 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

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Recently uploaded (20)

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 

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