SlideShare une entreprise Scribd logo
1  sur  32
Managing your Minions
with Foreman
Stephen Benjamin - February 3, 2015
stephen@redhat.com / @stbenjam
Foreman
● Provision to anything from one interface with
one process
– Bare metal, oVirt, Libvirt, vmware, docker, EC2,
Rackspace, Digital Ocean, OpenStack, etc.
● Orchestration of all dependencies – not just
preseed/kickstart/cloud-init
● Manage Puppet, Chef, and Salt
● For salt, provides:
– External node classifier (ENC) for tops
system
– External pillar provider
● System Inventories – showing grains and
activity (i.e. state.highstate results). Ability to
create trends and charts on the data.
● Reporting plugins for ABRT, OpenScap
Distributed Architecture
● Smart Proxies located locally on Foreman itself
or independent – used for orchestration of
DNS, DHCP, etc.
● Smart Proxy manages the Salt Master.
Foreman Plugins
● Extensible
– Both the Smart Proxy and Foreman have a plugin
architecture.
● Foreman
– http://projects.theforeman.org/projects/foreman/wiki/Plugins
● Smart Proxy
– http://projects.theforeman.org/projects/foreman/wiki/Smart-Proxy_Plugins
– Extend Foreman to do whatever you want!
Foreman Plugins
● Rich ecosystem of plugins
– Compute Resources:
● Digital Ocean, Docker, OpenNebula, etc.
– Configuration Management:
● Chef, Salt
– Reporting
● ABRT, Graphite, etc.
Salt in Foreman
● First support in early 2014 via
templates/parameters
● Two plugins
– smart_proxy_salt
– foreman_salt
● Packaged for Debian & Red Hat family OS's
– Maintain parity w/ whatever Foreman supports
Minion Provisioning
● Assign a Salt master to a new host.
● Foreman will do the work for you:
1.Add autosign entry
2.Install Salt packages
3.Trigger key acceptance
4.Remove Autosign
Minion Destruction
● When you delete a host in Foreman, we clean
up – delete the host from Salt (the accepted
key).
Key Management
● Full web interface to keys
– Accept, reject, delete keys
● ...and autosign
– Add autosign records (e.g. a domain managed
outside of Foreman)
Salt States
● Assign to host groups (including full inheritance
when using netsed host groups), or directly to
individual hosts
Pillars
● Pillars <-> Foreman parameters
– Add parameters to host, host groups, domains,
global, etc.
● Exposed to Salt via the “external pillars” feature
● Currently limited to String values only
Pillars!
Master Tops
● Salt's Master tops system provides a way to
generate the top file data for a highstate run
from external sources
● Foreman uses the external_nodes module in
Salt to deliver a YAML document with States
and Pillars
States
}Pillars
Highstate
● Run highstate directly from a node
– 'Run Salt' button
● Results reported back to Foreman
Highstate
Reporting
● When running state.highstate, full reporting
inside Foreman of the results!
– What happened on my systems?
– File changes with diffs!
– Other metrics
Grains
● Grains map to 'Foreman Facts'
● Host grains are uploaded to Foreman
● Browseable, chartable, searchable
Future (Short Term)
● Foreman 1.8 will bring version 2.0 of the plugin
– RESTful API for Salt in Foreman
– Hammer CLI Plugin
– Installer support (foreman-installer --salt-
enable=true or similar)
Longer Term
● Importing states/environnments from the
master
● Arbitrary Salt commands
● More than highstate results
● State Groups (like Puppet config groups)
● ???
Conclusion + Q&A
● Find us on Freenode!
– #theforeman, #theforeman-dev
● Docs
– http://github.com/theforeman/foreman_salt/wiki
● Bugtracker:
– http://projects.theforeman.org/projects/salt
● Want to contribute?
– http://theforeman.org/contribute.html

Contenu connexe

Tendances

Tendances (20)

knolx of KubeCost & Infracost
knolx of KubeCost & Infracostknolx of KubeCost & Infracost
knolx of KubeCost & Infracost
 
Messaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQMessaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQ
 
Infrastructure & System Monitoring using Prometheus
Infrastructure & System Monitoring using PrometheusInfrastructure & System Monitoring using Prometheus
Infrastructure & System Monitoring using Prometheus
 
Apache Kafka vs. Traditional Middleware (Kai Waehner, Confluent) Frankfurt 20...
Apache Kafka vs. Traditional Middleware (Kai Waehner, Confluent) Frankfurt 20...Apache Kafka vs. Traditional Middleware (Kai Waehner, Confluent) Frankfurt 20...
Apache Kafka vs. Traditional Middleware (Kai Waehner, Confluent) Frankfurt 20...
 
Prometheus + Grafana = Awesome Monitoring
Prometheus + Grafana = Awesome MonitoringPrometheus + Grafana = Awesome Monitoring
Prometheus + Grafana = Awesome Monitoring
 
Introduction to Spring webflux
Introduction to Spring webfluxIntroduction to Spring webflux
Introduction to Spring webflux
 
오픈스택 멀티노드 설치 후기
오픈스택 멀티노드 설치 후기오픈스택 멀티노드 설치 후기
오픈스택 멀티노드 설치 후기
 
KAFKA 3.1.0.pdf
KAFKA 3.1.0.pdfKAFKA 3.1.0.pdf
KAFKA 3.1.0.pdf
 
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
 
Fluentd v1.0 in a nutshell
Fluentd v1.0 in a nutshellFluentd v1.0 in a nutshell
Fluentd v1.0 in a nutshell
 
Introduction to Apache ActiveMQ Artemis
Introduction to Apache ActiveMQ ArtemisIntroduction to Apache ActiveMQ Artemis
Introduction to Apache ActiveMQ Artemis
 
Odoo ERP from Diamondvision
Odoo ERP from DiamondvisionOdoo ERP from Diamondvision
Odoo ERP from Diamondvision
 
Monitoring Flink with Prometheus
Monitoring Flink with PrometheusMonitoring Flink with Prometheus
Monitoring Flink with Prometheus
 
Know your app: Add metrics to Java with Micrometer | DevNation Tech Talk
Know your app: Add metrics to Java with Micrometer | DevNation Tech TalkKnow your app: Add metrics to Java with Micrometer | DevNation Tech Talk
Know your app: Add metrics to Java with Micrometer | DevNation Tech Talk
 
Foreman presentation
Foreman presentationForeman presentation
Foreman presentation
 
Introduction to Apache Camel.pdf
Introduction to Apache Camel.pdfIntroduction to Apache Camel.pdf
Introduction to Apache Camel.pdf
 
IBM MQ Appliance - Administration simplified
IBM MQ Appliance - Administration simplifiedIBM MQ Appliance - Administration simplified
IBM MQ Appliance - Administration simplified
 
Apex code Benchmarking
Apex code BenchmarkingApex code Benchmarking
Apex code Benchmarking
 
The Hot Rod Protocol in Infinispan
The Hot Rod Protocol in InfinispanThe Hot Rod Protocol in Infinispan
The Hot Rod Protocol in Infinispan
 
Spring Webflux
Spring WebfluxSpring Webflux
Spring Webflux
 

Similaire à Managing your SaltStack Minions with Foreman

OpenNebulaConf 2014 - ONE BIT to rule them all - Stefan Kooman
OpenNebulaConf 2014 - ONE BIT to rule them all - Stefan KoomanOpenNebulaConf 2014 - ONE BIT to rule them all - Stefan Kooman
OpenNebulaConf 2014 - ONE BIT to rule them all - Stefan Kooman
OpenNebula Project
 

Similaire à Managing your SaltStack Minions with Foreman (20)

Introduction to SaltStack
Introduction to SaltStackIntroduction to SaltStack
Introduction to SaltStack
 
OSDC 2015: Stephen Benjamin | Foreman in Your Data Center
OSDC 2015: Stephen Benjamin | Foreman in Your Data CenterOSDC 2015: Stephen Benjamin | Foreman in Your Data Center
OSDC 2015: Stephen Benjamin | Foreman in Your Data Center
 
The Foreman Project
The Foreman ProjectThe Foreman Project
The Foreman Project
 
OSCamp 2019 | #3 Ansible: Foreman Discovery by Adam Ruzicka
OSCamp 2019 | #3 Ansible: Foreman Discovery by Adam RuzickaOSCamp 2019 | #3 Ansible: Foreman Discovery by Adam Ruzicka
OSCamp 2019 | #3 Ansible: Foreman Discovery by Adam Ruzicka
 
Linux host orchestration with Foreman, Puppet and Gitlab
Linux host orchestration with Foreman, Puppet and GitlabLinux host orchestration with Foreman, Puppet and Gitlab
Linux host orchestration with Foreman, Puppet and Gitlab
 
Spot Trading - A case study in continuous delivery for mission critical finan...
Spot Trading - A case study in continuous delivery for mission critical finan...Spot Trading - A case study in continuous delivery for mission critical finan...
Spot Trading - A case study in continuous delivery for mission critical finan...
 
Sutol How To Be A Lion Tamer
Sutol How To Be A Lion TamerSutol How To Be A Lion Tamer
Sutol How To Be A Lion Tamer
 
Introduction to stress test
Introduction to stress testIntroduction to stress test
Introduction to stress test
 
Configuration Management and Salt
Configuration Management and SaltConfiguration Management and Salt
Configuration Management and Salt
 
OpenNebulaConf 2014 - ONE BIT to rule them all - Stefan Kooman
OpenNebulaConf 2014 - ONE BIT to rule them all - Stefan KoomanOpenNebulaConf 2014 - ONE BIT to rule them all - Stefan Kooman
OpenNebulaConf 2014 - ONE BIT to rule them all - Stefan Kooman
 
OpenNebula Conf 2014 | ONE BIT to rule them all - Stefan Kooman
OpenNebula Conf 2014 | ONE BIT to rule them all - Stefan KoomanOpenNebula Conf 2014 | ONE BIT to rule them all - Stefan Kooman
OpenNebula Conf 2014 | ONE BIT to rule them all - Stefan Kooman
 
How to be a lion tamer
How to be a lion tamerHow to be a lion tamer
How to be a lion tamer
 
How to be a lion tamer
How to be a lion tamerHow to be a lion tamer
How to be a lion tamer
 
Setting up a local WordPress development environment
Setting up a local WordPress development environmentSetting up a local WordPress development environment
Setting up a local WordPress development environment
 
QueueMetrics - Tips and Tricks
QueueMetrics - Tips and TricksQueueMetrics - Tips and Tricks
QueueMetrics - Tips and Tricks
 
IBM Domino / IBM Notes Performance Tuning
IBM Domino / IBM Notes Performance Tuning IBM Domino / IBM Notes Performance Tuning
IBM Domino / IBM Notes Performance Tuning
 
(ATS4-PLAT01) Core Architecture Changes in AEP 9.0 and their Impact on Admini...
(ATS4-PLAT01) Core Architecture Changes in AEP 9.0 and their Impact on Admini...(ATS4-PLAT01) Core Architecture Changes in AEP 9.0 and their Impact on Admini...
(ATS4-PLAT01) Core Architecture Changes in AEP 9.0 and their Impact on Admini...
 
Sweetening Systems Management with Salt
Sweetening Systems Management with SaltSweetening Systems Management with Salt
Sweetening Systems Management with Salt
 
Salt at school
Salt at schoolSalt at school
Salt at school
 
TechChat - What’s New in Sumo Logic 7/21/15
TechChat - What’s New in Sumo Logic 7/21/15TechChat - What’s New in Sumo Logic 7/21/15
TechChat - What’s New in Sumo Logic 7/21/15
 

Dernier

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Dernier (20)

Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 

Managing your SaltStack Minions with Foreman

  • 1. Managing your Minions with Foreman Stephen Benjamin - February 3, 2015 stephen@redhat.com / @stbenjam
  • 2.
  • 4. ● Provision to anything from one interface with one process – Bare metal, oVirt, Libvirt, vmware, docker, EC2, Rackspace, Digital Ocean, OpenStack, etc. ● Orchestration of all dependencies – not just preseed/kickstart/cloud-init
  • 5. ● Manage Puppet, Chef, and Salt ● For salt, provides: – External node classifier (ENC) for tops system – External pillar provider
  • 6. ● System Inventories – showing grains and activity (i.e. state.highstate results). Ability to create trends and charts on the data. ● Reporting plugins for ABRT, OpenScap
  • 7. Distributed Architecture ● Smart Proxies located locally on Foreman itself or independent – used for orchestration of DNS, DHCP, etc. ● Smart Proxy manages the Salt Master.
  • 8.
  • 9. Foreman Plugins ● Extensible – Both the Smart Proxy and Foreman have a plugin architecture. ● Foreman – http://projects.theforeman.org/projects/foreman/wiki/Plugins ● Smart Proxy – http://projects.theforeman.org/projects/foreman/wiki/Smart-Proxy_Plugins – Extend Foreman to do whatever you want!
  • 10. Foreman Plugins ● Rich ecosystem of plugins – Compute Resources: ● Digital Ocean, Docker, OpenNebula, etc. – Configuration Management: ● Chef, Salt – Reporting ● ABRT, Graphite, etc.
  • 11. Salt in Foreman ● First support in early 2014 via templates/parameters ● Two plugins – smart_proxy_salt – foreman_salt ● Packaged for Debian & Red Hat family OS's – Maintain parity w/ whatever Foreman supports
  • 12. Minion Provisioning ● Assign a Salt master to a new host. ● Foreman will do the work for you: 1.Add autosign entry 2.Install Salt packages 3.Trigger key acceptance 4.Remove Autosign
  • 13. Minion Destruction ● When you delete a host in Foreman, we clean up – delete the host from Salt (the accepted key).
  • 14. Key Management ● Full web interface to keys – Accept, reject, delete keys ● ...and autosign – Add autosign records (e.g. a domain managed outside of Foreman)
  • 15.
  • 16.
  • 17. Salt States ● Assign to host groups (including full inheritance when using netsed host groups), or directly to individual hosts
  • 18.
  • 19. Pillars ● Pillars <-> Foreman parameters – Add parameters to host, host groups, domains, global, etc. ● Exposed to Salt via the “external pillars” feature ● Currently limited to String values only
  • 21. Master Tops ● Salt's Master tops system provides a way to generate the top file data for a highstate run from external sources ● Foreman uses the external_nodes module in Salt to deliver a YAML document with States and Pillars
  • 22.
  • 24. Highstate ● Run highstate directly from a node – 'Run Salt' button ● Results reported back to Foreman
  • 26. Reporting ● When running state.highstate, full reporting inside Foreman of the results! – What happened on my systems? – File changes with diffs! – Other metrics
  • 27. Grains ● Grains map to 'Foreman Facts' ● Host grains are uploaded to Foreman ● Browseable, chartable, searchable
  • 28.
  • 29.
  • 30. Future (Short Term) ● Foreman 1.8 will bring version 2.0 of the plugin – RESTful API for Salt in Foreman – Hammer CLI Plugin – Installer support (foreman-installer --salt- enable=true or similar)
  • 31. Longer Term ● Importing states/environnments from the master ● Arbitrary Salt commands ● More than highstate results ● State Groups (like Puppet config groups) ● ???
  • 32. Conclusion + Q&A ● Find us on Freenode! – #theforeman, #theforeman-dev ● Docs – http://github.com/theforeman/foreman_salt/wiki ● Bugtracker: – http://projects.theforeman.org/projects/salt ● Want to contribute? – http://theforeman.org/contribute.html