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)

Distributed Point-in-Time Recovery with Postgres | PGConf.Russia 2018 | Eren ...
Distributed Point-in-Time Recovery with Postgres | PGConf.Russia 2018 | Eren ...Distributed Point-in-Time Recovery with Postgres | PGConf.Russia 2018 | Eren ...
Distributed Point-in-Time Recovery with Postgres | PGConf.Russia 2018 | Eren ...
 
Git best practices workshop
Git best practices workshopGit best practices workshop
Git best practices workshop
 
HAProxy
HAProxy HAProxy
HAProxy
 
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...
 
66 pfsense tutorial
66 pfsense tutorial66 pfsense tutorial
66 pfsense tutorial
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Room 1 - 2 - Nguyễn Văn Thắng & Dzung Nguyen - Proxmox VE và ZFS over iscsi
Room 1 - 2 - Nguyễn Văn Thắng & Dzung Nguyen - Proxmox VE và ZFS over iscsiRoom 1 - 2 - Nguyễn Văn Thắng & Dzung Nguyen - Proxmox VE và ZFS over iscsi
Room 1 - 2 - Nguyễn Văn Thắng & Dzung Nguyen - Proxmox VE và ZFS over iscsi
 
NGINX: Basics and Best Practices
NGINX: Basics and Best PracticesNGINX: Basics and Best Practices
NGINX: Basics and Best Practices
 
Git branching strategies
Git branching strategiesGit branching strategies
Git branching strategies
 
Kubernetes Workshop
Kubernetes WorkshopKubernetes Workshop
Kubernetes Workshop
 
CKA Certified Kubernetes Administrator Notes
CKA Certified Kubernetes Administrator Notes CKA Certified Kubernetes Administrator Notes
CKA Certified Kubernetes Administrator Notes
 
Community Openstack 구축 사례
Community Openstack 구축 사례Community Openstack 구축 사례
Community Openstack 구축 사례
 
Automated CloudStack Deployment
Automated CloudStack DeploymentAutomated CloudStack Deployment
Automated CloudStack Deployment
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep dive
 
FreeIPA - Attacking the Active Directory of Linux
FreeIPA - Attacking the Active Directory of LinuxFreeIPA - Attacking the Active Directory of Linux
FreeIPA - Attacking the Active Directory of Linux
 
PromQL Deep Dive - The Prometheus Query Language
PromQL Deep Dive - The Prometheus Query Language PromQL Deep Dive - The Prometheus Query Language
PromQL Deep Dive - The Prometheus Query Language
 
Lezione 8: Introduzione ai Web Service
Lezione 8: Introduzione ai Web ServiceLezione 8: Introduzione ai Web Service
Lezione 8: Introduzione ai Web Service
 
KSQL Deep Dive - The Open Source Streaming Engine for Apache Kafka
KSQL Deep Dive - The Open Source Streaming Engine for Apache KafkaKSQL Deep Dive - The Open Source Streaming Engine for Apache Kafka
KSQL Deep Dive - The Open Source Streaming Engine for Apache Kafka
 
Introduction to Container Storage Interface (CSI)
Introduction to Container Storage Interface (CSI)Introduction to Container Storage Interface (CSI)
Introduction to Container Storage Interface (CSI)
 
Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례
Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례
Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례
 

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
 
Foreman in your datacenter
Foreman in your datacenterForeman in your datacenter
Foreman in your datacenter
 
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
 

Dernier

Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 

Dernier (20)

Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
THE BEST IPTV in GERMANY for 2024: IPTVreel
THE BEST IPTV in  GERMANY for 2024: IPTVreelTHE BEST IPTV in  GERMANY for 2024: IPTVreel
THE BEST IPTV in GERMANY for 2024: IPTVreel
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering Teams
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdf
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 

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