L'objectif de ce cas d'utilisation est d'installer le service de minion Salt sur un minion par programmation en connectant une machine virtuelle Linux à votre environnement Automation Config.
Conditions préalables
Avant de pouvoir déployer un minion à l'aide de l'API dans un environnement Linux :
- Vous devez disposer d'un environnement Automation Config avec RaaS déployé.
- Vous devez disposer d'un master Salt et d'un minion Salt installés.
- Vous devez disposer d'une machine virtuelle Linux déployée.
- Assurez-vous que le port 22 n'est pas protégé par le pare-feu et disponible pour une utilisation par les minions.
Procédure
- Vérifiez que le dossier etc/salt/cloud.deploy.d contient une collection de ces fichiers. Ces fichiers doivent correspondre à la version de distribution du système d'exécution requise ainsi qu'à la version de Salt requise par votre système.
Si vous ne voyez pas les fichiers, contactez le support.
Note : Le xxxx dans le nom de fichier (par exemple, salt-xxxx-readhat-8-x86_64-amd64.tar.gz), doit correspondre à la version du master Salt. Pour vérifier la version du master Salt, exécutez la commande
salt-master -V sur le master Salt.
- Si votre environnement est isolé, procédez comme suit :
- Ouvrez le fichier de configuration RaaS dans
/etc/raas/raas
.
- Ajoutez ces lignes au fichier de configuration :
minion_deployment:
airgap_install: true
- Redémarrez le service RaaS à l'aide de la commande
service raas restart
:
Note : Si vous utilisez une machine virtuelle Linux durcie, dans certaines situations, les scripts ne peuvent pas être exécutés à partir de la commande
/tmp
sur la machine virtuelle.
- Pour identifier le nom de domaine complet du master Salt, exécutez la commande
salt saltmaster grains.get fqdn
dans le terminal du master Salt.
- Assurez-vous que le nom de domaine complet est configuré pour le master Salt en exécutant la commande ping [FQDN].
- Pour ouvrir Python, exécutez
python3
.
- Effectuez cet appel d'API à l'aide d'un client SSEAPI avec les informations d'identification appropriées pour votre environnement :
from sseapiclient import APIClient
client = APIClient('https://<master-ip>', '<ssc-username>', '<sscpassword>', ssl_validate_cert=False)
client.api.minions.deploy_minion(
master_id = '<master-id>',
host_name_ip = '<prospective minion’s ip>',
os = ‘<prospective minion’s os>’,
minion_id = '<desired-minion-name-for-prospective-minion>',
username = '<ssh-username-for-prospective-minion>',
password = '<ssh-password-for-prospective-minion>',
)
La fonction deploy.minion
commence à s'exécuter dans votre environnement Automation Config. Vous pouvez vérifier que la tâche est en cours d'exécution dans l'onglet Activité de l'interface utilisateur d'Automation Config.
Note : Si vous déployez un minion à partir d'Automation Assembler, cet appel d'API est effectué par Automation Assembler.
Résultats
Le minion a été déployé et configuré à partir de votre environnement Linux et de l'appel d'API.
Que faire ensuite
Vérifiez que le minion a été déployé avec succès en exécutant une commande
test.ping sur le minion à l'aide de la fenêtre
Exécuter la commande ou en exécutant les commandes
\* test.ping et
\* test.versions dans la fenêtre de commande du master Salt.