Het doel van dit gebruiksscenario is om de Salt-minionservice programmatisch op een minion te installeren door een Linux-VM te verbinden met uw Automation Config-omgeving.
Voorwaarden
Voordat u een minion kunt implementeren met behulp van de API in een Linux-omgeving, is het volgende nodig:
- 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 Linux-VM zijn geïmplementeerd.
- Zorg ervoor dat poort 22 niet is afgeschermd met een firewall en beschikbaar is voor gebruik met minions.
Procedure
- Controleer of de map etc/salt/cloud.deploy.d een verzameling van deze bestanden bevat. Deze bestanden moeten overeenkomen met de OS-distributierelease en de Salt-release die uw systeem vereist.
Als u de bestanden niet ziet, neemt u contact op met de helpdesk.
Opmerking: De xxxx in de bestandsnaam, bijvoorbeeld salt-xxxx-redhat-8-x86_64-amd64.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.
- Als uw omgeving een luchtmuur heeft, voltooit u deze stappen:
- Open het RaaS-configuratiebestand in
/etc/raas/raas
.
- Voeg deze regels toe aan het configuratiebestand:
minion_deployment:
airgap_install: true
- 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.
- 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.
- Zorg ervoor dat de FQDN is geconfigureerd voor de Salt-master door het commando ping [FQDN] uit te voeren.
- Voer
python3
uit om Python te openen.
- Maak deze API-aanroep met behulp van een SSEAPI-client met de juiste verificatiegegevens voor uw omgeving:
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 gebruikersinterface van Automation Config.
Opmerking: Als u een minion vanuit Automation Assembler implementeert, wordt deze API-aanroep uitgevoerd door Automation Assembler.
resultaten
De minion is met succes geïmplementeerd en geconfigureerd vanuit uw Linux-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.