Projet

Général

Profil

ClientSalt » Historique » Version 11

Klaas TJEBBES, 04/05/2018 11:54

1 1 Joël Cuissinat
h1. Utilisation de Salt pour remplacer le client Scribe
2 1 Joël Cuissinat
3 6 Joël Cuissinat
{{>toc}}
4 6 Joël Cuissinat
5 1 Joël Cuissinat
h2. Mise en place sur le module
6 1 Joël Cuissinat
7 1 Joël Cuissinat
Les paquets nécessaires sont déjà en place sur un module Seth ou un module Scribe car ils sont nécessaires à l'EAD3.
8 1 Joël Cuissinat
Dans le cadre de ScribeAD, on pourrait envisager d'installer le paquet *salt-master* dans le conteneur _addc_.
9 1 Joël Cuissinat
10 4 Joël Cuissinat
Le service salt-master doit être activé (même si l'EAD3 est désactivé !) et les minions (clients) doivent pouvoir accéder aux ports 4405 et 4406 du master.
11 4 Joël Cuissinat
L'extrait de dictionnaire Creole suivant force l'activation du service (utilisation d'une balise conteneur pour contourner #10956) et ouvre l'accès _eole-firewall_ :
12 1 Joël Cuissinat
<pre>
13 4 Joël Cuissinat
    <containers>
14 4 Joël Cuissinat
        <container name='fichier'>
15 4 Joël Cuissinat
            <service servicelist='websockify'>salt-master</service>
16 4 Joël Cuissinat
            <service_access service='salt-master'>
17 4 Joël Cuissinat
                <port>4505</port>
18 4 Joël Cuissinat
                <port>4506</port>
19 4 Joël Cuissinat
            </service_access>
20 4 Joël Cuissinat
        </container>
21 4 Joël Cuissinat
    </containers>
22 1 Joël Cuissinat
</pre>
23 1 Joël Cuissinat
24 1 Joël Cuissinat
h2. Mise en place sur les clients
25 1 Joël Cuissinat
26 1 Joël Cuissinat
Pour les premières maquettes, nous installons manuellement la dernière version de Salt-Minion à partir de l'exécutable officiel (Python3 AMD64) : https://docs.saltstack.com/en/latest/topics/installation/windows.html
27 2 Joël Cuissinat
28 2 Joël Cuissinat
À l'étape *Minion Settings* :
29 2 Joël Cuissinat
* sélectionner *Default Config*
30 2 Joël Cuissinat
* renseigner Master IP or Hostname avec l'IP du master (exemple : 10.1.3.5 pour etb1.scribe)
31 11 Klaas TJEBBES
* laisser *_hostname_* dans *_Minion Name:_* (c'est un mot clé, "hostname" ne sera pas renseigné dans la configuration et Minion utilisera "socket.getfqdn()" pour savoir quel nom renvoyer au Master)
32 3 Joël Cuissinat
33 3 Joël Cuissinat
NB : Le fichier de configuration du Minion est disponible dans @C:\salt\conf\minion@
34 5 Joël Cuissinat
35 5 Joël Cuissinat
h2. Enregistrement du minion
36 5 Joël Cuissinat
37 5 Joël Cuissinat
Si tout s'est bien passé, le minion apparaît dans la liste des clés à accepter :
38 5 Joël Cuissinat
<pre>
39 5 Joël Cuissinat
root@scribe:~# salt-key -L
40 5 Joël Cuissinat
Accepted Keys:
41 5 Joël Cuissinat
Denied Keys:
42 5 Joël Cuissinat
Unaccepted Keys:
43 5 Joël Cuissinat
PC-124784.ac-test.fr
44 5 Joël Cuissinat
Rejected Keys:
45 5 Joël Cuissinat
</pre>
46 5 Joël Cuissinat
47 5 Joël Cuissinat
Accepter la clé :
48 5 Joël Cuissinat
<pre>
49 5 Joël Cuissinat
root@scribe:~# salt-key -y -a PC-124784.ac-test.fr
50 5 Joël Cuissinat
The following keys are going to be accepted:
51 5 Joël Cuissinat
Unaccepted Keys:
52 5 Joël Cuissinat
PC-124784.ac-test.fr
53 5 Joël Cuissinat
Key for minion PC-124784.ac-test.fr accepted.
54 5 Joël Cuissinat
</pre>
55 5 Joël Cuissinat
56 7 Joël Cuissinat
Supprimer la clé :
57 7 Joël Cuissinat
<pre>
58 7 Joël Cuissinat
root@scribe:~# salt-key -d PC-124784.ac-test.fr
59 7 Joël Cuissinat
</pre>
60 7 Joël Cuissinat
61 7 Joël Cuissinat
Accepter toutes les clés :
62 7 Joël Cuissinat
<pre>
63 7 Joël Cuissinat
root@scribe:~# salt-key -A
64 7 Joël Cuissinat
</pre>
65 7 Joël Cuissinat
66 1 Joël Cuissinat
h2. Commandes basiques
67 8 Joël Cuissinat
68 8 Joël Cuissinat
h3. Test du Minion
69 9 Joël Cuissinat
70 8 Joël Cuissinat
<pre>
71 8 Joël Cuissinat
root@scribe:~# salt PC-124784.ac-test.fr  test.ping 
72 8 Joël Cuissinat
PC-124784.ac-test.fr:
73 8 Joël Cuissinat
    True
74 8 Joël Cuissinat
</pre>
75 8 Joël Cuissinat
76 8 Joël Cuissinat
h3. Redémarrage du PC
77 1 Joël Cuissinat
78 9 Joël Cuissinat
Redémarrage immédiat :
79 9 Joël Cuissinat
* <pre>
80 8 Joël Cuissinat
salt PC-124784.ac-test.fr system.reboot 0
81 8 Joël Cuissinat
</pre>
82 8 Joël Cuissinat
83 1 Joël Cuissinat
ou :
84 9 Joël Cuissinat
* <pre>
85 9 Joël Cuissinat
salt 'PC-12511.ac-test.fr' cmd.run 'shutdown /r /t 0 /f' 
86 9 Joël Cuissinat
</pre>
87 1 Joël Cuissinat
88 9 Joël Cuissinat
Redémarrage dans 5 secondes :
89 9 Joël Cuissinat
<pre>
90 9 Joël Cuissinat
salt 'FDGFDG.ac-test.fr' system.reboot 5 True
91 9 Joël Cuissinat
</pre>
92 1 Joël Cuissinat
93 10 Joël Cuissinat
_Par défaut, le timeout s'exprime en minutes. Il est possible de l'exprimer en seconde en passant le second paramètre à True :)_
94 8 Joël Cuissinat
95 8 Joël Cuissinat
h2. Gestion des clients Microsoft 
96 8 Joël Cuissinat
97 8 Joël Cuissinat
h3. Renommage du PC
98 8 Joël Cuissinat
99 8 Joël Cuissinat
<pre>
100 8 Joël Cuissinat
root@scribe:~# salt PC-124784.ac-test.fr system.set_computer_name PC-CDI1
101 8 Joël Cuissinat
PC-124784.ac-test.fr:
102 8 Joël Cuissinat
    ----------
103 8 Joël Cuissinat
    Computer Name:
104 8 Joël Cuissinat
        ----------
105 8 Joël Cuissinat
        Current:
106 8 Joël Cuissinat
            PC-125292
107 8 Joël Cuissinat
        Pending:
108 8 Joël Cuissinat
            PC-CDI1
109 8 Joël Cuissinat
</pre>
110 8 Joël Cuissinat
111 8 Joël Cuissinat
Le renommage ne sera effectif qu'après redémarrage du poste client.
112 8 Joël Cuissinat
113 8 Joël Cuissinat
114 8 Joël Cuissinat
h3. Commandes non fonctionnelles 
115 8 Joël Cuissinat
116 8 Joël Cuissinat
Les commandes suivantes ne fonctionne pas :
117 8 Joël Cuissinat
118 8 Joël Cuissinat
<pre>
119 8 Joël Cuissinat
salt 'PC-124784.ac-test.fr' ip.get_all_interfaces
120 8 Joël Cuissinat
</pre> 
121 1 Joël Cuissinat
<pre>
122 8 Joël Cuissinat
salt -G 'os_family:Windows' ip.get_all_interfaces
123 9 Joël Cuissinat
</pre>