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 :
    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 vRA Cloud Assembly 8.10.2 ou version ultérieure, ajoutez la propriété additionlAuthParams à la ressource Salt dans le modèle de cloud. Pour plus d'informations, reportez-vous à la section Ajouter la ressource SaltStack Config au modèle de cloud.
      additionalAuthParams:
        profile:
          tmp_dir: /var/cache/salt
    • Si vous utilisez vRA Cloud Assembly version 8.10.1 ou 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 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.

    Note : Si vous déployez un minion à partir de vRA, cet appel d’API est effectué par vRA.

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.