In dit voorbeeld ziet u een ander voorbeeld van hoe u statusbestanden toepast om snel configuratie-instellingen te implementeren en te beheren met SaltStack Config. Dit voorbeeld toont een iets complexer statusbestand dat drie verschillende taken afhandelt (een service installeren, een service starten en een bestand implementeren op het knooppunt waarop de service wordt uitgevoerd).
Dit praktische voorbeeld wijzigt uw omgeving. Wees dus voorzichtig bij het voltooien. Overweeg dit voorbeeld alleen uit te voeren met knooppunten in een test- of ontwikkelingsomgeving in plaats van in een productieomgeving.
Een Apache-webserver op een CentOS-knooppunt (Linux) configureren
Een statusbestand schrijven waarmee een Apache-webserver wordt geconfigureerd en geïmplementeerd:
- Maak een nieuw bestand op de SaltStack Config-bestandsserver.
- Klik in de SaltStack Config-gebruikersinterface op Configuratie > Bestandsserver in het zijmenu.
- 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 bestand te maken.
- Gebruik het lege nieuwe bestand om een nieuw statusbestand (SLS) te maken.
- Klik op het menu Saltenv en selecteer base.
- Typ het bestandspad en de bestandsnaam naast het menu zonder label. Gebruik
/apache/centos.sls
. - Kopieer en plak de volgende code voor het statusbestand (die de YAML-syntaxis gebruikt):
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
Opmerking: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.
- Sla het statusbestand op.
- Bevestig dat het nieuwe bestand wordt weergegeven in de bestandsserverdirectory onder base > apache > centos.sls.
- Voeg een voorbeeldpagina voor de HTML-index toe op de bestandsserver.
- Klik in de werkplek Bestandsserver op de knop Maken om een nieuw bestand toe te voegen.
- Klik op het menu zonder label en selecteer base.
- Typ naast het menu zonder label het bestandspad en de bestandsnaam voor dit bestand. Gebruik
/apache/index.html
. - Kopieer en plak de volgende HTML-code in de hoofdtekst van het bestand:
<html> <head><title>SaltStack Config Example></title></head> <body> <h1>SaltStack Config Example</h1> Hello, world! </body>
- Sla het HTML-bestand op.
- Bevestig dat het nieuwe bestand wordt weergegeven in de bestandsserverdirectory onder base > apache > index.html.
- Maak een nieuwe opdracht.
- Open de werkplek Opdrachten door op Configuratie > Opdrachten te klikken in het zijmenu.
- 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.
- Vul in het scherm Nieuwe opdracht de gegevens voor de nieuwe opdracht in en sla de opdracht op.
Veld Voorbeeldwaarde Naam (Name)
Geef deze opdracht een beschrijvende naam zoals 'Apache-webserver configureren'.
Beschrijving
Voeg een beschrijving toe zodat andere gebruikers weten wat de bedoeling van deze opdracht is, zoals 'Configureert en implementeert een Apache-webserver op een CentOS-doelknooppunt, samen met een voorbeeldpagina voor de HTML-index'.
Commando
Selecteer salt.
Het commando
salt
wordt gebruikt voor opdrachten die worden uitgevoerd op minions.Doelen
Selecteer niets in dit menu. Als u dit veld leeg laat, kunt u het doel selecteren wanneer u de opdracht uitvoert.
Functie
Klik op dit veld en begin met het typen van
state.apply
totdat u deze module kunt selecteren.In dit veld selecteert u de Salt-module die wordt toegepast wanneer deze opdracht wordt uitgevoerd.
Omgevingen
Selecteer
base
in het menu.Statussen
Selecteer het nieuwe statusbestand in het menu:
apache.centos
.Argumenten
Deze module accepteert geen argumenten, dus laat deze leeg.
Opdrachtinvoer Deze opdracht vereist geen opdrachtinvoer, dus laat deze leeg. Zie Hoe maak ik opdrachten voor meer informatie over opdrachtinvoer.
- Nu u een opdracht heeft gemaakt, voert u de opdracht uit door de opdrachtdoelen te selecteren.
- Klik in het zijmenu op Doelen om de werkplek Doelen te openen en uw doelen te bekijken.
- Zoek in de tabel Alle minions de CentOS-minion die u wilt targeten voor deze opdracht. Schakel het selectievakje naast die minion in en klik op de knop Opdracht uitvoeren.
- Klik in het dialoogvenster Opdracht uitvoeren op het menu Opdracht en selecteer de opdracht Apache Web Server configureren die u in de vorige stappen heeft gemaakt. U kunt de naam van de opdracht typen om de opdrachten indien nodig te filteren.
- Klik op Nu uitvoeren (Run Now).
Als u de opdracht heeft uitgevoerd, wordt een melding weergegeven met de mededeling dat de taak is gestart.
- Controleer of de opdracht is voltooid of niet, door te klikken op Activiteit > Voltooid in het zijmenu.
Als u uw opdracht niet in deze tabel ziet, is deze mogelijk nog steeds bezig. U kunt opdrachten vinden die momenteel worden uitgevoerd door op Activiteit > In behandeling te klikken. Ga door met het vernieuwen van Activiteit > Voltooid totdat uw opdracht in de tabel wordt weergegeven.
- Wanneer uw taak is voltooid, controleert u of de indexpagina wordt gehost op uw pas geconfigureerde webserver.
- Ga in uw webbrowser naar het IP-adres van de CentOS-minion die het doel van de opdracht is. Als u het IP-adres van uw minion wilt vinden in SaltStack Config, zoekt u in de werkplek Doelen onder de kolom IP-adres naar die minion.
- Wanneer u dat IP-adres invoert, ziet u uw voorbeeldpagina voor de HTML-index.
Samenvatting van resultaten en belangrijke informatie
Overweeg bij het bekijken van de opdrachtresultaten en de indexpagina de volgende punten:
- Statusbestanden zijn een methode om de systeemconfiguratie snel in te stellen en bij te werken op elke schaal en om configuration drift in een infrastructuur-als-code-benadering te voorkomen.
- SaltStack Config stelt u in staat om statusbestanden te bouwen die complexe elementen zoals variabelen kunnen bevatten. Dit zijn waarden die kunnen veranderen afhankelijk van voorwaarden of informatie die wordt doorgegeven aan het statusbestand op het moment dat het op uw systeem wordt toegepast.
- U kunt ook statusbestanden bouwen die wachtwoorden kunnen ophalen uit een privébank (die in SaltStack Config pillar wordt genoemd) om verificatiegegevens veilig te houden, terwijl u bevoegde teamleden ook de mogelijkheid geeft om opdrachten uit te voeren op resources waar ze toegang toe hebben.