Als u SaltStack Config met vRealize Automation heeft geïntegreerd, kunt u de SaltStack Config-resource toepassen om de minions op virtuele machines in uw implementaties te installeren. Nadat de minion is geïmplementeerd, kunt u gebruikmaken van het krachtige configuratiebeheer, de correctie van afwijkingen en het statusbeheer van SaltStack Config om uw resources te beheren.

Minions zijn agents die de Salt-minionservice uitvoeren. De service abonneert zich op opdrachten die door een Salt-master worden gepubliceerd. Dit is een server die de Salt-masterservice uitvoert. Als een specifieke opdracht van toepassing is op een minion, voert de minion de opdracht uit.

U kunt de SaltStack Config-resource gebruiken om minions te implementeren en statusbestanden toe te passen wanneer u Linux- en Windows-machines implementeert. Om minions en statusbestanden op bestaande implementaties toe te voegen of bij te werken, kunt u de actie SaltStack-resource koppelen voor dag 2 uitvoeren. Zie Welke acties kan ik op Cloud Assembly-implementaties uitvoeren voor meer informatie over de actie voor dag 2.

Als u de eigenschap saltConfiguration heeft gebruikt om minions en statusbestanden als actie voor dag 0 te implementeren, kunt u overwegen uw cloudsjablonen bij te werken om de SaltStack Config-resource te gebruiken. De eigenschap saltConfiguration is nu verouderd. U kunt de eigenschap saltConfiguration nog wel in uw cloudsjablonen gebruiken, maar SaltStack Config-integratiefuncties zijn beperkt.

De actie Salt-configuratie toepassen voor dag 2 is nog steeds beschikbaar voor resources die de eigenschap saltConfiguration gebruiken.

Voordat u aan de slag gaat

  1. Controleer of u SaltStack Config hebt geïnstalleerd en de integratie hebt geconfigureerd. Zie Een SaltStack Config-integratie maken in vRealize Automation.

    Zie Inzicht in de gebruikersinterface van SaltStack om vertrouwd te raken met de werking van SaltStack Config, inclusief de belangrijkste concepten van minions.

  2. Controleer in SaltStack Config of de FQDN-naamomzetting van minion naar master werkt.
    1. Om de FQDN op de Salt-master in SaltStack Config te verifiëren, selecteert u Minions > Alle minions.
    2. Filter de kolom Minion-id op de waarde saltmaster.
    3. Klik op saltmaster om de details weer te geven.
    4. Controleer of de FQDN-waarde klopt.
  3. Als u minions implementeert op een Linux-machine, controleert u of voor de images in vSphere die u van plan bent te implementeren met een Salt-minion, SSH-mogelijkheden zijn ingeschakeld. SSH wordt gebruikt om op afstand toegang te krijgen tot de machine en de minion te implementeren.
  4. Als u minions implementeert op een Windows-machine, raadpleegt u Hoe implementeer ik minions met behulp van de API (RaaS) in een Windows-omgeving.

  5. Controleer of u IP-adressen kunt toewijzen aan de machines die u implementeert.

    SaltStack Config vereist dat de machines IP-adressen hebben. Gebruik de IP-adressen van het openbare IP CIDR-bereik voor het SDDC (software-defined datacenter) waar uw Salt-master zich bevindt

  6. Controleer of de cloudsjabloon waaraan u de minion toevoegt, kan worden geïmplementeerd voordat u de SaltStack Config-resource-eigenschappen toevoegt.
  7. Controleer of u over de volgende servicerollen beschikt:
    1. Cloud Assembly-beheerder
    2. Cloud Assembly-gebruiker
    3. Service Broker-beheerder

    Deze servicerollen zijn vereist voor het gebruik van de SaltStack Config-resource.

De SaltStack Config-resource toevoegen aan de cloudsjabloon

Als ontwikkelaar van cloudsjablonen kunt u eigenschappen toevoegen aan de YAML om de SaltStack Config-minion te installeren wanneer u de sjabloon implementeert.

De kerneigenschappen die u toevoegt aan de sjabloon, omvatten externe toegang voor de machine die u wilt implementeren en configuratie-eigenschappen voor de SaltStack Config-resource. Het gaat in deze procedure alleen over geselecteerde eigenschappen. De YAML biedt ook andere SaltStack Config-resource-eigenschappen die niet in dit voorbeeld worden gebruikt. Bekijk het schema voor meer informatie.

In dit voorbeeld ziet u hoe u een gebruikersnaam en wachtwoord toevoegt voor de eigenschappen voor externe toegang, maar u kunt ook een geheime eigenschap configureren en deze toevoegen aan de sjabloon. Zie Geheime Cloud Assembly-eigenschappen voor een voorbeeld.

Procedure

  1. Selecteer Ontwerp > Cloudsjablonen in Cloud Assembly.
  2. Open een bestaande sjabloon.
  3. Zoek de SaltStack Config-resource en sleep deze naar het canvas.
  4. Koppel de SaltStack Config-resource aan de machine waarop de minion wordt geïnstalleerd.
  5. Voeg eigenschappen toe aan de Cloud_SaltStack_1-resource in het codevenster.

    Het is niet vereist om alle mogelijke eigenschappen toe te voegen. De gebruikte waarden in dit voorbeeld worden uitgelegd in de tabel.

    Cloud_SaltStack_1:
        type: Cloud.SaltStack
        properties:
          masterId: saltstack_enterprise_installer
          hosts:
            - ${resource.Cloud_vSphere_Machine_1.id}
          saltEnvironment: sse
          stateFiles:
            - /doe.sls
          variables: 
            user: joe

    Beschrijving van de Cloud_SaltStack_1-eigenschappen die in dit voorbeeld worden gebruikt.

    Eigenschap Beschrijving
    masterId In het voorbeeldschema is saltstack_enterprise_installer de waarde voor masterId. Mogelijk hebt u al master-id's in SaltStack Config gedefinieerd via Beheer > Mastersleutels.
    hosts De waarde voor hosts is de id van de machine of het cluster met machines waarop u de minion wilt installeren. Standaard wordt de naam van de machine doorgegeven als minion-id in SaltStack Config.

    Het wordt aanbevolen dat u machinenamen van 15 tekens of minder kiest, in het bijzonder als u minions in Windows implementeert. Windows staat geen hostnamen van meer dan 15 tekens toe.

    Als u een aangepaste naamgevingsconventie wilt definiëren voor de machines die u wilt implementeren, raadpleegt u Aangepaste naamgeving voor geïmplementeerde resources in Cloud Assembly.

    saltEnvironment In dit voorbeeld is sse een bestandslocatie voor de statusbestanden. Mogelijk staan uw statusbestanden op andere bestandsserverlocaties in SaltStack Config in Configuratie > Bestandsserver.
    stateFiles In dit voorbeeld is doe.sls een statusbestand in de bestandsserverdirectory die is opgegeven als saltEnvironment.
    variables De variabelen zijn de waarden die in het statusbestand worden gebruikt. In dit voorbeeld accepteert doe.sls een user-waarde als invoer.
  6. Voeg remoteAccess-eigenschappen toe aan de machine die als host fungeert voor de Salt-minion.

    De waarde voor de sleutel authentication moet usernamePassword of generatedPublicPrivateKey zijn. publicPrivateKey wordt niet ondersteund.

     remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
  7. Controleer of uw YAML vergelijkbare eigenschappen bevat als in het onderstaande voorbeeld.
    resources:
      Cloud_vSphere_Machine_1:
        type: Cloud.vSphere.Machine
        properties:
          image: ubuntu
          flavor: small
          remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
      Cloud_SaltStack_1:
        type: Cloud.SaltStack
        properties:
          masterId: saltstack_enterprise_installer
          hosts:
            - ${resource.Cloud_vSphere_Machine_1.id}
          saltEnvironment: sse
          stateFiles:
            - /doe.sls
          variables: 
            user: joe
  8. Test en implementeer de cloudsjabloon.
    Zie Problemen oplossen met minionimplementaties als uw minionimplementatie mislukt.
  9. Controleer de Salt-configuratie-eigenschappen voor de geïmplementeerde machine.
    1. Selecteer Implementaties > Implementaties en open de implementatiedetails.
    2. Klik op het tabblad Topologie op de machine en vouw de eigenschappen in het rechtervenster uit.

      Schermafbeelding van het tabblad Topologie met de eigenschappen van de Salt-configuratie in het uitgevouwen rechterdeelvenster. Eigenschappen zijn bijvoorbeeld Master-id, Salt-omgeving en Statusbestanden.

De minion controleren in SaltStack Config

Nadat u de minion op de virtual machine hebt geïnstalleerd, zoekt u de minion en voert u taken of opdrachten uit voor de resource.

Procedure

  1. Om SaltStack Config te openen, klikt u in de rechterbovenhoek op het menu Applicaties en klikt u op Cloud Services-console.
  2. Klik op de servicetegel SaltStack Config.
  3. Vouw Minionsleutels uit in SaltStack Config en klik op Geaccepteerd.
  4. Klik in de kolom Minion-id op het filterpictogram en voer de naam van de minion in.
    De naam van de minion wordt standaard ingesteld op de hostnaam van de virtuele machine. In dit voorbeeld is vra-vm-05 de minion-id.
    Schermafbeelding van de geaccepteerde minionsleutels in SaltStack Config.
  5. Als u de details wilt weergeven, klikt u op de naam van de minion.
    U kunt taken of opdrachten uitvoeren voor de minion. Bijvoorbeeld: inzage in schijfgebruik. Deze taak retourneert statistieken over het schijfgebruik voor een minion.
    Schermafbeelding van de detailpagina voor de voorbeeldminion-id

Problemen oplossen met minionimplementaties

Lees over enkele veelvoorkomende fouten die gebruikers ervaren tijdens het implementeren van Salt-minions met behulp van de SaltStack Config-resource of de eigenschap saltConfiguration.

Vertraagd opstarten van host

Wanneer Windows- of Linux-services op de host niet gereed zijn nadat u uw cloudsjabloon heeft geïmplementeerd, ontvangt u mogelijk de fout 'Minionimplementatie en/of uitvoeren van statusbestand mislukt' in Cloud Assembly.

Upgrade de masterplug-in naar de nieuwste stabiele versie om deze fout op te lossen. Na het upgraden kunt u een configuratie-instelling inschakelen in /etc/salt/master.d/raas.conf waardoor Windows- en Linux-services de tijd krijgen om actief te worden voordat u de Salt-minion implementeert.

Nadat u de upgrade naar de nieuwste versie van de masterplug-in heeft voltooid, voltooit u deze stappen om het opstarten van de host uit te stellen:

  1. Controleer het tabblad Geschiedenis op de pagina met implementatiegegevens.
  2. Als er in het foutbericht wordt gemeld dat de uitvoering van de minionimplementatie en/of het statusbestand is mislukt, kopieert u de opdracht-ID (JID) en opent u SaltStack Config.
  3. Selecteer Activiteit > Voltooid in SaltStack Config om voltooide opdrachten te openen.
  4. Klik in de kolom JID op het filterpictogram en typ de JID.
  5. Klik op de JID om de pagina met opdrachtresultaten te bekijken.
  6. Klik op het tabblad Raw om de onbewerkte uitvoer voor de opdracht te zien.

    Windows

    Als de laatste regel in de onbewerkte uitvoer voor de opdracht 'Kan geen verbinding maken met host: time-out opgetreden' bevat, moet u deze configuratie-instelling toevoegen aan /etc/salt/master.d/raas.conf om het opstarten met 180 seconden te vertragen:
    sseapi_win_minion_deploy_delay: 180

    Linux

    Als de laatste regel in de onbewerkte uitvoer voor de opdracht 'Externe host is niet toegankelijk met opgegeven verificatiegegevens', moet u deze configuratie-instelling toevoegen aan /etc/salt/master.d/raas.conf om het opstarten met 90 seconden te vertragen:
    sseapi_linux_minion_deploy_delay: 90
  7. Herstart de Salt-masterservice:
    systemctl restart salt-master
  8. Implementeer uw cloudsjabloon opnieuw.

    Als de implementatie niet is gelukt, kunt u de vertragingsparameter verhogen en de sjabloon opnieuw implementeren.

Wat moet u nu doen

Raadpleeg de documentatie voor SaltStack Config als u de SaltStack Config-mogelijkheden wilt gebruiken om uw resources te beheren.