JDB - Migration hébergement 2021 : Différence entre versions

De PedroWiki
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

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

Cf la documentation 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.