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

  1. 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.
    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 :
    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.
    • Si vous utilisez Automation Assembler 8.10.2 ou version ultérieure, ajoutez la propriété additionalAuthParams à la ressource Automation Config dans le modèle de cloud. Pour plus d'informations, reportez-vous à la section Ajouter la ressource Automation Config au modèle de cloud.
      additionalAuthParams:
        profile:
          tmp_dir: /var/cache/salt
    • Si vous utilisez Automation Assembler 8.10.1 ou version antérieure : modifiez le fichier /etc/salt/cloud.providers.d/ssc_saltify_provider.conf avec
      ssc_saltify_provider:
        driver: saltify
        tmp_dir: /var/cache/salt
      Si ce fichier de configuration n'existe pas, créez-le et ajoutez le paramètre ci-dessus.
  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].
    Résultats de l'exécution de la commande ping FQDN sur une machine Linux
  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 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.