Projet

Général

Profil

ClientSalt » Historique » Version 12

Klaas TJEBBES, 04/05/2018 11:58

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 12 Klaas TJEBBES
* Le Minion apparaît dans la liste des clés à accepter :
38 12 Klaas TJEBBES
39 5 Joël Cuissinat
<pre>
40 5 Joël Cuissinat
root@scribe:~# salt-key -L
41 5 Joël Cuissinat
Accepted Keys:
42 5 Joël Cuissinat
Denied Keys:
43 5 Joël Cuissinat
Unaccepted Keys:
44 5 Joël Cuissinat
PC-124784.ac-test.fr
45 5 Joël Cuissinat
Rejected Keys:
46 1 Joël Cuissinat
</pre>
47 1 Joël Cuissinat
48 12 Klaas TJEBBES
* Accepter la clé :
49 12 Klaas TJEBBES
50 5 Joël Cuissinat
<pre>
51 5 Joël Cuissinat
root@scribe:~# salt-key -y -a PC-124784.ac-test.fr
52 5 Joël Cuissinat
The following keys are going to be accepted:
53 5 Joël Cuissinat
Unaccepted Keys:
54 5 Joël Cuissinat
PC-124784.ac-test.fr
55 1 Joël Cuissinat
Key for minion PC-124784.ac-test.fr accepted.
56 1 Joël Cuissinat
</pre>
57 5 Joël Cuissinat
58 12 Klaas TJEBBES
* Supprimer la clé :
59 12 Klaas TJEBBES
60 1 Joël Cuissinat
<pre>
61 1 Joël Cuissinat
root@scribe:~# salt-key -d PC-124784.ac-test.fr
62 7 Joël Cuissinat
</pre>
63 7 Joël Cuissinat
64 12 Klaas TJEBBES
* Accepter toutes les clés :
65 12 Klaas TJEBBES
66 7 Joël Cuissinat
<pre>
67 7 Joël Cuissinat
root@scribe:~# salt-key -A
68 7 Joël Cuissinat
</pre>
69 7 Joël Cuissinat
70 1 Joël Cuissinat
h2. Commandes basiques
71 8 Joël Cuissinat
72 8 Joël Cuissinat
h3. Test du Minion
73 9 Joël Cuissinat
74 8 Joël Cuissinat
<pre>
75 8 Joël Cuissinat
root@scribe:~# salt PC-124784.ac-test.fr  test.ping 
76 1 Joël Cuissinat
PC-124784.ac-test.fr:
77 1 Joël Cuissinat
    True
78 1 Joël Cuissinat
</pre>
79 1 Joël Cuissinat
80 12 Klaas TJEBBES
h3. Changer le nom du PC
81 12 Klaas TJEBBES
82 12 Klaas TJEBBES
<pre>
83 12 Klaas TJEBBES
salt 'PC-124784.ac-test.fr' system.set_computer_name 'DavesComputer'
84 12 Klaas TJEBBES
</pre>
85 12 Klaas TJEBBES
86 1 Joël Cuissinat
h3. Redémarrage du PC
87 8 Joël Cuissinat
88 12 Klaas TJEBBES
* Immédiat
89 12 Klaas TJEBBES
90 12 Klaas TJEBBES
<pre>
91 1 Joël Cuissinat
salt PC-124784.ac-test.fr system.reboot 0
92 9 Joël Cuissinat
</pre>
93 9 Joël Cuissinat
94 12 Klaas TJEBBES
<pre>
95 1 Joël Cuissinat
salt 'PC-12511.ac-test.fr' cmd.run 'shutdown /r /t 0 /f' 
96 9 Joël Cuissinat
</pre>
97 9 Joël Cuissinat
98 12 Klaas TJEBBES
* 5 secondes
99 9 Joël Cuissinat
<pre>
100 1 Joël Cuissinat
salt 'FDGFDG.ac-test.fr' system.reboot 5 True
101 10 Joël Cuissinat
</pre>
102 8 Joël Cuissinat
103 8 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 :)_
104 8 Joël Cuissinat
105 8 Joël Cuissinat
h3. Renommage du PC
106 8 Joël Cuissinat
107 8 Joël Cuissinat
<pre>
108 8 Joël Cuissinat
root@scribe:~# salt PC-124784.ac-test.fr system.set_computer_name PC-CDI1
109 8 Joël Cuissinat
PC-124784.ac-test.fr:
110 8 Joël Cuissinat
    ----------
111 8 Joël Cuissinat
    Computer Name:
112 8 Joël Cuissinat
        ----------
113 8 Joël Cuissinat
        Current:
114 8 Joël Cuissinat
            PC-125292
115 8 Joël Cuissinat
        Pending:
116 8 Joël Cuissinat
            PC-CDI1
117 8 Joël Cuissinat
</pre>
118 8 Joël Cuissinat
119 8 Joël Cuissinat
Le renommage ne sera effectif qu'après redémarrage du poste client.
120 8 Joël Cuissinat
121 8 Joël Cuissinat
122 8 Joël Cuissinat
h3. Commandes non fonctionnelles 
123 8 Joël Cuissinat
124 8 Joël Cuissinat
Les commandes suivantes ne fonctionne pas :
125 8 Joël Cuissinat
126 8 Joël Cuissinat
<pre>
127 8 Joël Cuissinat
salt 'PC-124784.ac-test.fr' ip.get_all_interfaces
128 8 Joël Cuissinat
</pre> 
129 1 Joël Cuissinat
<pre>
130 8 Joël Cuissinat
salt -G 'os_family:Windows' ip.get_all_interfaces
131 9 Joël Cuissinat
</pre>