Loading search data...

Ma configuration DEVOPS 2022

Publié le : 10 février 2022 | Mis à jour le : 28 septembre 2022

logo devops

Devant refaire son installation, je profite de l’occasion pour vous partager ma configuration devops 2022.

Devops tools 2022

On retrouve dessus les outils devops ce que j’ai pu vous faire découvrir ces derniers temps. Au menu :

J’ai fait le choix d’utiliser comme base la dernière distribution Ubuntu disponible, la 2204.

MAJ : Les distributions Fedora et ArchLinux sont prise en charge. D’autres vont suivre.

Installation de la configuration Devops 2022

J’ai fait le choix d’utiliser hyper-v, car pour moi, c’est l'hyperviseur qui offre les meilleures performances sur une machine windows.

Voici le Vagrantfile. Vous pouvez le télécharger à cette adresse :

# -*- mode: ruby -*-
# vi: set ft=ruby :

$distrib = ENV['DISTRIB'] || 'ubuntu2204'
$script_name = "scripts/%s.sh" % $distrib

Vagrant.configure("2") do |config|
    config.vm.box = "generic/%s" % $distrib
    config.vm.define 'devbox' do |node|
        node.vm.hostname = 'devbox'
    end
    config.vm.provider "hyperv" do |hyperv|
        hyperv.vmname = "devbox"
        hyperv.cpus = 6
        hyperv.memory = 4096
        hyperv.maxmemory = 8192
        # allow nested virtualization
        hyperv.enable_virtualization_extensions = true
        hyperv.linked_clone = true
    end
    config.vm.provider "libvirt" do |libvirt|
        libvirt.memory = 4096
        libvirt.cpus = 6
    end
  config.vm.provision "shell", path: $script_name
  config.vm.provision "shell", path: "scripts/install-ansible.sh", privileged: false
  config.vm.synced_folder ".", "/vagrant", disabled: true
end

Quelques explications :

  • J’utilise une box generic qui fournit une image hyper-v.
  • La configuration retenue est de 6 CPU et 4096Mo de mémoire avec un max fixé 8192Mo. Vous pouvez adapter ces valeurs à votre configuration.
  • J’active directement la virtualisation imbriquée afin de pouvoir utiliser Qemu.
  • Je joue deux scripts :
    • un avec le compte root qui installe git et python3 pour pouvoir installer ansible pour installer le reste.
    • un second avec le compte vagrant pour lancer toutes les installations avec ansible.

Pour lancer l’installation :

  • Il faut installer vagrant sur le poste Windows :
choco install vagrant
  • Il faut activer hyper-v. Dans une fenêtre PowerShell avec les droits admin :
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
  • Ensuite, il faut copier le Vagrantfile et depuis une fenêtre PowerShell :
vagrant up --provider hyperv

Pour installer Fedora 36 il suffit d’ajouter la variable d’environnement :

DISTRIB=fedora36 vagrant up --provider hyperv

Une fois la VM provisionnée je vous conseille d’installer Vscode pour y accéder avec les extensions Remote Dev de Microsoft.

choco install vscode

Pour se connecter il faut récupérer les paramètres de connexion :

vagrant ssh-config

Host devboxes
  HostName 172.22.32.166
  User vagrant
  Port 22
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile D:/Projets/arch/.vagrant/machines/devboxes/hyperv/private_key
  IdentitiesOnly yes
  LogLevel FATAL

Recopier ces lignes en remplaçant l’adresse IP par devboxes.mshome.net dans le fichier ~/.ssh/config dans les paramètres de vscode (image ci-dessous). Cela vous évitera de devoir changer cette adresse à chaque démarrage de votre machine windows. Plus d’infos sur les extensions remote development.

ssh config devops 2022

Installation sur une machine existante

Pour le moment je gère les distributions :

  • Ubuntu 22.04
  • Fedora 36
  • Arch Linux

Si vous avez la chance de pouvoir utiliser un poste Linux directement (quelle chance), alors il suffit de cloner le projet et d'adapter le playbook (chgt chemin user) à votre besoin :

Installation sur Ubuntu 22.04

apt update -y
apt dist-upgrade -y
apt install python3-pip git -y
pip install ansible
git clone https://github.com/stephrobert/my-vagrant-box.git
cd my-vagrant-box
ansible-playbook provision.yml

Installation sur Fedora 36

dnf update -y
dnf install python3-pip git -y
pip install ansible
git clone https://github.com/stephrobert/my-vagrant-box.git
cd my-vagrant-box
ansible-playbook provision.yml

Installation sur Arch Linux

pacman -S --noconfirm python-pip git -y
pip install ansible
git clone https://github.com/stephrobert/my-vagrant-box.git
cd my-vagrant-box
ansible-playbook provision.yml

Erreurs connues

En cas de message d’erreur avec la configuration powerline10k il suffit de déplacer ce bloc à la fin du fichier .zshrc :

if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
  source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh

Conclusion

Ce n’est pas encore parfait puisque non générique, mais je vais y travailler avec la création de rôles voir d’un module asdf.

Laissez-moi en commentaires vos remarques !!


Si vous avez apprécié cet article de blog, vous pouvez m'encourager à produire plus de contenu en m'offrant un café sur   Ko-Fi  . Vous pouvez aussi passer votre prochaine commande sur amazon, sans que cela ne nous coûte plus cher, via   ce lien  . Vous pouvez aussi partager le lien sur twitter ou linkedin via les boutons ci-dessous. Je vous remercie de votre soutien


Mots clés :

devops ansible tutorials

Autres Articles


Commentaires: