JDB - Migration hébergement 2021 : Différence entre versions
Ligne 49 : | Ligne 49 : | ||
'''NB:''' je n'utilise pour l'instant que le repository local, on ne push pas vers un serveur Gitlab distant ou sur Github. | '''NB:''' je n'utilise pour l'instant que le repository local, on ne push pas vers un serveur Gitlab distant ou sur Github. | ||
+ | |||
+ | Exclusions de fichier par [https://perhonen.fr/blog/2015/03/exclure-fichiers-depot-git-gitignore-1476 gitignore]: | ||
+ | |||
+ | <pre> | ||
+ | git config --global core.excludesfile ./.gitignore | ||
+ | </pre> | ||
+ | |||
+ | '''=> à priori sans effet car valeur par défaut contrairement au wiki ci dessus.''' | ||
+ | |||
+ | <pre> | ||
+ | vi .gitignore (ignorer /tmp) | ||
+ | git status | ||
+ | </pre> | ||
+ | |||
+ | Contenu du gitignore (''.git/info/exclude''): | ||
+ | |||
+ | <pre> | ||
+ | # git ls-files --others --exclude-from=.git/info/exclude | ||
+ | # Lines that start with '#' are comments. | ||
+ | # For a project mostly in C, the following would be a good set of | ||
+ | # exclude patterns (uncomment them if you want to use them): | ||
+ | # *.[oa] | ||
+ | # *~ | ||
+ | /tmp | ||
+ | /old | ||
+ | </pre> | ||
=== Terraform === | === Terraform === | ||
Ligne 91 : | Ligne 117 : | ||
Cf [https://www.scaleway.com/fr/terraform/ cette documentation officielle Scaleway]. | Cf [https://www.scaleway.com/fr/terraform/ cette documentation officielle Scaleway]. | ||
+ | = Reste à faire = | ||
+ | * Stockage des états terraform pour permettre le partage avec un autre admin (ex: bucket S3). | ||
+ | * Crédentiels Terraform à passer en variable d'environnement pour ne plus les écrire explicitement dans le code Terraform. | ||
[[Category:Journal]] | [[Category:Journal]] |
Version du 26 août 2021 à 12:48
Sommaire
Introduction
Objectif de la migration:
- on reste sur le même provider Cloud.
- on monte 2 nouveaux serveurs en Debian 10.
- on contrôle les déploiements par Terraform.
- on contrôle la gestion fine des serveurs par Ansible.
Journal de bord de la migration
Préparation du poste
WSL
La migration s'opère depuis un poste Windows 10.
On maximise l'utilisation de WSL pour plus de confort.
Cf la documentation officielle de Microsoft.
Les packages ou applications à installer:
- Windows Terminal.
- WSL Debian.
En complément, mais non essentiel pour le projet, activation de WSL2.
VSCode
Pour plus de confort, on installe et on utilisera Visual Studio Code.
Git
Dans la distribution WSL Debian:
sudo apt-get install git
Initialisation de Git en suivant ce super tuto Renater:
cd /mnt/d/Jules/Tech/Git/ git config --global color.diff auto git config --global color.status auto git config --global color.branch auto cd scaleway git init
NB: je n'utilise pour l'instant que le repository local, on ne push pas vers un serveur Gitlab distant ou sur Github.
Exclusions de fichier par gitignore:
git config --global core.excludesfile ./.gitignore
=> à priori sans effet car valeur par défaut contrairement au wiki ci dessus.
vi .gitignore (ignorer /tmp) git status
Contenu du gitignore (.git/info/exclude):
# git ls-files --others --exclude-from=.git/info/exclude # Lines that start with '#' are comments. # For a project mostly in C, the following would be a good set of # exclude patterns (uncomment them if you want to use them): # *.[oa] # *~ /tmp /old
Terraform
Dans la distribution WSL Debian:
sudo apt-get update sudo apt-get install curl sudo apt-get install gnupg1 curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add - sudo apt-get install lsb-release
Cf cette doc pour le troubleshooting lors de l'ajout du repository.
sudo apt-get install software-properties-common sudo apt-add-repository "deb [arch=$(dpkg --print-architecture)] https://apt.releases.hashicorp.com $(lsb_release -cs) main" sudo apt install terraform
Ansible
Configuration Scaleway
Suppression des clés RSA dans les "Identifiants" du compte Scaleway.
Vérification de la fingerprint de ma clé publique:
jules@DESKTOP-QQG9015:~$ ssh-keygen -l -E md5 -f ./id_rsa_jules.pub 2048 MD5:bc:c2:f5:6f:a9:03:97:fb:fc:65:3f:f0:de:d1:31:24 jules@DESKTOP-QQG9015 (RSA)
Suppression des anciennes clés d'API et re création d'une paire clé/clé secrète.
Configurations Terraform
Cf cette documentation officielle Scaleway.
Reste à faire
- Stockage des états terraform pour permettre le partage avec un autre admin (ex: bucket S3).
- Crédentiels Terraform à passer en variable d'environnement pour ne plus les écrire explicitement dans le code Terraform.