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

  • Salt-module-index voor een lijst met alle modules
  • Voor meer hulp die bepaalt welke module het beste aansluit bij uw specifieke behoeften of voor vragen over het gebruik van een specifieke module kunt u vragen om ondersteuning van de community in de Slack-werkplek van de SaltStack-community.

Opdrachten maken

Een nieuwe opdracht maken:

  1. 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.
  2. 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.
  3. Maak een nieuwe opdracht.
    1. Klik op Configuratie > Opdrachten in het zijmenu om de werkplek Opdrachten te openen.
    2. 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.

    3. 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 of de werkplek Doelen. 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 en kwargs 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 u path/to/src/ en path/to/dst doorgeven aan de module.

      U kunt ook trefwoordargumenten gebruiken. U kunt bijvoorbeeld src=path/to/src/ en dst=path/to/dst/ doorgeven aan de module file.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 in kwarg, worden niet overschreven.

      Zie Hoe maak ik statusbestanden en pillargegevens? voor meer informatie over pillargegevens.

      Een voorbeeldopdracht van Apache in SaltStack Config
    4. 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.
    5. Optioneel: Voeg Opdrachtinvoer toe aan uw opdracht. Zie Opdrachtinvoer toevoegen voor meer informatie.
  4. 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.

Opdrachtinvoer definiëren:
  1. Klik op Configuratie > Opdrachten in het zijmenu om de werkruimte Opdrachten te openen.
  2. Selecteer een opdracht om de opdrachtgegevens te openen.
  3. Scrol omlaag naar de sectie Opdrachtinvoer van de pagina met opdrachtgegevens.Schermafbeelding van een lijst met opdrachtinvoer
  4. Klik op de knop Opdrachtinvoer toevoegen.
  5. 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 of mysqld.

    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.

  6. 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.

  7. Sla de opdracht op.
  8. 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: