Projet

Général

Profil

MigrationAD » Historique » Version 11

Joël Cuissinat, 15/06/2018 14:27

1 1 Joël Cuissinat
h1. Migration de ScribeNT vers ScribeAD
2 1 Joël Cuissinat
3 11 Joël Cuissinat
{{>toc}}
4 11 Joël Cuissinat
5 2 Joël Cuissinat
h2. Scénarios issus de la réunion du 05/06/2018 (#24138)
6 1 Joël Cuissinat
7 1 Joël Cuissinat
Situation initiale : ScribeNT + postes intégrés + client Scribe
8 1 Joël Cuissinat
Cible : ScribeAD + postes intégrés + client Salt
9 1 Joël Cuissinat
10 1 Joël Cuissinat
h3. Cinématique 1
11 1 Joël Cuissinat
12 1 Joël Cuissinat
* transformer le module Scribe en ScribeAD
13 1 Joël Cuissinat
* déployer les minions via le client Scribe (sans le domaine NT)
14 1 Joël Cuissinat
* nettoyer les postes et les intégrer au domaine AD
15 1 Joël Cuissinat
16 1 Joël Cuissinat
17 1 Joël Cuissinat
h3. Cinématique 2 (plan B)
18 1 Joël Cuissinat
19 1 Joël Cuissinat
* déployer les minions via le client Scribe
20 1 Joël Cuissinat
* transformer le module Scribe en ScribeAD
21 1 Joël Cuissinat
* nettoyer les postes et les intégrer au domaine AD
22 1 Joël Cuissinat
23 1 Joël Cuissinat
24 1 Joël Cuissinat
h3. Points d'attention
25 1 Joël Cuissinat
26 1 Joël Cuissinat
* Conflit entre Salt-master et EAD3
27 1 Joël Cuissinat
* Gestion du déployement ou de l'acceptation des clés des minions
28 1 Joël Cuissinat
* Action instantanée et/ou différée (au démarrage des postes)
29 1 Joël Cuissinat
* Points d'étape : afficher le nombre/la liste des postes et leur état de migration
30 1 Joël Cuissinat
* vérifier/forcer la configuration DNS des clients avant intégration
31 1 Joël Cuissinat
* prévoir de fournir un script/programme pour les futures installations
32 3 Joël Cuissinat
33 9 Joël Cuissinat
h2. Déploiement du Minion à l'aide du client Scribe
34 3 Joël Cuissinat
35 3 Joël Cuissinat
L'utilisation du client Scribe permet d'envisager plusieurs pistes différentes.
36 3 Joël Cuissinat
37 1 Joël Cuissinat
La problématique de la diffusion/du téléchargement de l'installeur est au moins aussi complexe que celle de son exécution.
38 3 Joël Cuissinat
39 8 Joël Cuissinat
h3. Exécution de l'installeur à l'aide du client Scribe
40 3 Joël Cuissinat
41 8 Joël Cuissinat
Du fait de l'utilisation du partage "netlogon", le test suivant correspondrait plutôt au plan B...
42 3 Joël Cuissinat
43 3 Joël Cuissinat
<pre>
44 3 Joël Cuissinat
root@scribe:~# wget https://repo.saltstack.com/windows/Salt-Minion-2018.3.0-Py3-AMD64-Setup.exe -O /home/netlogon/minion.exe
45 3 Joël Cuissinat
root@scribe:~# /usr/share/eole/controlevnc/cliscribe.py -e '\\192.168.0.26\netlogon\minion.exe /S /master=192.168.0.26' 192.168.0.183
46 3 Joël Cuissinat
</pre>
47 3 Joël Cuissinat
48 3 Joël Cuissinat
=> accès refusé car le partage n'est pas accessible dans l'environnement Système !
49 3 Joël Cuissinat
50 1 Joël Cuissinat
Après copie *manuelle* du programme d'installation dans C:\, la commande suivante permet bien d'installer le Minion :
51 3 Joël Cuissinat
52 3 Joël Cuissinat
<pre>
53 3 Joël Cuissinat
/usr/share/eole/controlevnc/cliscribe.py -e 'C:\minion.exe /S /master=192.168.0.26' 192.168.0.183
54 3 Joël Cuissinat
</pre>
55 3 Joël Cuissinat
56 8 Joël Cuissinat
h3. Utilisation du serveur web du client Scribe
57 4 Joël Cuissinat
58 4 Joël Cuissinat
Il est possible d'utiliser le serveur web du client Scribe qui publie les fichiers présents dans le dossier */home/client_scribe* en HTTP sur le port 8790.
59 6 Joël Cuissinat
60 4 Joël Cuissinat
<pre>
61 4 Joël Cuissinat
wget https://repo.saltstack.com/windows/Salt-Minion-2018.3.0-Py3-AMD64-Setup.exe -O /home/client_scribe
62 4 Joël Cuissinat
</pre>
63 1 Joël Cuissinat
64 6 Joël Cuissinat
Dans ce test, on télécharge puis exécute le script PS @install-minion.ps1@ qui va lui même télécharger et exécuter l'installeur du minion :
65 6 Joël Cuissinat
66 1 Joël Cuissinat
<pre>
67 6 Joël Cuissinat
cat /home/client_scribe/install-minion.ps1
68 4 Joël Cuissinat
Set-ExecutionPolicy Bypass -Scope Process -Force
69 4 Joël Cuissinat
Set-Location $env:TEMP
70 4 Joël Cuissinat
Set-PSDebug -Trace 1
71 4 Joël Cuissinat
((new-object net.webclient).DownloadFile('http://scribe:8790/minion.exe', 'minion.exe'))
72 4 Joël Cuissinat
Get-ChildeItem $env:TEMP
73 4 Joël Cuissinat
minion.exe /S /master=192.168.0.26
74 4 Joël Cuissinat
</pre>
75 4 Joël Cuissinat
76 7 Joël Cuissinat
Commande à exécuter sous Windows :
77 4 Joël Cuissinat
<pre>
78 5 Joël Cuissinat
%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('http://scribe:8790/install-minion.ps1'))
79 1 Joël Cuissinat
</pre>
80 1 Joël Cuissinat
81 7 Joël Cuissinat
Commande à exécuter sur le Scribe :
82 7 Joël Cuissinat
<pre>
83 1 Joël Cuissinat
cmd="c:\windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command \"iex ((New-Object System.Net.WebClient).DownloadString('http://scribe:8790/install-minion.ps1'))\""
84 7 Joël Cuissinat
/usr/share/eole/controlevnc/cliscribe.py -e "$cmd"  192.168.0.183
85 7 Joël Cuissinat
</pre>
86 7 Joël Cuissinat
87 8 Joël Cuissinat
h3. Suppression du script PowerShell intermédiaire en le remplaçant par une chaîne en base64
88 7 Joël Cuissinat
89 7 Joël Cuissinat
Il est possible d'envoyer la ou les commandes PS encodées en base64 à l'aide de l'option @-EncodedCommand@
90 1 Joël Cuissinat
91 10 Joël Cuissinat
ATTENTION : Il faut au préalable que le fichier créé sous Linux soit dans un "bon" format !
92 10 Joël Cuissinat
93 10 Joël Cuissinat
<pre>
94 10 Joël Cuissinat
iconv -f UTF-8 -t UTF-16LE <install-minion.ps1 >install-minion.ps2
95 10 Joël Cuissinat
</pre>
96 10 Joël Cuissinat
97 10 Joël Cuissinat
98 10 Joël Cuissinat
99 8 Joël Cuissinat
100 9 Joël Cuissinat
h2. Autres pistes
101 3 Joël Cuissinat
102 3 Joël Cuissinat
h3. Installeur du client Scribe
103 3 Joël Cuissinat
104 3 Joël Cuissinat
Créer une nouvelle version du client Scribe embarquant l'installeur Salt Minion et mettre à jour le numéro de version officielle.
105 3 Joël Cuissinat
La nouvelle version du client (et donc salt) sera automatiquement installée grâce au service de maj du client.
106 3 Joël Cuissinat
107 3 Joël Cuissinat
h3. psexec
108 3 Joël Cuissinat
109 3 Joël Cuissinat
"psexec":http://www.tutos.eu/?n=7963 pourrait être utilisé pour exécuter l'installation du minion à distance depuis une station.