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 SaltStack 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 SaltStack 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.

Procédure

  1. Vérifiez que le dossier etc/salt/cloud.deploy.d sur le master Salt contient ces fichiers.
    Liste des fichiers requis dans le répertoire cloud.deploy.d sur un master Salt

    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.
  2. Si votre environnement est isolé, procédez comme suit :
    1. Ouvrez le fichier de configuration RaaS dans /etc/raas/raas.
    2. Ajoutez ces lignes au fichier de configuration :
      minion_deployment:
        airgap_install: true
    3. Redémarrez le service RaaS à l'aide de la commande service raas restart :
  3. 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.
  4. Assurez-vous que le nom de domaine complet est configuré pour le master Salt en exécutant la commande ping [FQDN].
  5. Pour ouvrir Python, exécutez python3.
  6. 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 SaltStack Config. Vous pouvez vérifier que la tâche est en cours d'exécution dans l'onglet Activité de l'interface utilisateur de SaltStack Config.

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.