Tutoriels Devops

Le devops est un mouvement en ingénierie informatique et une pratique technique visant à l'unification du développement logiciel (dev) et de l'administration des infrastructures informatiques (ops), notamment l'administration système.

Démarrer avec les containers Docker

Docker est un logiciel open source qui permet d’automatiser le déploiement d’applications en les empaquetant, ainsi que ses dépendances dans des containers virtuels. La force de ce concept est que ses containers peuvent ensuite être déployé sur n’importe plateforme où peut être installer l’API de Docker

Automatiser le déploiement de votre blog Hugo avec wercker

Wercker permet aux développeurs de créer des conteneurs Docker sur leur bureau, automatiser leurs processus de création et de déploiement, puis les déployer sur diverses plateformes cloud, allant de Heroku à AWS et à Rackspace

Ansible l'outil de gestion de configuration

Ansible est la star des outils d'infrastructure as code ! Voyons en détail ce qu'il peut vous apporter dans la gestion de la configuration de votre infrastructure.

Installer ansible (python3) sur windows avec CygWin

Au départ je me suis dit d’installer Virtualbox et de monter une VM minimale mais sur mon poste du boulot ça le fait pas. Il me fallait une solution donc minimaliste. Par défaut au boulot Cywgin est installé alors...

Optimiser la taille des images Docker

Utiliser des une images plus petite offre des avantages tels que des temps d’importation et de téléchargement plus courts. Cela peut permettre de raccourcir les temps d’exécution de vos CI ou du démarrage de vos pods Kubernetes

Ecriture, Exécution et Debug de playbook ansible

Je vous propose dans ce billet comment vous mettre rapidement en ordre de marche pour écrire de bons playbook ansible. On y retrouve toutes les informations pour mettre en place les tasks, handlers mais aussi les paramètres permettant d'indiquer les machines cibles, la méthode de connexion...

Installer un cluster Kubernetes avec sa version ultra-light K3S de Rancher

K3s est une version utlra-light de Kubernetes développée par Rancher. Il ne nécessite que de 40MB d’espace disque et 512MB de RAM pour démarrer car il se destine avant tout pour les équipements légers comme cexu de l’IoT, des serveurs de transports edge, des RaspberryPi entre autre.

Sécuriser ses sites tournant sous k3s avec Let’s Encrypt

Le protocole HTTP , simple et efficace, a cependant un énorme défaut : toutes les informations envoyées sont en clair....

Mixer des nodes ARM et AMD64 sur un cluster kubernetes k3s

Mixer des nodes sur une cluster k3s est tout à fait possible, et c’est assez simple à mettre en oeuvre puisque l’agent contient directement les pods techniques (load balancer et ingress) avec la bonne architecture détectée lors de l’installation.

Test des mini-pc ACEPC AK1/AK2/AK3

J’utilise des mini-pc pour héberger mes machines virtuelles de développement. je viens d’acquérir le ACEPC AK1 en version 4GB accompagné de 64 GB d’espace disque, et ca fait le job. Je fais même mes sessions de zwift, un système de sortie virtuelle à vélo.

Tester vos API swagger/openAPI avec Postman/Newman

Pouvoir tester ces endpoint d’API fait parti des impératifs avant tout déploiement d’une nouvelle version pour voir si une régression entre autre n’est pas survenue avec cette mise jour.

Optimiser vos CI gitlab avec les DAG

En bon gitops on cherche tous à optimiser les temps de déploiement de nos applications, et bien voici une nouveauté du CI de Gitlab qui va permettre d’y parvenir: les DAG pour Directed Acyclic Graphs.

Tester automatiquement vos API swagger/openAPI avec Dredd

Après vous avoir présenté une méthode utilisant postamn/newman je suis parti d’une autre solution et je suis tombé sur dredd qui est nettement plus simple à mettre en oeuvre. En effet il fonctionne sans aucune création de fichier puisqu’il se base sur le fichier de déclaration de l’API.

Stern - Afficher les logs de plusieurs pods kubernetes

A l’image de multitail qui permet d’afficher un ou plusieurs fichiers, stern va vous permettre de concateneur les logs de plusieurs containers en un seul flux.

Monitoring de cluster kubernetes avec prometheus et grafana

Sans monitoring difficile de comprendre ce qui se passe sur notre cluster kubernetes k3s. Parfois il peut arriver que certains de vos pods ne répondent plus ou votre cluster n’accepte plus aucune commande kubectl, mais comment comprendre ce qu’il s’est passé si vous n’avez de système de monitoring.

Centralisation des logs kubernetes avec loki/grafana

Centraliser ses logs sans devoir mettre une infra dédiée. C'est ce que propose loki, un outil développé par l'équipe de Grafana.

Scanner les vulnérabilités de vos containers

C’est un fait les conteneurs sont de plus en plus utilisés, car ils facilitent la création, et déploiements des applications. Mais attention, la sécurité des conteneurs est très importante car vous pouvez rapidement créer de graves failles dans votre SI

Configurer un serveur DNS sur une raspberry pi

Utiliser un raspberry pi comme serveur DNS est parfait.

Ansible - Utiliser MySQL comme inventaire dynamique

Et pourquoi pas utiliser Mysql comme source d'inventaire dynamique pour Ansible? Je vous montre comment le mettre en place au sein de votre infrastructure

Rundeck et Ansible pour gérer votre infrastructure

Nous n'avons pas tous les moyens d'utiliser Ansible Tower pour gérer notre infrastructure c'est pourquoi je me suis intéressé à Rundeck. Rundeck permet de lancer des tâches automatisées sur l'ensemble de l'infrastructure. Et pourquoi pas le coupler à Ansible via son plugin

Python - comment scheduler des taches répétitives avec APScheduler

Si vous cherchez à exécuter dans vos codes python des taches de manières répétitives ou à des heures fixes (cron) la bibliothèque APScheduler, pour Advanced Python Scheduler.

Un environnement de Dev Linux sous Windows 10 avec mutlipass, vagrant, kvm et ansible

Installer un environnement de développement Linux sur un poste Windows en toute simplicité et sans utiliser WSL (qui pose trop souvent des problèmes.). On utilise cette fois vagrant.

Tester ses roles Ansible avec KitchenCI et Serverspec

Ansible est un outil Devops largement utilisé et suivi par une très grande communauté. Pour valider mes roles j'utilisais jusqu'à peu molecule, mais dans une démarche de veille techno j'ai découvert Kitchen-CI et ca été une belle découverte.

Ansible - Maîtriser les inventaires statiques Ansible

Comment créer des bons inventaires Ansible, des inventaires statiques ou dynamiques, possédant des variables propres à chaque machine cible.

K3s - Deployer automatiquement sur k3s avec skaffold

Simplifier le déploiement en automatique de vos applications sur un cluster Kubernetes. C'est ce que propose skaffold.

Un environnement de Dev Linux sous Windows 10 avec vagrant et kvm

Installer un environnement de développement Linux sur un poste Windows en toute simplicité et sans utiliser WSL (qui pose trop souvent des problèmes.)

Ansible - Manipuler les données avec les filtres 1ère partie

Nous allons voir dans ce billet comment les filtrer, les modifier avec les filtres Jinja.

Introduction à vagrant

Vagrant, encore un outil de chez hashicorp, va vous permettre de mettre en place rapidement des environnements de développement. C'est un bel outil d'infrastructure as code à découvrir.

Tester vos playbooks Ansible avec testinfra

Le Développement par le test n'est pas réservé qu'aux roles, vous pouvez aussi l'implémenter sur le développement des playbooks. Ici je fais le choix de testinfra : plus simple à mettre en oeuvre que kitchen.

Ansible - Piloter vos containers pour compiler vos applications multi clients/environnements

Lors des builds d'applications ils m'arrivent parfois d'utiliser docker pour lancer plusieurs compilations en parallèle. Mais à chaque fois je cherche comment bien paramétrer le module docker_container pour qu'ils lancent bien les containers et qu'Ansible attendent la fin du traitement pour passer à la suite.

Automatiser le build de vos packages linux avec fpm

Comment automatiser la création des packages ? Fpm-cockery est peut être la solution que vous recherchiez.

Ajouter des disques à vagrant tournant sous libvirt

Comment utiliser vagrant dans un environnement de développement linux avec libvirt/kvm, ajouter des disques virtuels.

Introduction à l'infra as code avec Terraform

Terraform est un des meilleurs outils devops infrastructure as code. Je vous propose de le tester dans un environnement linux et l'hyperviseur kvm.

Configurer un DNS avec PowerDns

Plus simple à mettre en place que Bind, PowerDNS propose aussi une interface WEB. Tester c'est l'adopter!

Construire des images Oracle Linux KVM avec Packer

Hashicorp que je considère comme le meilleur développeur d'application devops infrastructure as code, nous permet avec Packer de construire facilement des images de machines virtuelles.

Paramétrer vos vm avec Packer

Avant de déployer sur vos datacenters il est bon de pouvoir vérifier en local que vous fichiers cloud-init sont corrects. Je vous propose ici de provisionner une vm kvm pour y lancer votre cloud-init.

Tips Mulitpass - Installez des VM Ubuntu en toute simplicité

Comment provisionner des machines virtuelles Ubuntu que ce soit sur Linux, Windows ou meme MacOS. Multipass est l'outil indispensable qui prend en charge Cloud-Init un outil infra as code IAC.

Introduction à hashicorp Vault

Vault, encore un outil de chez hashicorp, est un outil qui permet de créer, gérer et stocker vos secrets : Identifiant de connexion, clef de chiffrement, mot de passe ou encore certificats.

Ansible 3.0 - Quels changements

Qu'apporte comme changement la version 3.0 d'Ansible?

Développer et installer des collections Ansible

Introduit avec la version 2.9 d'Ansible les collections permettant de répondre à la problématique de distribution des contenus Ansible

Intégrer un certificat à un containeur Docker Windows

Installation d'un certificate à un container Docker Windows, qui au passage n'est pas aussi trivial que sur linux.

Ansible - Administrer des serveurs Windows

Et pourquoi pas utiliser Ansible Mysql pour gérer votre infrastructure Windows ?

Générer des documentations versionnées avec sphinx

Jusqu'a peu j'utilisais mkdocs pour générer les documentations, mais suite au besoin de pouvoir proposer plusieurs versions de la même documentation je me suis tourné vers Sphinx

Intrégration Continue avec GITLAB-CI/CD

GitLab CI est un système très puissant d’intégration continue, intégrant de nombreuses fonctionnalités, et évoluant rapidement. Je vous en propose une introduction

Gitlab - Créer des releases

Dans le cadre de l'automatisation du build et de l'intégration continue, je vous propose de voir comment générer des releases dans un CI GitLab.

Ansible - Manipuler les données avec les filtres 2ème partie

Nous allons continuer l'exploration des filtres Jinja.

Ansible - Ecrire ses propres plugins de filtres

Après une série d'articles sur les filtres intégrés à ansible, je vous propose un tutoriel pour développer vos propres filtres.

Ansible - Développer et utiliser les lookup

Les lookups Ansible permet de récupérer des données qui sont stockées sur le noeud ou est executé le playbook. Voyons comment les utiliser et en développer si besoin.

Ansible - Utilisation des blocks

Les blocs Ansible permettent de regrouper des taches mais aussi de gérer les erreurs à la manière des exceptions que l'on retrouve dans les langages de programmation.

Gitlab-ci - Template de pipelines

Gitlab propose la notion de templates pour éviter de répéter sans cesse le même code

Gitlab-ci - Utilisation des pipelines parent-enfant

Comment lier des pipelines entre différents projets gitlab? En utilisant le concept de pipeline parents-childs.

Ansible - Manipuler les données avec les filtres 3ème partie

Continuons l'exploration des filtres Jinja Ansible permettant de mnipuler des données.

Ansible - Sécuriser ses données avec Ansible Vault

Pour éviter de mettre à disposition des données sensibles dans vos playbooks, Ansible propose de les stocker dans un coffre-fort.

Gitlab - Utilisation de l'API Rest

Gérer vos projets, déclencher des pipelines, poser des tags, créer des release, autant d'actions réalisables via l'API de Gitlab

Construire des images Docker avec Ansible

Pourquoi pas utiliser un playbook Ansible pour construire une image docker?

Ansible - Comment utiliser les templates Jinja

Ansible - Créer des fichiers à partir de modèles avec les templates Jinja

Gitlab CI - Utilisation des règles de conditions

Conditionner le lancement de vos CI gitlab avec les rules

Les principaux modules Ansible pour gérer les packages

Comment gérer les gestionnaires de packages Linux que sont APT et YUM avec Ansible.

Ansible - Ajouter, remplacer des lignes dans des fichiers

Modifier le contenu de fichiers avec Ansible avec les modules LineInFile et BlockInFile

Ansible - Les modules service et service_facts

Gérer les services avec ansible: démarrer, modifier, controler, notifier, relancer, redémarrer autant d'actions réalisables avec les modules Ansible service et service_facts

Ansible-console - une console Ansible interactive bien utile

En plus de lancer des modules ansible de manière interactive sur un inventaire, cette console va vous permettre de debugger vos développements Ansible

Utilisation de DirectAccess depuis des VM Linux

DirectAccess donne du fil à retordre pour accéder aux ressources réseau depuis des VM Linux. Il existe des solutions.

Utilisation plusieurs versions de python avec Pyenv

DirectAccess donne du fil à retordre pour accéder aux ressources réseau depuis des VM Linux. Il existe des solutions, que l'on peut utiliser pour installer plusieurs versions d'Ansible

Les environnements Gitlab-CI

Ansible 4.0 - Les nouveautés

Qu'apporte comme changement la version 3.0 d'Ansible?
Alimenter un blog comme celui-ci est aussi passionnant que chronophage. En passant votre prochaine commande (n'importe quel autre article) au travers du lien produit ci-contre, je touche une petite commission sans que cela ne vous coûte plus cher. Cela ne me permet pas de gagner ma vie, mais de couvrir les frais inhérents au fonctionnement du site. Merci donc à vous!