Als systeembeheerder kunt u opdrachten in SaltStack Config maken om taken voor externe uitvoering te voltooien, statussen toe te passen, Salt-runners te starten en meer. Opdrachten zijn doorgaans bedoeld voor systeembewerkingen die moeten worden geautomatiseerd en meerdere keren moeten worden uitgevoerd.
Voordat u aan de slag gaat
Opdrachten in SaltStack Config omvatten gewoonlijk een van de uitvoeringsmodules of statusmodules die zijn ontwikkeld door de opensourcecommunity van Salt. Daarom moet u eerst vertrouwd raken met bepaalde basisconcepten van het Salt-systeem en hoe u algemene beheertaken kunt uitvoeren met de beschikbare uitvoerings- en statusmodules.
Voor meer informatie over... | Zie... |
---|---|
De basisbeginselen van werken met Salt |
|
Salt-statussen |
|
Salt-uitvoeringsmodules en -statusmodules |
|
Opdrachten maken
Een nieuwe opdracht maken:
- Onderzoek welke Salt-uitvoeringsmodules of -statusmodules u kunnen helpen het gewenste resultaat te bereiken. Wanneer u de Salt-module vindt die aan uw behoeften voldoet, leest u de documentatie voor de module om ervoor te zorgen dat u vertrouwd bent met de parameters en andere vereisten van de module.
- Als uw opdracht Salt-statusmodules gebruikt, maakt u een nieuw statusbestand op de SaltStack Config-bestandsserver. Zie Hoe maak ik statusbestanden en pillargegevens? voor meer informatie.
- Maak een nieuwe opdracht.
- Klik op Configuratie > Opdrachten in het zijmenu om de werkplek Opdrachten te openen.
- Klik op de knop Opdracht maken.
Opmerking:
Als u de knop Opdracht maken niet ziet, heeft u geen rechten om nieuwe taken te maken. Neem contact op met uw vRealize Automation-beheerder voor toegang of om deze opdracht te maken namens u, zodat u de tutorial kunt voltooien.
- Voer de gegevens in voor de nieuwe opdracht.
Veld Waarde Naam (Name)
Geef de opdracht een beschrijvende naam die in het kort het doel van de opdracht aangeeft of de taak die de opdracht moet uitvoeren. Bijvoorbeeld: 'Windows-firewallinstellingen configureren'.
Beschrijving
Voeg een beschrijving toe, zodat andere gebruikers weten wat de bedoeling van deze opdracht is, zoals 'Opent de firewall voor poort 445 op Windows-knooppunten'.
Commando
- Selecteer salt voor opdrachten die worden uitgevoerd voor minions.
- Selecteer salt-run voor opdrachten die worden uitgevoerd voor de Salt-master.
salt-run
-opdrachten zijn ook bekend als Salt-runners. Salt-runners zijn modules die worden gebruikt om gemaksfuncties uit te voeren op de Salt-master. U kunt Salt-runners gebruiken om orkestratie uit te voeren, minions op afstand in te schakelen, webhooks aan te roepen en nog veel meer. Ze zijn handig voor het centraal uitvoeren van taken of het uitvoeren van taken vanaf een centraal startpunt. U kunt bijvoorbeeld een highstate toepassen op alle minions die aan een bepaalde Salt-master zijn gekoppeld.
Als u niet zeker weet welke optie u moet selecteren, gebruikt u salt omdat de meeste opdrachten worden uitgevoerd voor minions.
Opmerking: Als u besluit het commando te wijzigen, ziet u een nieuwe lijst met functies waaruit u kunt kiezen.
Doelen
Optioneel: Een doel is de groep minions, verspreid over een of meer Salt-masters, waarop het Salt-commando van een opdracht van toepassing is. U kunt doelen voor uw opdrachten maken in de werkplek Minions. Zie Hoe maak ik doelen? voor meer informatie.
Als u wilt dat de doelen worden geselecteerd op het moment dat u de opdracht uitvoert, selecteert u niets in dit menu. Als u dit veld leeg laat, kunt u het doel selecteren wanneer u de opdracht uitvoert. Door het doel van een opdracht te definiëren, wordt echter ook voorkomen dat die opdracht wordt uitgevoerd op knooppunten waarop deze niet moet worden uitgevoerd.
Functie
Selecteer welke Salt-module moet worden uitgevoerd wanneer u deze opdracht uitvoert. Klik op dit veld en typ de naam van de Salt-module die u wilt selecteren of selecteer deze in het menu. U kunt ook uw eigen waarde typen als de module die u wilt gebruiken niet in het vervolgkeuzemenu staat.
Als deze opdracht is bedoeld om een Salt-statusbestand toe te passen op een minion, gebruikt u de module
state.apply
. Zie state.apply voor meer informatie.Zie de Salt-module-index voor een volledige lijst met Salt-modules. Zie ook Voorbeelden van algemene opdrachten voor een tabel met een beschrijving van een aantal veelgebruikte modules.
Argumenten U kunt het veld Argumenten gebruiken om
args
enkwargs
door te geven aan de Salt-module.Elke regel in het veld Argumenten komt overeen met één argument. Als u bijvoorbeeld de module
file.copy
gebruikt, kunt upath/to/src/
enpath/to/dst
doorgeven aan de module.U kunt ook trefwoordargumenten gebruiken. U kunt bijvoorbeeld
src=path/to/src/
endst=path/to/dst/
doorgeven aan de modulefile.copy
.Zie de Salt-module-index voor een volledige lijst met Salt-modules.
Omgevingen
Het veld is alleen beschikbaar indien van toepassing op de gekozen functie, zoals
state.apply
,state.highstate
, enzovoort.Selecteer uw gewenste Salt-omgeving in het menu of typ deze als deze niet in de lijst wordt weergegeven. Als u bijvoorbeeld een statusbestand uit de basisomgeving toepast, selecteert u
base
in het menu.Statussen
Dit veld is alleen beschikbaar indien van toepassing op de gekozen functie, zoals
state.apply
.Selecteer het statusbestand dat u wilt toepassen in het menu of typ het als het niet wordt weergegeven in de lijst.
Pillar overschrijven
Dit veld is alleen beschikbaar indien van toepassing op de gekozen functie, zoals
state.apply
. Pillargegevens worden geaccepteerd als JSON. De pillargegevens worden opgeslagen in de opdrachtdefinitie en tijdens runtime doorgegeven aan de modulefunctie.Het gebruik van Pillar overschrijven in SaltStack Config is vergelijkbaar met het verzenden van aangepaste pillarwaarden via de CLI. Waarden die op deze manier worden doorgegeven, overschrijven bestaande pillarwaarden die zijn ingesteld met
pillar_roots
of een externe pillarbron. Pillarwaarden die niet zijn opgenomen inkwarg
, worden niet overschreven.Zie Hoe maak ik statusbestanden en pillargegevens? voor meer informatie over pillargegevens.
- Optioneel: Schakel de optie Uitvoeren as test (dry run) in om een testopdracht uit te voeren en een voorbeeld van een opdrachtresultaat te genereren. Test (dry run) is alleen beschikbaar voor bepaalde functies,
state.apply
. Als u Test selecteert, wordt de opdracht in de testmodus uitgevoerd en worden er geen wijzigingen aangebracht. Als u deze optie niet selecteert, kunt u ervoor kiezen om de opdracht later als test uit te voeren wanneer u de opdracht uitvoert. - Optioneel: Voeg Opdrachtinvoer toe aan uw opdracht. Zie Opdrachtinvoer toevoegen voor meer informatie.
- Sla de opdracht op en bevestig dat deze wordt weergegeven in de werkplek Opdrachten.
Opdrachtinvoer toevoegen
Als systeembeheerder kunt u opdrachtinvoer gebruiken om argumenten of variabelen te configureren die andere gebruikers tijdens runtime kunnen wijzigen. In plaats van meerdere opdrachten voor verschillende gebruiksscenario's te maken, kunt u algemene opdrachten maken en vervolgens optionele en vereiste opdrachtinvoer definiëren voor uw gebruikers. Dit kan helpen het aantal ontvangen aanvragen voor de aanmaak van opdrachten te verminderen.
Een voordeel van het gebruik van opdrachtinvoer is dat u de toegang kunt beperken tot de typen argumenten of variabelen die andere beheerders tijdens runtime van de opdracht kunnen doorgeven aan de functie terwijl ze nog steeds de mogelijkheid krijgen om de taken uit te voeren die noodzakelijk zijn voor de taken binnen hun verantwoordelijkheid. Op deze manier zorgt duidelijk gedefinieerde opdrachtinvoer ervoor dat uw organisatie de standaard best practices voor beveiliging volgt, zoals het principe van minste voorrecht.
Voordat u aan de slag gaat
Overweeg welke opdrachtinvoer gebruikers moeten bewerken
Voordat u uw opdrachtinvoer definieert, is het belangrijk om na te denken over de opdrachtinvoer die u gebruikers tijdens runtime wilt laten zien en bewerken. Houd er rekening mee dat iemand anders dan u deze opdracht kan uitvoeren en dat de manier waarop de opdrachtinvoer wordt weergegeven, zal worden gewijzigd afhankelijk van hoe u de opdrachtinvoer instelt. Neem even de tijd om zorgvuldig na te gaan welke opdrachtinvoer u tijdens de runtime zichtbaar en bewerkbaar wilt maken voor deze gebruikers.
U kunt bijvoorbeeld een opdracht maken die configuratie-instellingen op servers toepast op basis van het doel of de rol van de server. Mogelijk kunt u een algemene opdracht maken die configuratie-instellingen van een statusbestand toepast en vervolgens opdrachtinvoer maken waarmee een beheerder kan selecteren welk statusbestand wordt toegepast, vanuit een lijst in het vervolgkeuzemenu. Tijdens de runtime van de opdracht ziet de gebruiker het vervolgkeuzemenu met een lijst met de mogelijke statusbestanden die u heeft gedefinieerd en niets anders.
Op deze manier geeft opdrachtinvoer systeembeheerders meer controle over wat andere beheerders mogen zien en wijzigen tijdens runtime van de opdracht. U kunt tegelijkertijd flexibiliteit bieden en zorgen dat andere gebruikers alleen kunnen wijzigen wat is toegestaan binnen hun verantwoordelijkheid of rechtenniveau.
- Klik op Configuratie > Opdrachten in het zijmenu om de werkruimte Opdrachten te openen.
- Selecteer een opdracht om de opdrachtgegevens te openen.
- Scrol omlaag naar de sectie Opdrachtinvoer van de pagina met opdrachtgegevens.
- Klik op de knop Opdrachtinvoer toevoegen.
- Voer de gegevens in voor de opdrachtinvoer.
Veld Waarde Schermnaam Stel de naam in voor de opdrachtinvoer.
Wanneer een gebruiker deze opdrachtinvoer tijdens runtime ziet, is de tekst die u invoert als Schermnaam de belangrijkste indicator voor de functie en het doel van de invoer.
Kies een naam die kort, nauwkeurig en beschrijvend is, bijvoorbeeld 'Service om opnieuw te starten'.
Invoertype Stel het type opdrachtinvoer in. Er zijn vier invoertypen: tekenreeks, getal, booleaans en selecteren.
- Gebruik het invoertype tekenreeks als u wilt dat gebruikers een waarde opgeven.
- Gebruik het invoertype getal als u wilt dat gebruikers de hoeveelheid of grootte opgeven.
- Gebruik booleaans voor ware of onware scenario's.
- Gebruik selecteren als u wilt dat gebruikers een waarde kiezen uit een lijst. Waarden in de selectielijst kunnen tekenreeksen, getallen of booleaans zijn. Het invoertype voor de opdrachtinvoer 'Service om opnieuw te starten' kan bijvoorbeeld een selectielijst met tekenreeksen zijn. Bijvoorbeeld:
httpd
,sshd
ofmysqld
.
Raadpleeg de Salt-module-index voordat u een invoertype kiest. Het invoertype wordt bepaald door de Salt-module die door de opdracht wordt gebruikt en met welke parameter het invoertype overeenkomt in de Salt-module. Als u het verkeerde invoertype kiest, mislukt de opdracht.
Weergeven bij uitvoeren van opdracht Sta gebruikers toe waarden te zien en te bewerken tijdens het uitvoeren van de opdracht.
Als u deze instelling in- of uitschakelt, wordt het veld Help-tekst weergegeven in het venster Opdrachtinvoer bewerken.
Als u moeite heeft met het vinden van een korte en nauwkeurige Schermnaam, gebruikt u het veld Help-tekst om aanvullende informatie over de opdrachtinvoer te bieden. U kunt bijvoorbeeld een situatie beschrijven waarin een gebruiker een waarde moet opgeven.
Deze Help-tekst wordt weergegeven onder hulpknopinfo (?) naast de naam van de opdrachtinvoer wanneer een gebruiker de opdracht uitvoert.
Trefwoord Geef een parameter of argument op om door te geven aan de modulefunctie die wordt uitgevoerd. Zie de Salt-module-index voor meer informatie over modulefuncties.
Opmerking: Opdrachtinvoer ondersteunt geen andere positieargumenten dan met trefwoorden. Deze kunnen worden opgegeven in de opdracht onder Argumenten maar ze kunnen niet worden opgegeven bij de opdrachtuitvoering.
Standaardwaarde/Waarde Als Weergeven bij uitvoeren van opdracht is ingeschakeld, kunt u het optionele veld Standaardwaarde gebruiken om een standaardwaarde voor de opdrachtinvoer op te geven. Gebruikers kunnen de standaardwaarde doorgeven aan de modulefunctie of deze tijdens runtime wijzigen.
Overweeg of het leveren van een standaardwaarde voor uw gebruikers nuttig zal zijn. Het bieden van een standaardwaarde kan uw gebruikers helpen tijd te besparen bij het uitvoeren van opdrachten, maar er kunnen situaties zijn die niet nodig zijn. De opdrachtinvoer met de naam Datacenter vereist mogelijk geen standaardwaarde, omdat de waarde zal variëren.
Als Weergeven bij uitvoeren van opdracht is uitgeschakeld, kunt u het veld Waarde gebruiken om een standaardwaarde door te geven aan de modulefunctie. Gebruikers kunnen de waarde niet zien of bewerken.
Vereist bij opdrachtinvoer Als Weergeven bij uitvoeren van opdracht is ingeschakeld, heeft u de optie om gebruikers te verplichten een waarde op te geven voor de opdrachtinvoer.
Overweeg of het nuttig is dat gebruikers een waarde opgeven. Wanneer u uw opdrachten ontwerpt, moet u overwegen wat er kan gebeuren als gebruikers geen waarde opgeven. Als de opdracht zonder waarde kan mislukken, moet deze tijdens runtime worden vereist. Als de opdracht ook zonder de waarde correct kan worden uitgevoerd, maakt u deze optioneel.
Gebruik indien mogelijk het veld Help-tekst om gebruikers te helpen inzicht te krijgen in de functie voor opdrachtinvoer.
- Sla de opdrachtinvoer op en bevestig dat deze wordt weergegeven in de lijst met opdrachtinvoer op de pagina met opdrachtdetails.
Opmerking:
Mogelijk worden er andere velden weergegeven in de lijst met opdrachtinvoer, zoals Omgevingen, Statussen of Test, afhankelijk van de modulefunctie die u gebruikt. Als u wilt dat gebruikers deze invoer tijdens runtime zien, klikt u op het potloodpictogram naast het trefwoord om de opdrachtinvoer te bewerken, en Weergeven bij uitvoeren van opdracht in of uit te schakelen.
- Sla de opdracht op.
- Om te valideren dat uw opdrachtinvoer werkt zoals verwacht, meldt u zich aan bij SaltStack Config als gebruiker die opdrachten kan uitvoeren met lager rechtenniveau of een rol die minder toegangsrechten heeft.
Als opdrachtinvoer ontbreekt, de opdracht mislukt of de opdrachtinvoer aanvullende argumenten of beschrijvingen nodig heeft, brengt u de nodige aanpassingen aan in de opdracht voordat u gebruikers toestemming geeft deze uit te voeren.
Volgende stappen
Nadat u uw opdracht heeft gemaakt, kunt u deze nu ad-hoc of volgens een reguliere planning uitvoeren. Voor meer informatie zie: