SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
©2016 PeopleDoc. Tous droits réservés
Par @bersace & @jpic
18/02/2016
Stabiliser Saltstack avec
Ansible
©2016 PeopleDoc. Tous droits réservés©2016 PeopleDoc. Tous droits réservés
Plateforme de digitalisation RH
Booste votre productivité RH
et la satisfaction de vos
collaborateurs
©2016 PeopleDoc. Tous droits réservés
1.
2.
4.
Sommaire
©2016 PeopleDoc. Tous droits réservés
Découvrir Saltstack
The backbone of Salt is the remote execution engine. On
top of this communication system, Salt provides an
extremely fast, flexible, and easy-to-use configuration
management system called Salt States.
-- “What is Salt”
©2016 PeopleDoc. Tous droits réservés
Découvrir Salt
Comparaison avec ansible
controller master
hosts minion
hosts group ~ grain « roles »
vars pillar
host vars grains + pillar
module state function, modules d’exécution
task state
play state sls
playbook highstate, orchestration, reactor
facts grains + mine
role formula
©2016 PeopleDoc. Tous droits réservés
Choisir Saltstack
The reason we have so many contributors is because of our
lack of [testing] requirement. One of the great things about
salt is the simplicity of writing code for it -- we've even had
non-programmers submit code to salt. A lot of that
simplicity goes away with testing requirements.
-- basepi, SaltStack Inc. Core Engineer
©2016 PeopleDoc. Tous droits réservés
● Édition communautaire
○ 20 CVEs dont plusieures de niveau 10
○ PR mergées facilement
● Édition entreprise
○ Testée par saltstack inc.
○ À partir de $12K/an
● Fork personnel
Choisir Saltstack
©2016 PeopleDoc. Tous droits réservés
Déployer Saltstack
Salt, a new approach to infrastructure management, is
easy enough to get running in minutes, scalable enough to
manage tens of thousands of servers, and fast enough to
communicate with those servers in seconds.
- Documentation index
©2016 PeopleDoc. Tous droits réservés
Simple comme de l’assembleur
• Déploiement des pillars, states, modules etc … sur le master
• Installation du service salt-master sur le controlleur
# curl | bash
• Configuration du salt-master
• Installation du service salt-minion sur le controlleur
# curl | bash
• Configuration du salt-minion
• Accepter la clef du minion sur le master
• Installation du service salt-minion sur les machines
• Configuration du salt-minion sur les machines
• Accepter la clef des minions sur le master
Déployer SaltStack
©2016 PeopleDoc. Tous droits réservés
pip install ansible
Déployer Ansible
©2016 PeopleDoc. Tous droits réservés
SaltStack peut-il
travailler ?
FAST, FLEXIBLE, SCALABLE The Salt infrastructure brings
together the best of the remote execution world, amplifies
its capabilities and expands its range, resulting in a system
that is as versatile as it is practical, suitable for any
network.
- Documentation index
©2016 PeopleDoc. Tous droits réservés
Checklist
• Les services salt sont-ils plantés ?
• Les services salt ont-ils fuité sur toute la mémoire ?
• Le salt-master voit-il tous les salt-minions ?
• Les salt-minions voient-ils le salt-master ?
• Les salt-minions n’ont-ils pas déjà du travail ?
Pro tip: utiliser un playbook ansible pour automatiser ces checks.
SaltStack peut-il travailler ?
©2016 PeopleDoc. Tous droits réservés
ansible -m ping
Ansible peut-il travailler ?
©2016 PeopleDoc. Tous droits réservés
Super-nany va rafraîchir le cache sur tous les minions
● saltutil.sync_all
custom modules, states, beacons, grains, returners, output modules,
renderers, utils.
● pillar.refresh_pillar
● mine.update
● pillar.refresh_pillar
pour utiliser la mine dans les pillars
● Repasser la checklist précédente
Préparer salt-minion à travailler
©2016 PeopleDoc. Tous droits réservés
N/D
Préparer Ansible à travailler
©2016 PeopleDoc. Tous droits réservés
Orchestration
©2016 PeopleDoc. Tous droits réservés
Déploiement d’un serveur DNS
SaltStack
● Le “highstate” du serveur
DNS déclenche un
évenement
● Ce qui déclenche sur le salt-
master le déclenchement d’
un job sur les salt-minions
● Les salt-minion mettent à
jour resolv.conf
Ansible
● Le playbook déploie le
serveur DNS
● Le playbook met à jour
resolv.conf sur les hôtes
©2016 PeopleDoc. Tous droits réservés
Checklist:
• Récupérer les logs des salt-minions et du salt-master
• Nettoyer, dédupliquer les lignes pour qu’ils soient lisibles
• Tous les minions ont-ils bien exécuté leur states jusqu’au bout?
• En cas d’exit code non-zero: vérifier qu’il y a bien eu une erreur
• En cas d’exit code zero, vérifier qu’il n’y a pas eu d’erreur sur aucun minion
Exploitation de logs
SaltStack a travaillé
©2016 PeopleDoc. Tous droits réservés
J’ai le rapport de chaque action en
face de moi
Le code de retour est effectif
Ansible a travaillé
©2016 PeopleDoc. Tous droits réservés
Stabiliser Salt
avec Ansible
©2016 PeopleDoc. Tous droits réservés
Objectif :
• Retrouver une orchestration impérative
• Ne pas réécrire les states et les pillars
Prérequis :
• Transmettre à Ansible l’inventaire
• Isoler l’exécution de salt
Stabiliser Salt avec Ansible
©2016 PeopleDoc. Tous droits réservés
Inventaire Dynamique
sudo = ('/usr/bin/sudo',) if os.geteuid() != 0 else ()
output = subprocess.check_output(sudo + (
'/usr/bin/salt-run', 'mine.get', "'*'", 'private_ip'
))
for line in output.split('n'):
line = line.replace(' ', '')
if not line: continue
name, ip = line.split(':')
inventory['minions']['hosts'].append(name)
if name == 'master':
inventory['_meta']['hostvars'][name] = {
'ansible_ssh_host': '127.0.0.1',
'connection': 'local',
}
else:
inventory['_meta']['hostvars'][name] = {
'ansible_ssh_host': ip
}
print json.dumps(inventory)
©2016 PeopleDoc. Tous droits réservés
Playbooks de states (suite)
- hosts: rh2-assets
sudo: yes
tasks:
- salt_call: state.sls rh2.static saltenv={{ saltenv }}
- hosts: rh2*
sudo: yes
tasks:
- shell: supervisorctl reload
...
©2016 PeopleDoc. Tous droits réservés
Démo
©2016 PeopleDoc. Tous droits réservés
Merci !
©2016 PeopleDoc. Tous droits réservés
Questions
©2016 PeopleDoc. Tous droits réservés
https://twitter.com/peopledoc_fr
https://www.facebook.com/PeopleDocFrance
http://www.linkedin.com/company/peopledocfrance
http://fr.viadeo.com/fr/profile/novapost.people-doc
PeopleDoc
32, rue de Paradis - 75010 PARIS
contact@people-doc.fr
www.people-doc.fr

Contenu connexe

En vedette

caso de pneumocefalo en Pastor Aleman
caso de pneumocefalo en Pastor Alemancaso de pneumocefalo en Pastor Aleman
caso de pneumocefalo en Pastor AlemanFausto Pantoja
 
Садово-парковое освещение Feron 2015: новое и актуальное
Садово-парковое освещение Feron 2015: новое и актуальноеСадово-парковое освещение Feron 2015: новое и актуальное
Садово-парковое освещение Feron 2015: новое и актуальноеFeronLTD
 
מאמר בנושא חוקר פרטי
מאמר בנושא חוקר פרטימאמר בנושא חוקר פרטי
מאמר בנושא חוקר פרטיdaganinv
 
Google and Marketing
Google and MarketingGoogle and Marketing
Google and MarketingAnary Bellamy
 
חקירות כלכליות
חקירות כלכליותחקירות כלכליות
חקירות כלכליותdaganinv
 
Настольные лампы - классика
Настольные лампы - классикаНастольные лампы - классика
Настольные лампы - классикаFeronLTD
 
Jet inView IdM - полноценное решение для среднего бизнеса за $ 200 000. Д.Бон...
Jet inView IdM - полноценное решение для среднего бизнеса за $ 200 000. Д.Бон...Jet inView IdM - полноценное решение для среднего бизнеса за $ 200 000. Д.Бон...
Jet inView IdM - полноценное решение для среднего бизнеса за $ 200 000. Д.Бон...jet_information_security
 
Samen ontwikkelen van leeraanbod
Samen ontwikkelen van leeraanbodSamen ontwikkelen van leeraanbod
Samen ontwikkelen van leeraanbodTinekeW
 
Gestão estratégica de pessoas atração e retenção de talentos rev01
Gestão estratégica de pessoas   atração e retenção de talentos rev01Gestão estratégica de pessoas   atração e retenção de talentos rev01
Gestão estratégica de pessoas atração e retenção de talentos rev01Rafael Dicena Filho
 
ProTrack CMMS Overview
ProTrack CMMS OverviewProTrack CMMS Overview
ProTrack CMMS Overviewnetsecrets
 
Boismier_ A very small art project
Boismier_ A very small art projectBoismier_ A very small art project
Boismier_ A very small art projectChantelle Boismier
 

En vedette (15)

97 7
97  797  7
97 7
 
caso de pneumocefalo en Pastor Aleman
caso de pneumocefalo en Pastor Alemancaso de pneumocefalo en Pastor Aleman
caso de pneumocefalo en Pastor Aleman
 
Садово-парковое освещение Feron 2015: новое и актуальное
Садово-парковое освещение Feron 2015: новое и актуальноеСадово-парковое освещение Feron 2015: новое и актуальное
Садово-парковое освещение Feron 2015: новое и актуальное
 
מאמר בנושא חוקר פרטי
מאמר בנושא חוקר פרטימאמר בנושא חוקר פרטי
מאמר בנושא חוקר פרטי
 
97 7
97  797  7
97 7
 
Google and Marketing
Google and MarketingGoogle and Marketing
Google and Marketing
 
חקירות כלכליות
חקירות כלכליותחקירות כלכליות
חקירות כלכליות
 
Настольные лампы - классика
Настольные лампы - классикаНастольные лампы - классика
Настольные лампы - классика
 
Jet inView IdM - полноценное решение для среднего бизнеса за $ 200 000. Д.Бон...
Jet inView IdM - полноценное решение для среднего бизнеса за $ 200 000. Д.Бон...Jet inView IdM - полноценное решение для среднего бизнеса за $ 200 000. Д.Бон...
Jet inView IdM - полноценное решение для среднего бизнеса за $ 200 000. Д.Бон...
 
Drosophila Photos
Drosophila PhotosDrosophila Photos
Drosophila Photos
 
Samen ontwikkelen van leeraanbod
Samen ontwikkelen van leeraanbodSamen ontwikkelen van leeraanbod
Samen ontwikkelen van leeraanbod
 
Gestão estratégica de pessoas atração e retenção de talentos rev01
Gestão estratégica de pessoas   atração e retenção de talentos rev01Gestão estratégica de pessoas   atração e retenção de talentos rev01
Gestão estratégica de pessoas atração e retenção de talentos rev01
 
Arkena from heroku_to_k8s
Arkena from heroku_to_k8sArkena from heroku_to_k8s
Arkena from heroku_to_k8s
 
ProTrack CMMS Overview
ProTrack CMMS OverviewProTrack CMMS Overview
ProTrack CMMS Overview
 
Boismier_ A very small art project
Boismier_ A very small art projectBoismier_ A very small art project
Boismier_ A very small art project
 

Similaire à Stabiliser salt stack_avec_ansible

Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEOCore Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEOWeLoveSEO
 
Haute disponibilité my sql avec group réplication
Haute disponibilité my sql avec group réplicationHaute disponibilité my sql avec group réplication
Haute disponibilité my sql avec group réplicationFrederic Descamps
 
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020SEO CAMP
 
Rancher, le (petit) orchestrateur qui vous veut du bien
Rancher, le (petit) orchestrateur qui vous veut du bienRancher, le (petit) orchestrateur qui vous veut du bien
Rancher, le (petit) orchestrateur qui vous veut du bienChristophe Furmaniak
 
Game of upgrades to liferay dxp - ep1: Migration de données
Game of upgrades to liferay dxp - ep1: Migration de donnéesGame of upgrades to liferay dxp - ep1: Migration de données
Game of upgrades to liferay dxp - ep1: Migration de donnéesQuang Tu LE
 
REX PagesJaunes.fr - architecture micro-services asynchrone
REX PagesJaunes.fr - architecture micro-services asynchroneREX PagesJaunes.fr - architecture micro-services asynchrone
REX PagesJaunes.fr - architecture micro-services asynchroneDavid DE CARVALHO
 
Développeur ta prod tu respecteras !
Développeur ta prod tu respecteras !Développeur ta prod tu respecteras !
Développeur ta prod tu respecteras !EmileChomton1
 
DOCKER AVEC RANCHER
DOCKER AVEC RANCHERDOCKER AVEC RANCHER
DOCKER AVEC RANCHERTREEPTIK
 
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016Alexis Ducastel
 
GUSS - CRITEO Meetup Scale SQL for the Web
GUSS - CRITEO Meetup Scale SQL for the WebGUSS - CRITEO Meetup Scale SQL for the Web
GUSS - CRITEO Meetup Scale SQL for the WebGUSS
 
Paris monitoring - 27012016 - Smart Monitoring chez Oxalide
Paris monitoring - 27012016 - Smart Monitoring chez OxalideParis monitoring - 27012016 - Smart Monitoring chez Oxalide
Paris monitoring - 27012016 - Smart Monitoring chez OxalideSébastien Lucas
 
Un peu de sel pour être HAPI
Un peu de sel pour être HAPIUn peu de sel pour être HAPI
Un peu de sel pour être HAPICanal+ Dev
 
SUSE Expert Days Paris 2018 – Sécurité et Gestion des Systèmes
SUSE Expert Days Paris 2018 – Sécurité et Gestion des SystèmesSUSE Expert Days Paris 2018 – Sécurité et Gestion des Systèmes
SUSE Expert Days Paris 2018 – Sécurité et Gestion des SystèmesSUSE
 
Techdays 2014 - Le fermier azure (2ème partie)
Techdays 2014 - Le fermier azure (2ème partie)Techdays 2014 - Le fermier azure (2ème partie)
Techdays 2014 - Le fermier azure (2ème partie)Jonathan Le Guellec
 
Methodologie et outils d optimisation php mysql
Methodologie et outils d optimisation php mysqlMethodologie et outils d optimisation php mysql
Methodologie et outils d optimisation php mysqlCodizy
 
BreizhCamp 2022
BreizhCamp 2022BreizhCamp 2022
BreizhCamp 2022SpikeeLabs
 
SEO Campus 2016 Oncrawl Open Source Log Analysis
SEO Campus 2016 Oncrawl Open Source Log AnalysisSEO Campus 2016 Oncrawl Open Source Log Analysis
SEO Campus 2016 Oncrawl Open Source Log AnalysisCogniteev
 
Modern DevOps - kill the bottleneck (part 1/2)
Modern DevOps - kill the bottleneck (part 1/2)Modern DevOps - kill the bottleneck (part 1/2)
Modern DevOps - kill the bottleneck (part 1/2)Loic Ortola
 
De la DB à la DB-as-a-Service : avantages, limites et étapes pour franchir l...
De la DB à la DB-as-a-Service : avantages, limites et étapes pour franchir l...De la DB à la DB-as-a-Service : avantages, limites et étapes pour franchir l...
De la DB à la DB-as-a-Service : avantages, limites et étapes pour franchir l...Scaleway
 
Presentation sparklane aws
Presentation sparklane awsPresentation sparklane aws
Presentation sparklane awsSparklane
 

Similaire à Stabiliser salt stack_avec_ansible (20)

Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEOCore Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
 
Haute disponibilité my sql avec group réplication
Haute disponibilité my sql avec group réplicationHaute disponibilité my sql avec group réplication
Haute disponibilité my sql avec group réplication
 
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
 
Rancher, le (petit) orchestrateur qui vous veut du bien
Rancher, le (petit) orchestrateur qui vous veut du bienRancher, le (petit) orchestrateur qui vous veut du bien
Rancher, le (petit) orchestrateur qui vous veut du bien
 
Game of upgrades to liferay dxp - ep1: Migration de données
Game of upgrades to liferay dxp - ep1: Migration de donnéesGame of upgrades to liferay dxp - ep1: Migration de données
Game of upgrades to liferay dxp - ep1: Migration de données
 
REX PagesJaunes.fr - architecture micro-services asynchrone
REX PagesJaunes.fr - architecture micro-services asynchroneREX PagesJaunes.fr - architecture micro-services asynchrone
REX PagesJaunes.fr - architecture micro-services asynchrone
 
Développeur ta prod tu respecteras !
Développeur ta prod tu respecteras !Développeur ta prod tu respecteras !
Développeur ta prod tu respecteras !
 
DOCKER AVEC RANCHER
DOCKER AVEC RANCHERDOCKER AVEC RANCHER
DOCKER AVEC RANCHER
 
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
 
GUSS - CRITEO Meetup Scale SQL for the Web
GUSS - CRITEO Meetup Scale SQL for the WebGUSS - CRITEO Meetup Scale SQL for the Web
GUSS - CRITEO Meetup Scale SQL for the Web
 
Paris monitoring - 27012016 - Smart Monitoring chez Oxalide
Paris monitoring - 27012016 - Smart Monitoring chez OxalideParis monitoring - 27012016 - Smart Monitoring chez Oxalide
Paris monitoring - 27012016 - Smart Monitoring chez Oxalide
 
Un peu de sel pour être HAPI
Un peu de sel pour être HAPIUn peu de sel pour être HAPI
Un peu de sel pour être HAPI
 
SUSE Expert Days Paris 2018 – Sécurité et Gestion des Systèmes
SUSE Expert Days Paris 2018 – Sécurité et Gestion des SystèmesSUSE Expert Days Paris 2018 – Sécurité et Gestion des Systèmes
SUSE Expert Days Paris 2018 – Sécurité et Gestion des Systèmes
 
Techdays 2014 - Le fermier azure (2ème partie)
Techdays 2014 - Le fermier azure (2ème partie)Techdays 2014 - Le fermier azure (2ème partie)
Techdays 2014 - Le fermier azure (2ème partie)
 
Methodologie et outils d optimisation php mysql
Methodologie et outils d optimisation php mysqlMethodologie et outils d optimisation php mysql
Methodologie et outils d optimisation php mysql
 
BreizhCamp 2022
BreizhCamp 2022BreizhCamp 2022
BreizhCamp 2022
 
SEO Campus 2016 Oncrawl Open Source Log Analysis
SEO Campus 2016 Oncrawl Open Source Log AnalysisSEO Campus 2016 Oncrawl Open Source Log Analysis
SEO Campus 2016 Oncrawl Open Source Log Analysis
 
Modern DevOps - kill the bottleneck (part 1/2)
Modern DevOps - kill the bottleneck (part 1/2)Modern DevOps - kill the bottleneck (part 1/2)
Modern DevOps - kill the bottleneck (part 1/2)
 
De la DB à la DB-as-a-Service : avantages, limites et étapes pour franchir l...
De la DB à la DB-as-a-Service : avantages, limites et étapes pour franchir l...De la DB à la DB-as-a-Service : avantages, limites et étapes pour franchir l...
De la DB à la DB-as-a-Service : avantages, limites et étapes pour franchir l...
 
Presentation sparklane aws
Presentation sparklane awsPresentation sparklane aws
Presentation sparklane aws
 

Stabiliser salt stack_avec_ansible

  • 1. ©2016 PeopleDoc. Tous droits réservés Par @bersace & @jpic 18/02/2016 Stabiliser Saltstack avec Ansible
  • 2. ©2016 PeopleDoc. Tous droits réservés©2016 PeopleDoc. Tous droits réservés Plateforme de digitalisation RH Booste votre productivité RH et la satisfaction de vos collaborateurs
  • 3. ©2016 PeopleDoc. Tous droits réservés 1. 2. 4. Sommaire
  • 4. ©2016 PeopleDoc. Tous droits réservés Découvrir Saltstack The backbone of Salt is the remote execution engine. On top of this communication system, Salt provides an extremely fast, flexible, and easy-to-use configuration management system called Salt States. -- “What is Salt”
  • 5. ©2016 PeopleDoc. Tous droits réservés Découvrir Salt Comparaison avec ansible controller master hosts minion hosts group ~ grain « roles » vars pillar host vars grains + pillar module state function, modules d’exécution task state play state sls playbook highstate, orchestration, reactor facts grains + mine role formula
  • 6. ©2016 PeopleDoc. Tous droits réservés Choisir Saltstack The reason we have so many contributors is because of our lack of [testing] requirement. One of the great things about salt is the simplicity of writing code for it -- we've even had non-programmers submit code to salt. A lot of that simplicity goes away with testing requirements. -- basepi, SaltStack Inc. Core Engineer
  • 7. ©2016 PeopleDoc. Tous droits réservés ● Édition communautaire ○ 20 CVEs dont plusieures de niveau 10 ○ PR mergées facilement ● Édition entreprise ○ Testée par saltstack inc. ○ À partir de $12K/an ● Fork personnel Choisir Saltstack
  • 8. ©2016 PeopleDoc. Tous droits réservés Déployer Saltstack Salt, a new approach to infrastructure management, is easy enough to get running in minutes, scalable enough to manage tens of thousands of servers, and fast enough to communicate with those servers in seconds. - Documentation index
  • 9. ©2016 PeopleDoc. Tous droits réservés Simple comme de l’assembleur • Déploiement des pillars, states, modules etc … sur le master • Installation du service salt-master sur le controlleur # curl | bash • Configuration du salt-master • Installation du service salt-minion sur le controlleur # curl | bash • Configuration du salt-minion • Accepter la clef du minion sur le master • Installation du service salt-minion sur les machines • Configuration du salt-minion sur les machines • Accepter la clef des minions sur le master Déployer SaltStack
  • 10. ©2016 PeopleDoc. Tous droits réservés pip install ansible Déployer Ansible
  • 11. ©2016 PeopleDoc. Tous droits réservés SaltStack peut-il travailler ? FAST, FLEXIBLE, SCALABLE The Salt infrastructure brings together the best of the remote execution world, amplifies its capabilities and expands its range, resulting in a system that is as versatile as it is practical, suitable for any network. - Documentation index
  • 12. ©2016 PeopleDoc. Tous droits réservés Checklist • Les services salt sont-ils plantés ? • Les services salt ont-ils fuité sur toute la mémoire ? • Le salt-master voit-il tous les salt-minions ? • Les salt-minions voient-ils le salt-master ? • Les salt-minions n’ont-ils pas déjà du travail ? Pro tip: utiliser un playbook ansible pour automatiser ces checks. SaltStack peut-il travailler ?
  • 13. ©2016 PeopleDoc. Tous droits réservés ansible -m ping Ansible peut-il travailler ?
  • 14. ©2016 PeopleDoc. Tous droits réservés Super-nany va rafraîchir le cache sur tous les minions ● saltutil.sync_all custom modules, states, beacons, grains, returners, output modules, renderers, utils. ● pillar.refresh_pillar ● mine.update ● pillar.refresh_pillar pour utiliser la mine dans les pillars ● Repasser la checklist précédente Préparer salt-minion à travailler
  • 15. ©2016 PeopleDoc. Tous droits réservés N/D Préparer Ansible à travailler
  • 16. ©2016 PeopleDoc. Tous droits réservés Orchestration
  • 17. ©2016 PeopleDoc. Tous droits réservés Déploiement d’un serveur DNS SaltStack ● Le “highstate” du serveur DNS déclenche un évenement ● Ce qui déclenche sur le salt- master le déclenchement d’ un job sur les salt-minions ● Les salt-minion mettent à jour resolv.conf Ansible ● Le playbook déploie le serveur DNS ● Le playbook met à jour resolv.conf sur les hôtes
  • 18. ©2016 PeopleDoc. Tous droits réservés Checklist: • Récupérer les logs des salt-minions et du salt-master • Nettoyer, dédupliquer les lignes pour qu’ils soient lisibles • Tous les minions ont-ils bien exécuté leur states jusqu’au bout? • En cas d’exit code non-zero: vérifier qu’il y a bien eu une erreur • En cas d’exit code zero, vérifier qu’il n’y a pas eu d’erreur sur aucun minion Exploitation de logs SaltStack a travaillé
  • 19. ©2016 PeopleDoc. Tous droits réservés J’ai le rapport de chaque action en face de moi Le code de retour est effectif Ansible a travaillé
  • 20. ©2016 PeopleDoc. Tous droits réservés Stabiliser Salt avec Ansible
  • 21. ©2016 PeopleDoc. Tous droits réservés Objectif : • Retrouver une orchestration impérative • Ne pas réécrire les states et les pillars Prérequis : • Transmettre à Ansible l’inventaire • Isoler l’exécution de salt Stabiliser Salt avec Ansible
  • 22. ©2016 PeopleDoc. Tous droits réservés Inventaire Dynamique sudo = ('/usr/bin/sudo',) if os.geteuid() != 0 else () output = subprocess.check_output(sudo + ( '/usr/bin/salt-run', 'mine.get', "'*'", 'private_ip' )) for line in output.split('n'): line = line.replace(' ', '') if not line: continue name, ip = line.split(':') inventory['minions']['hosts'].append(name) if name == 'master': inventory['_meta']['hostvars'][name] = { 'ansible_ssh_host': '127.0.0.1', 'connection': 'local', } else: inventory['_meta']['hostvars'][name] = { 'ansible_ssh_host': ip } print json.dumps(inventory)
  • 23. ©2016 PeopleDoc. Tous droits réservés Playbooks de states (suite) - hosts: rh2-assets sudo: yes tasks: - salt_call: state.sls rh2.static saltenv={{ saltenv }} - hosts: rh2* sudo: yes tasks: - shell: supervisorctl reload ...
  • 24. ©2016 PeopleDoc. Tous droits réservés Démo
  • 25. ©2016 PeopleDoc. Tous droits réservés Merci !
  • 26. ©2016 PeopleDoc. Tous droits réservés Questions
  • 27. ©2016 PeopleDoc. Tous droits réservés https://twitter.com/peopledoc_fr https://www.facebook.com/PeopleDocFrance http://www.linkedin.com/company/peopledocfrance http://fr.viadeo.com/fr/profile/novapost.people-doc PeopleDoc 32, rue de Paradis - 75010 PARIS contact@people-doc.fr www.people-doc.fr