Het doel van dit gebruiksscenario is om de Salt-minionservice programmatisch te installeren op een minion door een Windows-VM te verbinden met uw Automation Config-omgeving.

Voorwaarden

Voordat u een minion kunt implementeren met behulp van de API in een Windows-omgeving, moet u het volgende doen:
  • U moet een Automation Config-omgeving hebben waarin RaaS is geïmplementeerd.
  • Er moet een Salt-master en Salt-minion zijn geïnstalleerd.
  • Er moet een Windows-VM zijn geïmplementeerd.

Procedure

  1. Controleer of de map etc/salt/cloud.deploy.d op de Salt-master deze bestanden bevat.
    Een lijst met de vereiste bestanden in de directory cloud.deploy.d op een Salt-master

    Als u de bestanden niet ziet, neemt u contact op met de helpdesk.

    Opmerking: De xxxx in de bestandsnaam, bijvoorbeeld salt-xxxx-windows--x86.tar.gz, moet overeenkomen met de versie van de Salt-master. Om de versie van de Salt-master te controleren, voert u het commando salt-master -V op de Salt-master uit.
  2. Als uw omgeving een luchtmuur heeft, voltooit u deze stappen:
    1. Open het RaaS-configuratiebestand in /etc/raas/raas.
    2. Voeg deze regels toe aan het configuratiebestand:
      minion_deployment:
        airgap_install: true
    3. Herstart de RaaS-service met het commando service raas restart.
    Opmerking: Als u een geharde Linux VM gebruikt, zijn er bepaalde situaties waarin scripts niet kunnen worden uitgevoerd vanuit /tmp op de VM.
    • Als u Automation Assembler versie 8.10.2 of hoger gebruikt: voeg de eigenschap additionalAuthParams toe aan de Automation Config-resource in de cloudsjabloon. Zie De Automation Config-resource toevoegen aan de cloudsjabloon voor meer informatie.
      additionalAuthParams:
        profile:
          tmp_dir: /var/cache/salt
    • Als u Automation Assembler versie 8.10.1 of lager gebruikt: wijzig het bestand /etc/salt/cloud.providers.d/ssc_saltify_provider.conf met
      ssc_saltify_provider:
        driver: saltify
        tmp_dir: /var/cache/salt
      Als dit configuratiebestand niet bestaat, maakt u het en voegt u de bovenstaande instelling toe.
  3. Installeer de volgende bibliotheken op de terminal van de Salt-master door de commando's pip3 install pypsexec smbprotocol en pip3 install impacket --ignore-installed uit te voeren.
    Opmerking: Deze stap is niet vereist wanneer u LCM gebruikt om de Automation Config-appliance te installeren die de Salt-master bevat. Deze stap is echter nodig wanneer u de Salt-master handmatig installeert.
  4. Om de FQDN van de Salt-master te controleren, voert u het commando salt saltmaster grains.get fqdn op de terminal van de Salt-master uit.
  5. Controleer op uw Windows-machine of het bestand C: \Windows\System32\drivers\etc\hosts is geconfigureerd met het IP-adres en de FQDN van de Salt-master.
  6. Open PowerShell op de Windows-machine en voer het volgende commando uit om de vereiste poorten te openen:
    Poort Commando's (Commands)
    445 New-NetFirewallRule -Name "SMB445" - DisplayName "SMB445" -Protocol TCP - LocalPort 445

    Enable-Psremoting
  7. Gebruik dit commando op de terminal van de Salt-master om de poorten 4505 en 4506 te openen op de Salt-master:
    Poort Commando's (Commands)
    4505-4506 netsh advfirewall firewall add rule name="Salt" dir=in action=allow protocol=TCP localport=4505-4506

    Zie Automation Config begrijpen voor meer informatie over het Salt-communicatiemodel.

  8. Zorg ervoor dat de FQDN is geconfigureerd voor de Salt-master door het commando ping [FQDN] uit te voeren op uw Windows-machine.
    De resultaten van het uitvoeren van het commando ping FQDN op een Windows-machine
  9. Maak deze API-aanroep met behulp van een SSEAPI-client met de juiste verificatiegegevens voor uw omgeving.
    Opmerking: Als u Automation Config met VMware Aria Automation heeft geïntegreerd, maakt de service VMware Aria Automation deze API-aanroep voor u wanneer u minions implementeert met behulp van een cloudsjabloon.
    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>',
    
    )
    De uitvoering van de functie deploy.minion wordt gestart in uw Automation Config-omgeving. U kunt controleren of de opdracht wordt uitgevoerd op het tabblad Activiteit van de Automation Config-gebruikersinterface of door het commando python3 uit te voeren, gevolgd door client.api.minions.get_minion_deployments().

resultaten

De minion is met succes geïmplementeerd en geconfigureerd vanuit uw Windows-omgeving en API-aanroep.

Volgende stappen

Controleer of de minion is geïmplementeerd door het commando test.ping op de minion uit te voeren met behulp van het venster Opdracht uitvoeren of door de commando's \* test.ping en \* test.versions uit te voeren in het commandovenster van de Salt-master.