Formation Puppet 6

0,0 rating
Logo Formation Puppet

2100€

1890€ HT / personne

3 jours (21 heures)

Paris
Il ne reste que quelques places
Disponible aussi en intra-entreprise pour former votre équipe.

Présentation

Puppet est un logiciel libre permettant de gérer, installer, configurer ou mettre à jour efficacement un nombre important de machines tout en s’adaptant aux spécificités de chacune d’entre elles. Une fois les configurations effectuées leur maintenance sera simple et rapide avec la possibilité d’être facilement restaurable. Puppet est livré avec de nombreux outils de gestion de code et de tests simplifiant au maximum l’utilisation de ces nombreuses fonctionnalités, tels que Hiera & r10k. Ces outils permettent également d’améliorer la clarté & la lisibilité de votre infrastructure, de garder une architecture cohérente et de faciliter le déploiement des configurations nouvellement créées sans perdre en organisation.

Puppet possède deux couches, l’une étant un langage de configuration décrivant les hôtes et les services, l’autre permettant à l’administrateur d’implémenter la configuration sur des plateformes variées telles que Windows / Linux / OSX. L’administrateur peut définir la configuration d’un service que Puppet se chargera de monitorer et d’exécuter.

Dans cette formation vous découvrirez comment rendre votre infrastructure scalable. Nous verrons comment déployer vos configurations sur toutes vos machines en maîtrisant toutes les subtilités et les différentes fonctionnalités de Puppet et Puppet Enterprise ainsi que leurs outils respectifs.

Comme toutes nos formations, celle-ci vous présentera la dernière version stable en date (Puppet 6.9 sortie le 17 septembre 2019 à la date de l’article).

 

Objectifs

  • Être capable de réduire la complexité de la gestion de votre infrastructure
  • Utiliser Hiera et r10k pour séparer le code de la data
  • Maîtriser une architecture  scalable via Puppet
  • Savoir automatiser des tâches d’infrastructure avec Puppet
  • Utilisez les outils & l’écosystème Puppet

 

Public visé

  • Développeurs, Architectes, Administrateurs système / Sysadmin

 

Pré-requis

  • Connaissances de base d’un système Unix / Linux, des notions de base en scripts / shell

 

Pour aller plus loin

Programme sur Notre Formation Puppet Enterprise version 6 : DevOps Scalable Infrastructure

 

Jour 1 – Les bases de Puppet

  • Pré-requis Puppet – connaissances, habilitations, outils, ….
  • Packaging – construire, intégrer, déployer des packages et des référentiels (repositories)
  • Concepts IAC (Infrastructure As Code) – Code (modules puppet), Configurations (hieradata), Gestion des requêtes et workflows
  • Les Produits et services de Puppet – Vue d’ensemble
  • Périmètre de Puppet – KISS (Keep It Stupid and Simple) par rapport aux concepts d’ingénierie
  • Interfaces utilisateur – Console Puppet, APIs, CLI

 

Jour 2 – Tenir ses serveurs à jour

  • Hieradata – organiser la hiérarchie des données de votre infrastructure (centraliser, hériter, sécuriser les configurations autant que vous le pouvez, puis remplacer seulement si nécessaire)
  • Puppet Compilation – Comprendre le cycle de vie d’une exécution d’agent Puppet
  • Puppet Développement – Créez vos propres modules
  • Puppet idempotency concept – Appliquez le catalogue autant de fois que vous le souhaitez

 

Jour 3 – Déployer, mettre à jour, migrer les applications distribuées sur l’infrastructure

  • Développement de Puppet – facts, fonctions et types personnalisés pour améliorer vos modules développés
  • Puppet Forge – Ne réinventez pas la roue !
  • Puppet Development – Définir une pile d’applications avec Puppet
  • Puppet Discovery – Connaissances de l’état de l’infrastructure en temps réel (bientôt obsolète)
  • Puppet bolt & tasks  – Exécutez des scripts sans agent sur votre infrastructure
  • Comprendre les concepts : déclaratifs et impératifs
  • Infrastructure – Configurez votre environnement de laboratoire (entreprise puppet, gitlab, rpmbuild, dépôt rpm)

 

 

Jours 4 & 5 – Module Complémentaire sur demande (+2 jours)

Dependending on what is possible to play with (is there a laboratory? a git server? a repository? etc), this part is dedicated to practice and will be adjusted onsite regarding participant skills and needs.

 

Full Stack Deployment

  • OS (Linux / Unix / Windows), Network equipments – Quick wins are better than long fails
  • System administration – DNS, NTP, Users, Roles, SSH keys, Kernel parameters, Filesystems, etc
  • Middleware administration – Databases (servers/clients), Web servers
  • Software administration – Challenge your R&D team to get the best quality only (or let them do the hard work in production)
  • Patch management – Puppet remediate

 

Reporting

  • Vulnerability scan (based on task and remediate)
  • Change notification – mailing, HMI

 

Server provisionning

  • Baremetal install – Razor overview
  • VM install – VMWARE ESX, VRA,VRO

 

 

///////////////////////////////////////////////////////////////////

Langage Puppet

  • Coding style
  • Créer des modules
  • Créer un Manifest
  • Classes
  • Paramètres de Classes
  • Types
  • Providers
  • Templates

 

Rôles et Profils

  • Profils : les bonnes pratiques / best practices
  • Utiliser le mot-clé include
  • Utilisation de sous-répertoires pour des groupes
  • Masquer la complexité : les paramètres, les valeurs par défaut et l’abstraction
  • Décider comment définir vos paramètres pour les classes de composants
  • Recherche automatique de paramètre de classe & fonction de recherche
  • Rôles : les bonnes pratiques
  • Include & nommage des rôles
  • Décider de la granularité des rôles pour vos nœuds

 

Ressources

  • Types
    •  k5login
    • nagios*
    • schedule
    • interface
    • package
    • router
    • host
    • exec
    • interface …
  • ressources virtuelles et exportées
  • Tags
  • Load balancing
  • Connexion à la base de données

 

Hiera 5

  • Organiser les fichiers
  • Gestion des clés avec Yalm
  • Utilisation de la fonction Lookup
  • Debug
  • Présentation de Jerakia

 

Environnements

  • Présentation de r10k
  • Création d’environnement de développement
  • Déploiement d’environnement avec r10k

 

Code Manager

  • Organiser son code
  • Utilisation de RBAC
  • Gestion du repository

 

Workflow

  • Création d’un Workflow
  • Repositories
  • Tasks
  • Utilisation de PDK

 

Continuous integration

  • Puppet Pipelines
  • Gestion des plugins
  • Découverte de Jenkins
  • Intégration de PDK
  • Création de Test Unitaire avec Puppet RSpec

 

Tasks et Discovery

  • Installation de Bolt
  • Installation de Discovery
  • Gestion des sources
  • Installation des agents
  • Gestion des services

 

Orchestration

  • Création d’une application
  • Gestion de la base de données
  • Déployer une application

 

Puppet Enterprise

  • Ajout de nodes sur PE
  • Classification dynamique de nœuds avec des groupes
  • Orchestrer les stacks d’applications

 

Détection d’erreurs et résolution : Troubleshooting & Profiling

  • Attente de signature de certificat
  • Réutilisation de certificat
  • Paramètres de connexion
  • Erreurs de syntaxe
  • Ressources manquantes
  • Dépendances
  • Authentification

 

Modules avancés : 2 jours supplémentaires

 

Étendre Puppet : Extending Puppet  (module optionnel)

  • Custom facts & Debugging facts
  • Fonctions personnalisées : Custom functions
  • Types & providers
  • Creating and distributing the type
  • Namevar : special attribute
  • Properties, optional, parameters, defaults
  • Input Values : Vérification, Validate block, munge datatype
  • Méthodes Exists, create et destroy
  • GET & SET methods : Gérer les propriétés de type
  • Implémentation de la méthode self.instances

 

Tuning avancé : Scaling (module optionnel)

  • Load balancing
  • Estimation du nombre d’agents a supporter
  • Autorités de certification
  • Tuning de PuppetServer
    • Implémentation de Puppet Entreprise / Open Source
  • Tuning de Puppet DB
    • Gestion des threads CPU
    • Gestion de la taille du tas / heap
  • PuppetDB avec PGTune
  • Paramétrage automatique

FAQ – Questions / Réponses

Dans quelle mesure est-ce utile de se former sur la dernière version 6 si le client est en prod en v5 ?

Comme pour tout logiciel, c’est utile dans la mesure où l’on souhaite que l’infrastructure soit à jour (dernières corrections de bugs, derniers patchs de sécurités, nouvelles fonctionnalités).

Outre la version de Puppet, la formation est accès sur les concept Infrastructure As Code, DevOps, Agilité, TDD, CI/CD, Gestion de code, Gestion de configuration, workflows. L’ensemble de ces concepts étant essentiels au bon fonctionnement d’une infrastructure gérée sous Puppet.

Y’a-t-il beaucoup de différence ou 80% est réutilisable en v5 ?

La réutilisabilité du code est très fortement liée à la manière dont il est développé. Seuls les modules supportés officiellement par Puppet Enterprise sont faciles à migrer.

Pour les autres, aucune garantie ne peut être donnée puisqu’il s’agit de modules développés par une communauté open-source et/ou en interne dans les entreprises.

Aucun éditeur ne s’engage sur la réutilisabilité du code qu’il n’a pas développé ou qu’il ne supporte pas officiellement via des partenariats.

C’est un peu comme demander : Est-ce que l’appli que j’ai développée il y a 10 sur JAVA 5 fonctionne toujours aujourd’hui sur JAVA 12. Va-t-elle être simple à migrer? Sun (à l’époque) et Oracle maintenant ne peuvent pas se prononcer sur la simplicité de migrer un logiciel développé avec le langage JAVA 5. Tout dépend du logiciel, des bonnes pratiques de développement, etc.

Est-ce qu’on aborde les différences entre les versions de Puppet 5 et 6 pendant les 3 jours de formation ?

Non, les différences ne sont pas abordées. Mais sur demande, si l’ensemble des personnes qui assisteront à la formation sont sur Puppet 5 je peux faire un focus dessus.

Par contre, voici les releases notes des deux versions Puppet 5 et Puppet 6 qui listent les différences en termes de features et de corrections de bugs :
https://puppet.com/docs/puppet/6.0/release_notes_puppet.html
https://puppet.com/docs/puppet/5.5/release_notes.html

Langues et Lieux disponibles

Langues

  • Français
  • Anglais / English

Lieux

  • France entière
    • Paris
    • Lille
    • Reims
    • Lyon
    • Toulouse
    • Bordeaux
    • Montpellier
    • Nice
    • Sophia Antipolis
    • Marseille
    • Aix-en-Provence
    • Nantes
    • Rennes
    • Strasbourg
    • Grenoble
    • Dijon
    • Tours
    • Saint-Étienne
    • Toulon
    • Angers
  • Belgique
    • Bruxelles
    • Liège
  • Suisse
    • Genève
    • Zurich
    • Lausanne
  • Luxembourg

Le(s) Formateur(s)

Témoignages

Il n'y a pas encore de commentaires. Soyez le premier à en écrire un dans la section noter la formation !

Afficher tous les témoignages

Il n'y a pas encore de commentaires. Soyez le premier à en écrire un dans la section noter la formation !

Noter la formation

2100€

1890€ HT / personne

3 jours (21 heures)

Paris
Il ne reste que quelques places
Disponible aussi en intra-entreprise pour former votre équipe.

Une question ? Un projet ?

Pour des informations complémentaires, n’hésitez pas à nous contacter.