L'industrialisation de Zimbra dans le monde de l'Open Source. Une présentation qui propose de répondre aux problématiques de stockage, de conformité et d'évolutivité d'un serveur Zimbra.
Rapport administation systèmes et supervision réseaux tp1 diabang master1 trCheikh Tidiane DIABANG
Administration systèmes et supervision réseaux (TP 1)
Tache 1: journalisation avec script
Tache 2: utilisation de la commande sudo
Tache 3: compilation du noyeau
Rapport administration systèmes et supervision réseaux tp2 diabang master1 trCheikh Tidiane DIABANG
Administration systèmes et supervision réseaux (TP 2) : systèmes de fichiers
Tache 1: généralité sur les systèmes de fichiers
Tache 2: gérer des systèmes de fichiers ext2/ext3/ext4
Tache 3: mettre en place un serveur NFS
Tache 4: créer un système de fichier dans un fichier
Rapport administration systèmes et supervision réseaux tp3 diabang master1 trCheikh Tidiane DIABANG
Administration systèmes et supervision réseaux (TP 3) : Le RAID
Tache 1: créer un disque RAID 5 logiciel
Tache 2: Transformer un disque en RAID 1 logiciel sans
perte de données
Rapport administation systèmes et supervision réseaux tp1 diabang master1 trCheikh Tidiane DIABANG
Administration systèmes et supervision réseaux (TP 1)
Tache 1: journalisation avec script
Tache 2: utilisation de la commande sudo
Tache 3: compilation du noyeau
Rapport administration systèmes et supervision réseaux tp2 diabang master1 trCheikh Tidiane DIABANG
Administration systèmes et supervision réseaux (TP 2) : systèmes de fichiers
Tache 1: généralité sur les systèmes de fichiers
Tache 2: gérer des systèmes de fichiers ext2/ext3/ext4
Tache 3: mettre en place un serveur NFS
Tache 4: créer un système de fichier dans un fichier
Rapport administration systèmes et supervision réseaux tp3 diabang master1 trCheikh Tidiane DIABANG
Administration systèmes et supervision réseaux (TP 3) : Le RAID
Tache 1: créer un disque RAID 5 logiciel
Tache 2: Transformer un disque en RAID 1 logiciel sans
perte de données
Nous commençons donc avec les failles de type CSRF.
Sécurité : Fonctionnement et impact d’une attaque CSRF
L’objectif même de l’attaque est généralement d’exécuter une action, exemple : Créer un utilisateur sur un site web.
Nous commençons donc avec les failles de type CSRF.
Sécurité : Fonctionnement et impact d’une attaque CSRF
L’objectif même de l’attaque est généralement d’exécuter une action, exemple : Créer un utilisateur sur un site web.
Evaluation of Land Suitability for Stone Pine (Pinus pinea) plantation in Leb...IJEAB
Stone pine (Pinus pinea) is a typical Mediterranean tree well adapted to drought and high temperatures. It is a species of great interest and economical importance in Lebanon and has a strong beneficial impact on the local communities from the marketing of its edible nuts. This tree is threatened by human activities and fire that are leading to its degradation. Therefore, the aim of this study is to delineate and map the suitability of soils for the plantation and extension of the stone pine. For this purpose, the adopted research methods were composed of the following three steps: (1) identifying through available data and traditional methods the ability of the lands to be planted with stone pine (2) identifying the various factors influencing the growth and fruiting of the treeand (3) transforming and integrating all the data into geo-referenced thematic maps and introducing them into the Geographic Information System (GIS) suitable for delimiting Lebanese areas suitable for planting stone pines. The obtained results were presented in a form of 10 thematic maps (GIS layers) that represent the influence of each ecological factor on the land suitability for afforestation by stone pine. A final thematic map that illustrates the most suitable areas for Pinus pinea plantations was generated by superimposing the 10 GIS layers.
Presentation provided at the SIDS BBNJ workshop 7-9 March 2017, Oostende, Belgium. Note there are 2 movies in this presentation which are not visible here.
One movie is posted on YouTube: https://www.youtube.com/watch?v=jjspMw8sVMw
Effect of plant growth promoting rhizobacterial (PGPR) inoculation on growth ...IJEAB
Plant Growth promoting rhizobacteria are a heterogeneous group of bacteria that can be found in the rhizosphere, at root surfaces and in association with roots. They benefit plants through Production of plant hormones, such as auxins, asymbiotic N2 fixation, solubilization of mineral phosphates, antagonism against phytopathogenic microorganisms by production of antibiotics, siderophroes, Chitinase and other nutrients ability to effectively colonize roots are responsible for plant growth promotion. An experiment was conducted in the field of National Institute of Agronomic Research of Meknes. Morocco. The experiment was a completely randomized design with six replicates. There were four treatments viz. T1: (control; N0 -PGPR), T2: (N0 +2027-2), T3: (N0 +2066-7) and T4: (N0+2025-1). The results indicated that a remarkable increase in root growth, namely length, the diameter of the rod and the total chlorophyll. A total of three different bacteria colonies were isolated and proceed with in vitro screening for plant growth promoting activities; phosphate solubilization, nitrogen fixation, indole acetic acid (IAA), ammonia production and antimicrobial enzymes (cellulose, chitinase and protease) activity. Among the three bacterial strains, all bacterial strains are able to produce ammonia, IAA production and nitrogen fixation activity, one strain phosphate solubilizing activity, two strain are able to produce cellulase syntheses, Protease activity and Chitinase activity.
Regulation of Seed Germination and the Role of Aquaporins under Abiotic StressIJEAB
Aquaporins play a major role in governing the movement of water between neighboring cells during seed germination and are major players in response to abiotic stress conditions that affect water availability. Seeds of pea (Pisum sativum L. cv. Arkel) were used for studying cell growth, expression and function of aquaporins during seed imbibition, radicle emergence and growth.Water channel functioning checked by inhibitory test with mercuric chloride showed closed water channels prior to growth initiation. Addition of mercury scavenging agents dithiothreitol and β-mercaptoethanol along with the HgCl2 overcame the observed inhibitory effects in terms of moisture content. The presence of aquaporin inhibitors (HgCl2 and ZnCl2) and NaCl reduced seedling growth. Here we studied expression of a plasma membrane intrinsic protein (PsPIP1;2) and a tonoplast intrinsic protein (PsTIP1;1) by using the semi quantitative RT-PCR in the germinated seedlings exposed to different abiotic stresses. Treatment with NaCl, HgCl2 and ZnCl2 differentially regulated gene expression in radicle, cotyledon and plumule. NaCl and Hg, upregulated expression of PsPIP1;2 and PsTIP1;1 in radicle and expression of PsTIP1;1 was significantly upregulated in radicle and suppressed in cotyledon by Zn. A possible role for aquaporins in germinating seeds and seedling response to abiotic stresses is discussed.
Integrated Weed Management Effect on Weeds and Seed Cotton YieldIJEAB
Integrated weed management is a system approach where by whole land use planning is done in advance to minimise the very invasion of weeds in aggressive forms and give crop plants a strongly competitive advantage over the weeds. Further, importance is given to involve more than one method of weed control in tackling the weeds so those broad spectrums of weeds are kept under check for longer period. A pre emergence herbicide take care of weeds only for a limited period and do not give long term weed control in a long duration crop like cotton where the problem of late emerging weeds arises and escape killing. So to attain a season long weed control, integration of chemical, mechanical and cultural methods holds a great promise in crop production. Hence, integrated weed management in cotton play important role in increasing crop production. Field experiments were conducted during 2013 and 2014, at Agricultural College and Research Institute, Madurai (Tamil Nadu Agricultural University) to study the effect of integrated weed management in rainfed cotton. The weed management practices consisted of pendimethalin (1.0 kg.ha-1) and (Calotropisgigantea leaf extract spray at three concentrations (10%, 20%, and 30%) in combination with power weeder operation twice and manual weeding twice. From the results of the experiments, it could be recommended that the integrated weed management practices like, application of PE pendimethalin at 1.0 kg ha-1 + power weeding on 40 DAS (T11) recorded higher seed cotton yield and economic return.
A presentation to depict the efficient sales and logistics network that Nestle has. The presentation has been referred from another presentation made available on slideshare
Environmental Changes and Effects on a Population of Smooth Newt Lissotriton ...IJEAB
The population of Lissotriton meridionalis in the area of “Bosco di Palo” Natural Park are monitored since 1995. From 2004 to 2005 in the area it was carried out a massive cutting of dead trees with evidence of alteration of the undergrowth. The study aims to verify, through the index of the population estimate, if the species has suffered changes in the size of the population following environmental changes. For the research were chosen three ponds in the wood and the data collection took place from the breeding season of 1995 – 1996 to 2014 – 2015, in each of the seasons was made an estimation of the population density. The data obtained are been compared in order to make assessments on the conservation status and persistence of the species in the site, also as a result of environmental changes suffered by “Bosco di Palo” Natural Park. The analysis of the population estimate, used in this work as an index of the conservation status of the species in the Park, confirms that, in the previous period and in the period following the die-off of trees and cutting plant health, we have substantially the same values of population size.
FULLY AUTOMATIC PENSKY-MARTENS FLASH POINT
Test Temperature Range : Ambient to 410°C
Flash point detection by thermocouple
Electric and Gas ignition
Regulated electric ignitor
Integrated barometric correction
One hand easy operation
6,4 inch High Definition screen
Capacitive touch screen
Standard Methods: A, B, C
User programmable methods
Predictive heating regulation
Heavy sample preheating and automatic stirring start
Fast heating and cooling
Sample cup holder stand
Small size
Alphorm.com Formation Nagios et Cacti : Installation et AdministrationAlphorm
Formation complète ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-nagios-centreon-et-cacti-installation-et-adminisration
Nagios est une solution Open Source pour superviser vos serveurs, réseaux et applicatifs.
Dans cette formation Nagios et Cacti, nous commencerons en dressant un panorama sur les principes, bonnes pratiques et outils de supervision avant de rentrer dans le vif du sujet en installant Nagios sur des serveurs que nous configurerons ensuite. Fort de ces notions élémentaires nous développerons des aspects avancés sur la supervision.
Cette formation Nagios et Cacti vous permettra de mettre en œuvre et maintenir une solution globale de tableaux de bords sur la qualité de service du système d'information. Avec cette formation Nagios et Cacti vous serez à même de concevoir une solution de reporting technique, d'installer et configurer Cacti sur diverses plates-formes, de comprendre l'architecture interne et les différents objets gérés, d'automatiser la collecte de données et enfin de développer des Templates réutilisables.
Document de formation[FR] pour l'apprentissage de Archlinux et la protection de l'information. Intégration d'environnement de travail et de suite logicielle(calcul scientifique, virtualisation, gestion biblio, gestionnaire mot de passe, etc..) pour l'internet des objets avec l'Open Source Hardware (Arduino, RaspberryPi). Optimisation IDE sous langage de programmation en python.
En savoir plus sur www.opensourceschool.fr
Open Source School - Bachelor 3
Support de cours Linux Scripting
Ce support est diffusé sous licence Creative Commons (CC BY-SA 3.0 FR)
Attribution - Partage dans les Mêmes Conditions 3.0 France
OBJECTIFS :
* Acquérir une connaissance des divers aspects du shell
* Connaître tous les mécanismes de base du shell
* Créer des scripts transportables d'un Linux à l'autre
* Une passe sur des mécanismes avancés du shell vous permettra de bien maîtriser l'outil
* Connaître toutes les astuces du shell ainsi que des commandes d'administration basiques du système Linux
PLAN :
Introduction
* Historique
* Présentation
* Fichiers de configuration
* Créer un script shell
* Exécution d'un script
Mécanismes de base
* Affichage et lecture
* Commentaires
* Les variables
* L'environnement
* Les quotes
* Les arguments
* Codes de retour
Construction de shell scripts portables
* If et case
* Les comparaisons
* For et while
* Les fonctions
* L'import de fichiers
Mécanismes complémentaires
* Les redirections
* Opérations mathématiques
* Meta characters
* ANSI-C
* Getopts
* Les tableaux
* Le select
* Les signaux
Savoir quelle solution de supervision choisir est toujours délicat et surtout avec la panoplie de produits qui existent, dans cet ouvrage retrouvez toute une comparaison "pratique" des solutions régnantes sur le marché et surtout comment et Pas à Pas implémenter Nagios et ses sur-couches afin de cacher un peu son interface dite fastidieuse et encombrante autrement dit l'interface d'administration sera embelli avec des graphes et des Maps afin de détecter rapidement un problème dans son réseau et cela juste par un coup d’œil. Tous les problèmes d'installation et de paramétrage sont traitées et bien détaillé afin de pouvoir installer son Nagios en toute fluidité et rapidité chose qui est rare dans un tutoriel.
Chiffrer et sécuriser MariaDB - Présentation effectuée à "Ubuntu Paris 1610" par Christophe Villeneuve
MariaDB est la base de données NewSQL (NoSQL + SQL) et libre à utiliser au quotidien
Le comité de filière ovin et les équipes de l’Institut de l’Elevage ont présenté lors d'un webinaire, comment la sélection génétique contribue aux enjeux actuels de la production ovine. Quelles sont les travaux en cours et les perspectives d’étude sur la brebis de demain.
Intervention : La génétique, un levier majeur pour les enjeux à venir (Mathieu Foucault)
L’équipe du projet BeBoP a proposé un webinaire le 30 mai 2024 pour découvrir comment la technologie vidéo, combinée à l’intelligence artificielle, se met au service de l’analyse du comportement des taurillons.
2024 03 27 JTC actualités C Perrot (idele).pdfidelewebmestre
Quelque que soit les secteurs de production, les pyramides des âges des agriculteurs français (chefs et coexploitants) présentent presque toujours un double déséquilibre : i) en faveur des classes d’âges à partir de 50-55 ans, ii) en défaveur des femmes, surtout de moins de 40 ans. Si le secteur caprin est une exception à cette règle, c’est principalement grâce aux producteurs qui transforment du lait à la ferme. Cette sous population présente le même équilibre, en classe d’âge et en sex ratio, que la population active française en emplois tous secteurs économiques confondus. C’est légèrement moins vrai pour les classes d’âge les plus jeunes (moins de 30 ans) : le métier d’éleveur.se est un métier d’indépendant alors que les jeunes actifs français sont salariés. Cet équilibre parfait du secteur caprin fermier s’explique par une forte attractivité. 40% des éleveur.se.s présents en 2020 s’étaient installés depuis 2010 ! Deux fois plus que dans les autres secteurs de l’élevage. Bien que pour l’instant stable (taux de remplacement des départs, entrées/sorties, proche de 100%), la sous population des éleveurs qui livrent du lait de chèvre est plus fragile. Compte tenu d’un très faible taux de renouvellement (nombre d’entrées/nombre de présents), elle vieillit et pourrait finir par diminuer. Néanmoins comme les besoins de recrutement sont bien moins élevés qu’en bovins lait par exemple, les marges de manoeuvre pour la filière semblent plus accessibles.
JTC_2024_TC Bâtiment et bien-être estival.pdfidelewebmestre
Le changement climatique s’exprime de plus en plus par la manifestation d’épisodes caniculaires et par la diminution de la ressource fourragère en été, ce qui contraint les éleveurs à rentrer leur troupeau plus fréquemment. Les animaux logés en bâtiment pendant la période estivale sont exposés à un stress thermique qui peut altérer leur bien-être et leurs performances à court et moyen terme. La conception du bâtiment ou certains équipements peuvent permettre de réduire ce stress pour assurer un meilleur confort aux animaux pendant les périodes de fortes chaleurs.
2. 2
L’industrialisation autour de Zimbra
dans le monde de l’Open Source
Soliman Hindy
soliman.hindy@cloud-temple.com
Version 1.0, 2017-03-09
Problématique
OS Orchestration
Historiser le
code
Questions / réponses
Migration
d’une
plateforme
3. 3 1 – Industrialisation : la problématique
Comment s’assurer que les serveurs sont conformes aux spécifications ?
Comment répondre aux besoins professionnels autour de la messagerie ?
4. 4 2 – Préparation de l’OS
Stockage / PartitionnementPhysique / virtuel
OS
Monitoring
Sécurité
Système
d’exploitation
5. 5 3 – Installation serveur Zimbra : implications
# ./install.sh
Exécution du script
Installation
des
dépendances
Conformité
DNS,
/etc/hosts, etc
Exécution des
commandes de
post installation
Tuner
l’installation
7. 7 Le futur c’est quoi ?
?
?
?
?
?
?
?
Comment m’assurer
d’avoir une plateforme
facile à faire évoluer ?
Comment maintenir ?
Comment modifier
l’infrastructure sans casser
l’existant ?
Comment assurer la
conformité avec les
spécifications ?
Améliorer le processus existant ?
8. 8 5 – Outils d’orchestration
Environnement
s hétérogènes
Gérer des
déploiement
s
Fiabiliser les
processus
Automatiser
son travail
9. 9 5 – Outils d’orchestration
# cat /root/bin/toto.sh
zmtlsctl both
zmzimletctl install /tmp/com_zimbra_date.zip
zmlocalconfig -e ldap_url="ldap://master:389
ldap://slave:389"
postconf -e smtpd_tls_protocols='!SSLv2,!SSLv3’
zmcontrol restart
# sh /root/bin/toto.sh
Installation
initiale : pas
pour les
modifications
Faire des
comparaisons,
appliquer les
différences
Script
shell
10. 10 5 – Outils d’orchestration
# for i in serveur1 serveur2 … serveurN
do
ssh $i zmzimletctl install /tmp/toto.zip
ssh $i zmprov fc zimlet
ssh $i zmprov fc all
ssh $i zmprov gqu $(zmhostname) > /tmp/gqu.txt
ssh $i zmcontrol restart
done
Boucle for
SSH
12. 12 5 – Outils d’orchestration
Valeur par
défaut
./install.sh
# ./install.sh [-r <dir> -l <file> -a <file> -u -s -c type -x -h]
[defaultsfile]
13. 13 6 – Un exemple : puppet
Un serveur maître et des serveurs esclaves
Découpage par modules dans /etc/puppet/modules :
- System
- Monitoring
- Zimbra
- Security
Un serveur
maître
Des serveurs
esclaves
Des modules
Ruby
14. 14 6 – Un exemple : Puppet
Chaque module possède trois dossiers :
- files
- manifests
- templates
Définition de
module
Fichiers
Recettes
Des modèles
18. 18 6 – Un exemple : Puppet
# cat /etc/puppet/modules/system/template/hosts.erb
127.0.0.1 localhost
<%=@ipaddress_eth0 %>
<%=@hostname%>.<%=@domain_name %>
<%=@hostname%>
# cat /etc/hosts
127.0.0.1 localhost
10.96.1.42 zstore42.domaine.fr zstore42
Exemple :
template
Utilisation de
variables
19. 19 6 – Un exemple : Puppet
node /^zstored+.domaine.fr/ {
include system::generic
include monitoring::snmpd
include monitoring::nrpe
include zimbra87::ruby
include system::zimbra87
include zimbra87::store
include loghost::zimbrastore87
}
Définition des
serveurs
20. 20 6 – Un exemple : Puppet
# puppet agent –t --noop
# puppet agent -t
Exécution de
l’agent
22. 22 Versionning : git
# git status
# git add /etc/puppet/modules/zimbra87
# git commit −m ’first commit'
# git push
# git status
# git log
Quelques
commandes
git
23. 23 8 – Notre Github : https://github.com/cloud-temple
Contribuer à l’Open Source
Forker le code
24. 24 9 – Migration d’une plateforme Zimbra
Une
plateforme
source, version
N
Module
puppet en
version N
Plateforme
destination en
N+1
Module
puppet en
version N+1
25. 25
node zstore43.domaine.fr {
include system::generic
include monitoring::snmpd
include monitoring::nrpe
include zimbra874::ruby
include system::zimbra874
include zimbra874::store
include loghost::zimbrastore874
}
Définition des
serveurs
Une nouvelle
classe
874
9 – Migration d’une plateforme Zimbra
26. 26 10 – Tableau comparatif outils orchestration
Nom Licence Langage Agent ? Communautaire Entreprise
Puppet Apache License Ruby Oui Oui Oui
Ansible GPL3 Python Non Oui Oui
Chef Apache License Ruby Oui Oui Oui
Saltstack Apache License Python Non Oui Oui
Choix du
langage
Documentatio
n
Bonjour à tous et merci d’être venu assister à cette conférence.
Je suis Soliman Hindy et je fais parti de la société Cloud Temple, cela fait environ 10 ans que je travaille autour de la messagerie collaborative Zimbra.
Nous avons divisé la séance en deux parties :
Présentation sur 40 minutes
Questions / réponses sur les 20 minutes restantes
Plan proposé :
Installation OS
Installation Zimbra
Outils d’orchestration
Historiser le code
Migration d’une plateforme
Questions / réponses
Durant cette présentation nous nous proposons d’évoquer le sujet de l’industrialisation de Zimbra dans le monde de l’OpenSource.
Si l’on part du constat qu’installer un serveur Zimbra dans son coin sans personnalisation c’est simple mais qu’en est-il quand on doit maintenir plusieurs serveurs ?
Comment assurer les mises à jour ?
Comment faire évoluer son architecture ?
Comment répondre aux besoins de stockage qui augmentent ?
Comment s’assurer que les serveurs sont conformes aux spécifications ?
Co mment répondre aux besoins professionnels autour de la messagerie ?
Nous nous propons de répondre à ces différentes questions durant cette présentation.
Que faut-il pour préparer un serveur Zimbra ?
Avant de procéder à l’installation de Zimbra il est nécessaire d’installer un système d’exploitation :
Serveur physique ou virtuel
Stockage SAN / disques locaux
Choix de la distribution
L’installer
Partitionnement
Les bonnes pratiques de sécurité / journalisation
Politique de mise à jour de sécurité
Monitoring
Sauvegarde
Installer un serveur Zimbra c’est réaliser plusieurs opérations :
Télécharger l’installeur
Lire le fichier release notes
Installer les dépendances
Conformité des enregistrements DNS
Conformité du fichier /etc/hosts
Désactivation des firewalls et selinux
Exécuter le script ./install.sh
Exécution des commandes de post installation
Tuner l’installation
A l’étape précédente nous avons réalisé une installation Zimbra mono serveur mais sans aucune personnalisation de celle-ci. De ce fait il est nécessaire de passer à l’étape de personnalisation de notre installation. Parmis les opérations identifiables nous relevons celles-ci :
Les skins
Les logos
Les zimlets
L’intégration dans le SI :
authentification,
SSO,
GAL
scripts de synchro,
reporting,
supervision
Finalement on vient de décrire une installation mono serveur et d’effectuer beaucoup d’opérations manuellement. Que se passe-t-il quand on effectue une mise à jour ? L’installeur va remettre pas mal de choses à zéro et il faudra alors reprendre les modifications que nous avons effectuées pour la personnalisation. C’est quelque peu dommage de refaire un travail déjà réalisé par le passé.
Peut-on améliorer ce processus ?
Peut-on s’assurer que des mises à jour futures nous permettront de garder chaque élément en place ?
Comment maintenir ?
Comment modifier l’infrastructure sans casser l’existant ?
Comment faire évoluer mon architecture ?
Comment s’assurer que c’est conforme aux spécifications ?
Dans ce contexte il devient vite indispensable d’avoir un outil d’orchestration.
Quelque part un outil d’orchestration a pour but de répondre aux différentes questions que nous nous sommes posés précédemment.
Le rôle d’un outil d’orchestration c’est de permettre plusieurs choses :
Gérer les déploiements systèmes et applicatifs
Fiabiliser les processus
Automatiser son travail
Interagir sur des environnements hétérogènes
Pour bien comprendre l’intérêt d’un outil d’orchestration on peut regarder comment on ferait sans. Une première piste serait l’utilisation d’un script shell : exécution des commandes en séquentiel.
Les problèmes :
Fonctionne que pour l’installation initiale mais pas dans le cas d’une modification
Le besoin est donc d’avoir un outil capable de faire des comparaisons et appliquer la différence
Une autre possibilité utiliser une boucle for et faire un SSH et exécuter des commandes à distance :
Déployer des clés sur les serveurs
Écrire à chaque fois les commandes ou en faire un script shell
Contrôle d’erreur assez difficile
On peut citer d’autres outils un peu plus évolués tels que :
Fabric
Parallel ssh
Une autre possibilité serait de faire un fichier de réponse et d’envoyer le résultat de celui-ci dans le script d’installation.
C’est possible mais cela prend du temps à concevoir. En effet, il est nécessaire de répondre à chaque question et dans le même ordre d’apparition.
Généralement cela se fait par essais / erreur jusqu’à temps que l’installation se fasse en automatique.
Il existe une option dans l’installeur qui permet de donner un fichier.
Dans la pratique on se rend compte que ce fichier est à retravailler quoiqu’il arrive et ne gagne pas forcément de temps par rapport à la solution précédente.
Dans les prochains slides nous allons parler d’un outil d’orchestration s’appelant puppet qui est écrit en langage ruby.
Le principe de fonctionnement : il y a un serveur maître et des serveurs esclaves c’est-à-dire nos serveurs Zimbra.
Tout se passe dans /etc/puppet. Un découpage a lieu par modules. Par exemple
System
Monitoring
Zimbra
Security
Chaque module possède trois dossiers :
files
manifests
templates
Description des différents dossiers :
Le dossier files permet de stocker des fichiers ainsi que des répertoires que l’on peut pousser vers le serveur cible
Le dossier manifests permet de décrire des recettes qui vont venir s’appliquer sur nos serveurs
Le dossier template va permettre de créer des modèles de fichiers qui permettent d’écrire qu’une seule fois un fichier de configuration par exemple
Les serveurs Zimbra que nous installons sont compatibles avec RHEL / CentOS et Ubuntu Server.
Puppet est aussi compatible avec ces différentes distributions Linux, et bien d’autres OS.
Pour procéder à l’installation il faut distinguer l’installation du master et des serveurs esclaves.
Nous présentons ici deux recettes :
l’installation du package openssh
Pousser un script shell sur le serveur distant
Ici nous avons une couche d’abstraction intéressante qui nous permet de ne pas se poser la question si le package openssh doit être installé via le gestionnaire de package yum ou apt-get, c’est puppet qui va trouver tout seul.
Installation des dépendances Zimbra et vérifier qu’elles sont présentes.
Pousser l’archive tgz sur le serveur cible.
Un exemple de template utilisant le langage erb qui signifie Embedded Ruby.
Définition et intégration des serveurs esclaves, dits nodes, pour chaque classe et donc recettes le concernant.
Exécution de l’agent tout à d’abord en mode test puis ensuite en condition réelle
Depuis tout à l’heure nous parlons de puppet et on s’aperçoit que nous manipulons du code et qu’il serait plus qu’important d’en conserver un historique des modifications.
Nous manipulons du ruby et par conséquent du code.
Nous utilisons pour ce faire des outils de versionning tels que git.
Git est un outil de versioning décentralisé qui est capable de garder une trace de toutes les modifications effectuées : par qui et quand. On peut bien sûr faire des diff entre une version A et une version B.
Nous présentons ici quelques commandes git de bases qui permettent :
connaître l’état du dépôt
Ajouter des fichiers au dépôt
Enregister les changemets dans le dépôt
envoyer les modifications dans le dépôts
connaître l’état du dépôt
Voir les actions effectuées sur le dépôts
Code source reversé à la communauté
Forker le code
Contribuer à l’OpenSource
https://github.com/cloud-temple
Définition et intégration des serveurs esclaves, dits nodes, pour chaque classe et donc recettes le concernant.
Ici nous utilisons une nouvelle classe puppet qui est en rapport avec la nouvelle version que nous souhaitons déployer.
Présentation de différents outils d’orchestration.
Chaque outil a ses avantages et inconvénients. Il convient alors de trouver celui avec lequel vous allez être le plus à l’aise.
Par exemple nous avons dans l’entreprise une culture autour du langage ruby cela a déjà orienté notre choix.
La documentation présente semblait plus fournie sur puppet à l’époque où le choix a été réalisé.