U kunt statusbestanden en pillargegevens maken of uploaden in de werkruimten Bestandsserver en Pillar in SaltStack Config. Als u de bestandsserver niet wilt gebruiken, ondersteunt SaltStack Config ook het verbinden met een externe opslagplaats (zoals een Git-opslagplaats) waar u uw statusbestanden en pillargegevens kunt opslaan.

Wat zijn statusbestanden?

In plaats van elk knooppunt of elke applicatie handmatig één voor één te configureren, kunt u het SaltStack Config-statusbeheersysteem gebruiken om statusbestanden te maken die u tegelijkertijd op veel knooppunten kunt toepassen. Deze statusbestanden kunnen een reeks instructies bevatten die SaltStack Config vertellen welke bewerkingen op het knooppunt moeten worden uitgevoerd en in welke volgorde. Deze kunnen ook beschrijven welke configuratiebestanden of instellingen moeten worden toegepast.

Nadat u een statusbestand heeft geschreven of gewijzigd, kunt u deze statusbestanden automatisch uitvoeren en deze op veel knooppunten tegelijk toepassen. U kunt knooppunten targeten op basis van de inherente eigenschappen van elk knooppunt (zoals het besturingssysteem) of u kunt knooppunten ook targeten op basis van aangepaste labels die u definieert. Zie Hoe maak ik doelen? voor meer informatie.

Het statusbeheersysteem zorgt er ook voor dat elk knooppunt correct en zo efficiënt mogelijk is geconfigureerd. Als een configuratie is afgeweken, kan SaltStack Config knooppunten en applicaties weer in de conforme configuratiestatus plaatsen. Als een configuratie moet worden gewijzigd, kan SaltStack Config deze wijzigingen snel implementeren in de betreffende knooppunten.

Voorbeeld van een statusbestand

Statusbestanden worden doorgaans geschreven in YAML en Jinga, maar andere indelingen zoals JSON zijn compatibel met Salt. Een typisch statusbestand kan er als volgt uitzien:

install_apache:
  pkg.installed:
    - name: httpd
    
ensure_service_running:
  service.running:
    - name: httpd
    - watch:
      - pkg: install_apache
      
default_html_page:
  file.managed:
    - name: /var/www/html/index.html
    - source: salt://apache/index.html
Dit statusbestand heeft drie stappen die drie verschillende Salt-uitvoeringsmodules uitvoeren. Wanneer dit statusbestand wordt toegepast op een minion, zal SaltStack Config:
  • Apache (httpd) op de minion installeren.
  • De Apache-service starten.
  • Een voorbeeldpagina voor de HTML-index implementeren die op de minion wordt gehost.

Wat zijn pillargegevens?

Een pillarvoorbeeldbestand in de werkplek Bestandsserver

Opmerking: Het wordt aanbevolen om pillargegevens te reserveren voor gevoelige informatie.
Pillars zijn structuren met gegevens die op de Salt-master zijn opgeslagen en worden doorgegeven aan een of meer minions die zijn geautoriseerd voor toegang tot die gegevens. Pillargegevens hebben twee hoofdgebruiksscenario's:
  • Pillar kan de toegang van gebruikers tot privégegevens, gevoelige gegevens zoals wachtwoorden en configuratie-instellingen beperken. U kunt bijvoorbeeld pillars gebruiken om toe te staan dat een gebruiker een opdracht uitvoert die verificatie bij een externe service vereist zonder dat deze zelf toegang hoeft te krijgen tot deze verificatiegegevens. In dit geval wijst u de gebruikerstoegang toe aan de opdracht en het doel, maar niet aan de pillar die gevoelige verificatiegegevens bevat.
  • Pillar kan gegevens verzenden die worden gewijzigd op basis van de context of de minion die gegevens aanvraagt. U kunt bijvoorbeeld verschillende wachtwoorden toewijzen aan verschillende minions en alle wachtwoorden in één pillarbestand opslaan. Vervolgens kunt u een statusbestand schrijven dat de minion vertelt het unieke wachtwoord in het bestand op te zoeken zonder dat u meerdere bestanden hoeft te maken of wachtwoorden op meerdere plekken hoeft op te slaan.

Gegevens die zijn opgeslagen in de pillaropslag van SaltStack Config, worden versleuteld met de Raas-coderingssleutel die is gekoppeld aan de specifieke instantie van SaltStack Config (bijvoorbeeld: '/etc/raas/pki/.raas.key'). Nadat de pillargegevens zijn gedefinieerd in de gebruikersinterface van SaltStack Config, worden deze versleuteld met deze sleutel en opgeslagen in de PostgreSQL-database. Deze sleutel wordt ook gebruikt om de gegevens voor weergave in de gebruikersinterface van SaltStack Config te ontsleutelen.

Voorbeeld van een pillarbestand

Pillarbestanden worden doorgaans geschreven in YAML en Jinga, maar andere indelingen zoals JSON zijn compatibel met Salt. Pillargegevens worden opgeslagen als woordenboek en gebruiken sleutelwaardeparen om waarden op te zoeken. Een typisch pillarbestand kan er als volgt uitzien:

 pillar1: value
 pillar2:
   - value
   - value
 pillar3:
   sub_key:
     - value
     - value

Dit voorbeeld toont drie verschillende methoden voor het indelen van uw pillargegevens. Welke syntaxis u wilt gebruiken, is afhankelijk van uw behoeften en het type gegevens dat u moet opslaan.

Voordat u aan de slag gaat

Omdat SaltStack Config wordt aangestuurd door Salt, helpt het om een basiswerkkennis te hebben van Salt en de concepten met betrekking tot deze functies. In de volgende tabel vindt u enkele nuttige resources voor meer informatie:

Voor meer informatie over... Zie...

De basisbeginselen van werken met Salt

Salt-statussen

Pillargegevens

Salt-uitvoeringsmodules en -statusmodules

Nadat u uw pillargegevens heeft gedefinieerd, kunt u de pillargegevens toewijzen aan een groep minionsystemen door op Doelen bijwerken te klikken, de doelgroep te selecteren en vervolgens op Opslaan te klikken.

Pillargegevens koppelen aan doelen in SaltStack Config

Als pillargegevens aan een specifiek doelsysteem worden toegewezen en zijn opgenomen in statusbestanden, wordt dit door de master verwerkt voor elk minionsysteem en versleuteld met een afzonderlijke AES-sleutel voor elke minion. Met deze sleutel kunnen de pillargegevens naar het doelsysteem worden verzonden tijdens een status- of orkestratiebestandsprogramma.

Statusbestanden toevoegen aan de bestandsserver

Statusbestand toevoegen aan de bestandsserver zodat het kan worden gebruikt in opdrachten:

  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. Optioneel: Schrijf als best practice een ruw concept van uw statusbestand in uw code-editor en controleer of uw statusbestand gebruikmaakt van een goed gevormde syntaxis met codelinter.
  3. Klik in de gebruikersinterface van SaltStack Config op Configuratie > Bestandsserver in het zijmenu om de werkplek Bestandsserver te openen.
  4. Wanneer u de werkplek Bestandsserver voor het eerst opent, ziet u de bestandsmap en een leeg nieuw bestand. Gebruik dit lege bestand om een nieuw statusbestand te maken of om uw statusbestand uit uw code-editor te kopiëren.Een leeg statusbestand in de werkplek Bestandsserver in SaltStack Config
  5. Klik op het menu Saltenv en selecteer de omgeving waarin u het statusbestand wilt opslaan. Als u niet zeker weet welke omgeving u moet selecteren, gebruikt u base.
  6. Typ in het veld Padnaam het bestandspad en de bestandsnaam met de bestandsextensie .sls. Bijvoorbeeld: /my-directory/my-state-file.sls.
  7. Schrijf of kopieer de code van het statusbestand in de hoofdtekst van het bestand. Bijvoorbeeld:Statusbestandscode in een statusbestand in de werkplek Bestandsserver
  8. Sla het statusbestand op en bevestig dat het nieuwe bestand wordt weergegeven in de directory van de bestandsserver.

Pillargegevens toevoegen aan een Salt-master

Hoewel u de werkplek Pillar in SaltStack Config kunt gebruiken om pillargegevens aan de Salt-master toe te voegen, is het mogelijk eenvoudiger om de pillargegevens direct aan de Salt-master toe te voegen. Om pillargegevens toe te voegen zodat hiernaar kan worden verwezen in statusbestanden of deze aan doelen kan worden toegewezen, kunt u een van twee methoden gebruiken:

  • Meld u via SSH aan bij de Salt-master en voeg het pillarbestand toe aan de directory van de master met behulp van de standaard Salt-procedures voor het toevoegen van bestanden aan een master. Raadpleeg Pillar en Pillarprocedure voor meer informatie.
  • Maak een opdracht in de gebruikersinterface van SaltStack Config die de pillargegevens toevoegt aan de Salt-master met behulp van het commando salt-run, dat de Salt-runnerfunctie gebruikt. Zie Hoe maak ik opdrachten? voor meer informatie.

Volgende stappen

Nadat u statusbestanden en pillargegevens heeft gemaakt die toegankelijk zijn voor de minions, kunt u vervolgens verwijzen naar deze bestanden in opdrachten die u in SaltStack Config maakt. Zie Hoe maak ik opdrachten? voor meer informatie.