U kunt statusbestanden en pillargegevens maken of uploaden in de werkruimten Bestandsserver en Pillar in Automation Config. Als u de bestandsserver niet wilt gebruiken, ondersteunt Automation 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 Automation Config-statusbeheersysteem gebruiken om statusbestanden te maken die u tegelijkertijd op veel knooppunten kunt toepassen. Deze statusbestanden kunnen een reeks instructies bevatten die Automation 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 Automation Config knooppunten en applicaties weer in de conforme configuratiestatus plaatsen. Als een configuratie moet worden gewijzigd, kan Automation 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
- 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?
- 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 Automation Config, worden versleuteld met de Raas-coderingssleutel die is gekoppeld aan de specifieke instantie van Automation Config (bijvoorbeeld: '/etc/raas/pki/.raas.key'). Nadat de pillargegevens zijn gedefinieerd in de gebruikersinterface van Automation 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 Automation 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 Automation 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.
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:
- 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.
- 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.
- Klik in de gebruikersinterface van Automation Config op Configuratie > Bestandsserver in het zijmenu om de werkplek Bestandsserver te openen.
- 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.
- 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.
- Typ in het veld Padnaam het bestandspad en de bestandsnaam met de bestandsextensie
.sls
. Bijvoorbeeld:/my-directory/my-state-file.sls
. - Schrijf of kopieer de code van het statusbestand in de hoofdtekst van het bestand. Bijvoorbeeld:
- 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 Automation 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 Automation 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 Automation Config maakt. Zie Hoe maak ik opdrachten? voor meer informatie.