Het doel van dit gebruiksscenario is om de Salt-minionservice programmatisch te installeren op een minion door een Windows-VM te verbinden met uw SaltStack 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 SaltStack 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
- Controleer of de map etc/salt/cloud.deploy.d op de Salt-master deze bestanden bevat.
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.
- 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.
- 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.
- 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.
- Open PowerShell op de Windows-machine en voer dit 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 |
- 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 SaltStack begrijpen voor meer informatie over het Salt-communicatiemodel.
- Zorg ervoor dat de FQDN is geconfigureerd voor de Salt-master door het commando ping [FQDN] uit te voeren op uw Windows-machine.
- Maak deze API-aanroep met behulp van een SSEAPI-client met de juiste verificatiegegevens voor uw omgeving.
Opmerking: Als u
SaltStack Config met
vRealize Automation heeft geïntegreerd, maakt de service
vRealize 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
SaltStack Config-omgeving. U kunt controleren of de opdracht wordt uitgevoerd op het tabblad
Activiteit van de
SaltStack 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.