Als onderdeel van het postinstallatieproces moet u de masterplug-in installeren, configureren en upgraden. Met de masterplug-in kunnen uw Salt-masters met Automation Config communiceren. De masterplug-in bevat een aantal instellingen die u kunt aanpassen om de prestaties te verbeteren en die vooral nuttig zijn voor grote of drukke omgevingen.

Meestal installeert u de masterplug-in op elke Salt-master in uw omgeving die met Automation Config communiceert. Bijvoorbeeld: als u een configuratie met meer dan één Salt-master gebruikt (ook wel multi-master-setup genoemd), moet u de masterplug-in op elke Salt-master installeren.

Voordat u aan de slag gaat

Het installeren en configureren van de masterplug-in is een stap na installatie in een reeks stappen die in een specifieke volgorde moeten worden uitgevoerd. Voltooi eerst een van de installatiescenario's en lees vervolgens de postinstallatiepagina De licentiesleutel installeren.

U moet de PyJWT-bibliotheek op uw Salt-master installeren met behulp van dit commando:
pip3 install pyjwt==2.3.0

Wanneer moet u de masterplug-in installeren?

U moet de masterplug-in voor al uw Salt-masters installeren na een nieuwe installatie van Automation Config. De masterplug-in is niet nodig voor Salt-masters die niet hoeven te communiceren met Automation Config.

Als u het installatiescenario met SaltStack Config installeren voor minder dan 1000 knooppunten heeft gebruikt, hoeft u de masterplug-in niet te installeren op het knooppunt waarop u Automation Config en de gerelateerde architectuur heeft geïnstalleerd. Het installatieprogramma installeert automatisch de masterplug-in op het Salt-masterknooppunt. De masterplug-in wordt echter alleen geïnstalleerd op de Salt-master waar u het installatieprogramma heeft uitgevoerd. Als u meerdere masters heeft, moet u de masterplug-in nog op uw andere masters installeren.

Als u Automation Config handmatig installeert (niet aanbevolen), moet u de volgende stappen voltooien voordat u de masterplug-in installeert:

  • De PostgreSQL-database installeren en configureren
  • De Redis-database installeren en configureren
  • SSL inschakelen (optioneel)
Belangrijk: U wordt bij elke release aanbevolen de configuratie van de masterplug-in bij te werken door een standaardconfiguratiebestand te genereren en vervolgens instellingen toe te passen die u van uw bestaande configuratie wilt behouden. Bijvoorbeeld:
# sseapi-config --default >/tmp/raas.conf 
# cd /etc/salt/master.d 
# vim -d raas.conf /tmp/raas.conf 
...

Als u Salt heeft geïnstalleerd met onedir, is het pad naar dit uitvoerbare bestand: /opt/saltstack/salt/extras-3.10/bin/sseapi-config.

De masterplug-in installeren met de werkplek Masterplug-ins

Opmerking: Deze functie wordt ondersteund voor Automation Config versies 8.11.2 of hoger.
Opmerking: De Salt-master moet als root worden uitgevoerd.

U kunt de nieuwste versie van de masterplug-in downloaden en installeren via de gebruikersinterface van Automation Config door te navigeren naar Beheer > Masterplug-ins. Op het tabblad Masterplug-ins kunt u de plug-in downloaden of de client downloaden.

Na het downloaden van de masterplug-in moet u De masterplug-in configureren.

De masterplug-in installeren met CLI

De masterplug-in op uw Salt-master installeren:

Vanaf release 8.13.0 bevat de masterplug-in een tgtmatch-engine voor het offloaden van doelgroepafstemming van de RaaS-server naar de Salt-masters. U wordt aanbevolen om die tgtmatch-engine in te schakelen en te configureren om doelgroepafstemming sneller te laten reageren, met name in omgevingen met:

  • Een groot aantal doelgroepen (100 of meer)
  • Een groot aantal minions (3000 of meer)
  • Frequente wijzigingen in minion-grains (dagelijks of frequenter)
  • Frequente aanmaak en verwijdering van minions (dagelijks of frequenter)
Als u RaaS wilt configureren om te verwachten dat doelafstemmingsgegevens worden geleverd door de Salt-masters, moet u ervoor zorgen dat de volgende instelling aanwezig is in het RaaS Config-bestand (/etc/raas/raas):
target_groups_from_master_only: true
  1. Meld u aan bij uw Salt-master.
  2. Download indien nodig het wheelbestand met de masterplug-in van Customer Connect.

    De masterplug-in is opgenomen in het .tar.gz-bestand met het automatische installatieprogramma. Nadat u het .tar.gz-bestand heeft gedownload en uitgepakt, vindt u de masterplug-in in de directory sse-installer/salt/sse/eapi_plugin/files.

  3. Upgrade de masterplug-in door de installatie handmatig ongedaan te maken en het bijgewerkte Python-wheelbestand opnieuw te installeren. Gebruik de volgende voorbeeldcommando's en voeg hierbij de exacte naam van het wheelbestand in:
    Opmerking: De installatie van de bestaande plug-in moet worden ongedaan gemaakt om te voorkomen dat er meerdere instanties van sseapi-config zijn.
    pip3 uninstall SSEAPE-8.12.1.3-py3-none-any.whl
    mv /etc/salt/master.d/raas.conf /tmp
    salt-call pip.install SSEAPE-8.12.1.3-py3-none-any.whl
    cp /tmp/raas.conf /etc/salt/master.d/raas.conf
    systemctl restart salt-master

De masterplug-in configureren

De Salt-master na installatie van de masterplug-in configureren:

  1. Meld u aan bij uw Salt-master en controleer of de directory /etc/salt/master.d bestaat of maak deze.
  2. Genereer de configuratie-instellingen van de master.
    Voorzichtig: Als u uw instellingen wilt behouden tijdens het upgraden van uw installatie, maakt u een back-up van het bestaande configuratiebestand van de masterplug-in voordat u deze stap uitvoert. Kopieer vervolgens relevante instellingen van uw bestaande configuratie naar het nieuw gegenereerde bestand.
    sudo sseapi-config --all > /etc/salt/master.d/raas.conf
    Belangrijk: Als u Salt heeft geïnstalleerd met onedir, is het pad naar dit uitvoerbare bestand: /opt/saltstack/salt/extras-3.10/bin/sseapi-config.
  3. Bewerk het gegenereerde bestand raas.conf en werk de waarden als volgt bij:
    Waarde Beschrijving

    sseapi_ssl_validate_cert

    Valideert het certificaat dat de API (RaaS) gebruikt. De standaardwaarde is True.

    Als u uw eigen certificaten gebruikt die door een CA zijn uitgegeven, stelt u deze waarde in op True en configureert u de sseapi_ssl_ca-, sseapi_ssl_cert- en sseapi_ssl_cert:-instellingen.

    Anders stelt u dit in op False om het certificaat niet te valideren.

    sseapi_ssl_validate_cert:False

    sseapi_server

    HTTP IP-adres van uw RaaS-knooppunt, bijvoorbeeld http://example.com of https://example.com als SSL is ingeschakeld.

    sseapi_command_age_limit

    Stelt de leeftijd (in seconden) in waarna oude, potentieel verlopen opdrachten worden overgeslagen. Als u bijvoorbeeld opdrachten die ouder zijn dan een dag wilt overslaan, stelt u deze in op:

    sseapi_command_age_limit:86400

    Overgeslagen opdrachten blijven bestaan in de database en worden weergegeven met de status Completed in de gebruikersinterface van Automation Config.

    In sommige omgevingen moet de Salt-master mogelijk gedurende langere tijd offline zijn en moet de Salt-master alle opdrachten uitvoeren die in de wachtrij zijn geplaatst wanneer deze weer online is. Als dit geldt voor uw omgeving, stelt u de ouderdomslimiet in op 0.

    sseapi_windows_minion_deploy_delay Stelt een vertraging in zodat alle vereiste Windows-services actief kunnen worden. De standaardwaarde is 180 seconden.
    sseapi_linux_minion_deploy_delay Stelt een vertraging in zodat alle vereiste Linux-services kunnen worden geactiveerd. De standaardwaarde is 90 seconden.
    sseapi_local_cache
         load: 3600
         tgt: 86400
         pillar: 3600
         exprmatch: 86400
         tgtmatch: 86400

    Stelt in hoelang bepaalde gegevens lokaal op elke Salt-master in de cache worden opgeslagen. De waarden zijn in seconden. De voorbeeldwaarden zijn aanbevolen waarden.

    • load- Salt-ladingen save_load()

    • tgt- SSE-doelgroepen

    • pillar- SSE-pillargegevens (versleuteld)

    • exprmatch- Afstemmingsgegevens voor SSE-doelexpressie

    • tgtmatch- Afstemmingsgegevens voor SSE-doelgroep

  4. OPTIONEEL: Deze stap is alleen nodig voor handmatige installaties. Om te controleren of u verbinding kunt maken met SSL voordat u verbinding maakt met de masterplug-in, bewerkt u het gegenereerde raas.conf-bestand om de volgende waarden bij te werken. Als u deze waarden niet bijwerkt, gebruikt de masterplug-in het standaard gegenereerde certificaat.
    Waarde Beschrijving
    sseapi_ssl_ca Het pad naar een CA-bestand.
    sseapi_ssl_cert Het pad naar het certificaat. De standaardwaarde is /etc/pki/raas/certs/localhost.crt.
    sseapi_ssl_key Het pad naar de persoonlijke sleutel van het certificaat. De standaardwaarde is /etc/pki/raas/certs/localhost.key.
    id Maak een opmerking van deze regel door een # aan het begin toe te voegen. Deze is niet vereist.
  5. OPTIONEEL: werk prestatiegerelateerde instellingen bij. Voor grote of drukke omgevingen kunt u de prestaties van de communicatie tussen de Salt-master en Automation Config verbeteren door de volgende instellingen aan te passen.
    • De engines van de masterplug-ins configureren:

      De eventqueue- en rpcqueue-engines van de masterplug-in offloaden bepaalde communicatie met Automation Config van prestatiekritieke codepaden naar toegewezen processen. Terwijl de engines wachten om te communiceren met Automation Config, worden ladingen opgeslagen in het lokale bestandssysteem van de Salt-master zodat de gegevens kunnen blijven bestaan bij het opnieuw opstarten van de Salt-master. Met de tgtmatch-engine wordt de berekening van overeenkomsten van de miniondoelgroep verplaatst van de RaaS-server naar de Salt-masters.

      Om de engines in te schakelen, moet u ervoor zorgen dat de volgende instellingen aanwezig zijn in het configuratiebestand van de Salt-masterplug-in (raas.conf):

      engines: 
           - sseapi: {} 
           - eventqueue: {} 
           - rpcqueue: {} 
           - jobcompletion: {} 
           - keyauth: {} 
           - tgtmatch: {}

      Om de eventqueue-engine te configureren, moet u controleren of de volgende instellingen aanwezig zijn:

      sseapi_event_queue: 
        name: sseapi-events 
        strategy: always 
        push_interval: 5 
        batch_limit: 2000 
        age_limit: 86400 
        size_limit: 35000000 
        vacuum_interval: 86400 
        vacuum_limit: 350000 

      De wachtrijparameters kunnen worden aangepast rekening houdend met de manier waarop ze samenwerken. Als er bijvoorbeeld een gemiddelde van 400 gebeurtenissen per seconde op de Salt-gebeurtenisbus is, zorgen de bovenstaande instellingen ervoor dat ongeveer 24 uur aan verkeer van gebeurtenissen in de wachtrij op de Salt-master kan worden verzameld voordat de oudste gebeurtenissen worden verwijderd vanwege grootte- of ouderdomslimieten.

      Om de rpcqueue-engine te configureren, controleert u de volgende instellingen in raas.conf:

      sseapi_rpc_queue: 
        name: sseapi-rpc 
        strategy: always 
        push_interval: 5 
        batch_limit: 500 
        age_limit: 3600 
        size_limit: 360000 
        vacuum_interval: 86400 
        vacuum_limit: 100000 
      Om de tgtmatch-engine te configureren, moet u ervoor zorgen dat deze instellingen aanwezig zijn in het configuratiebestand van de masterplug-in (/etc/salt/master.d/raas.conf)
      engines: 
          - sseapi: {} 
          - eventqueue: {} 
          - rpcqueue: {} 
          - jobcompletion: {} 
          - keyauth: {} 
          - tgtmatch: {} 
      
      sseapi_local_cache:     
          load: 3600 
          tgt: 86400 
          pillar: 3600 
          exprmatch: 86400 
          tgtmatch: 86400 
      
      sseapi_tgt_match: 
          poll_interval: 60     
          workers: 0 
          nice: 19
      Opmerking: Om gebruik te maken van doelafstemming op de Salt-masters, moet de volgende configuratie-instelling ook aanwezig zijn in de RaaS-configuratie: target_groups_from_master_only: true.
    • De ladingsgrootte van minion-grains beperken:
      sseapi_max_minion_grains_payload: 2000
    • Schakel het overslaan van opdrachten in voor opdrachten die ouder zijn dan een gedefinieerde tijd (in seconden). Gebruik bijvoorbeeld 86400 om in te stellen dat opdrachten die ouder zijn dan een dag worden overgeslagen. Indien ingesteld op 0, is deze functie uitgeschakeld:
      sseapi_command_age_limit:0
      Opmerking:

      Tijdens systeemupgrades is het handig deze instelling in te schakelen om te voorkomen dat oude commando's die in de database zijn opgeslagen, onverwacht worden uitgevoerd.

    Samen verhogen gebeurteniswachtrijen in Salt en de wachtrij-engines, afstemming van Salt-masterdoelen, ladingscache en groottelimiet van grains-lading en ouderdomslimiet van commando's in de Salt-masterplug-in de doorvoer en verminderen ze de latentie van de communicatie tussen de Salt-master en Automation Config in de meest prestatiegevoelige codepaden.

  6. Herstart de masterservice.
    sudo systemctl restart salt-master
  7. OPTIONEEL: U wilt mogelijk een testopdracht uitvoeren om ervoor te zorgen dat de masterplug-in nu communicatie tussen de master en het RaaS-knooppunt inschakelt.
    salt -v '*' test.ping

Zelfs als er geen activiteit wordt weergegeven, bijvoorbeeld als er geen minions zijn verbonden, is dit waarschijnlijk een teken van een juiste configuratie.

Referentie voor configuratie-instellingen

Met deze instellingen in het configuratiebestand kan elke Salt-master worden ingeschakeld om verbinding te maken met de API (RaaS). U kunt deze instellingen vinden in het /etc/salt/master.d/raas.conf-configuratiebestand.

Belangrijk:

De instellingen van de Salt-master in het bestand raas.conf hebben voorrang op bestaande instellingen in /etc/salt/master. Als u de instellingen fileserver_backend of ext_pillar in /etc/salt/master heeft aangepast, moet u deze instellingen handmatig samenvoegen zodat ze alleen in één bestand worden weergegeven. U kunt desgewenst de volgorde van de backends wijzigen om de voorrang te wijzigen.

In de volgende tabel worden de algemene configuratie-instellingen uitgelegd:

Optie Beschrijving
id Salt-master-id, automatisch gegenereerd indien niet ingesteld
sseapi_server URL van de SSEAPI-server, bijv. https://sse.example.com:443
engines Salt-engines om in te schakelen, beveel sseapi, eventqueue, rpcqueue, jobcompletion en keyauth aan.
master_job_cache sseapi om de cache van de Automation Config-masteropdracht te gebruiken
event_return Salt-gebeurtenisretourneerder, beveel sseapi aan om de retourneerder van Automation Config-gebeurtenissen te gebruiken
ext_pillar externe pillar-bronnen, sseapi aanbevolen
fileserver_backend backends van bestandsservers, sseapi en roots aanbevolen
sseapi_update_interval hoe vaak moet worden bijgewerkt vanaf de bestandsserver (seconden, standaard 60)
sseapi_poll_interval hoe regelmatig Automation Config moet worden gepeild naar nieuwe gegevens (seconden, standaard 30)
sseapi_jce_poll_interval voegt een vertraging toe tussen iteraties in de jobcompletion-engine, zodat er maximaal 5760 find_job-commando's per dag per Salt-master worden verzonden (seconden, standaard 15)
sseapi_timeout time-out voor API-aanroepen (RaaS) (seconden, standaard 200)
sseapi_pubkey_path pad naar openbare-sleutelbestand voor het verifiëren van de Salt-master bij Automation Config
sseapi_key_rotation Rotatie-interval van de Automation Config-verificatiesleutel van de Salt-master (seconden, standaard 86400)
sseapi_cache_pillar of pillargegevens in cache moet worden opgeslagen in Automation Config (True of False, standaard False)
sseapi_cluster_id (optioneel) clusternaam van de Salt-master, voor het groeperen van Salt-masters in clusters in Automation Config
sseapi_failover_master of deze Salt-master een failover-Salt-master is (True of False, standaard False)
sseapi_command_age_limit of API-opdrachten (RaaS) moeten worden overgeslagen die ouder zijn dan een bepaalde tijd (seconden, 0 om uit te schakelen, standaard 0)

In de volgende tabel worden de SSL-instellingen uitgelegd:

Optie Beschrijving
sseapi_ssl_key pad naar de persoonlijke sleutel van het certificaat
sseapi_ssl_cert pad naar het certificaat
sseapi_ssl_validate_cert of het SSL-certificaat van Automation Config moet worden gevalideerd (True of False, standaard True)

In de volgende tabel worden de instellingen van de gebeurteniswachtrij-engine uitgelegd, die onder sseapi_event_queue verschijnen:

Optie Beschrijving
name Naam voor gebeurteniswachtrij (standaard sseapi-events, dit hoeft niet te worden gewijzigd)
strategy Wanneer gebeurtenissen (always, on_failure of never, standaard never) in de wachtrij moeten worden geplaatst
push_interval Hoe vaak gebeurtenissen naar Automation Config moeten worden gepusht (seconden, standaard 5)
batch_limit Maximum aantal gebeurtenissen om per interval te pushen naar Automation Config (standaard 2000)
age_limit Maximumleeftijd van in wachtrij geplaatste gebeurtenis; oudste gebeurtenissen laten vallen (seconden, standaard 86400)
size_limit Maximale wachtrijgrootte; oudste gebeurtenissen laten vallen (gebeurtenissen, standaard 35000000)
vacuum_interval Hoe vaak een vacuüm moet worden gemaakt van de wachtrijdatabase (seconden, standaard 86400)
vacuum_limit Maximale wachtrijgrootte bij het maken van een vacuüm van de wachtrijdatabase (gebeurtenissen, standaard 350000)

In de volgende tabel worden de instellingen van de RPC-wachtrij-engine uitgelegd, die onder sseapi_rpc_queue verschijnen:

Optie Beschrijving
name Naam voor gebeurteniswachtrij (standaard sseapi-rpc, dit hoeft niet te worden gewijzigd)
strategy Wanneer gebeurtenissen (always, on_failure of never, standaard never) in de wachtrij moeten worden geplaatst
push_interval Hoe vaak aanroepen naar Automation Config moeten worden verzonden (seconden, standaard 5)
batch_limit Maximum aantal aanroepen die per interval naar Automation Config moeten worden gepusht (standaard 500)
age_limit Maximumleeftijd van in wachtrij geplaatste aanroep, oudste vermeldingen laten vallen (seconden, standaard 3600)
size_limit Maximale wachtrijgrootte; oudste vermeldingen laten vallen (gebeurtenissen, standaard 360000)
vacuum_interval Hoe vaak een vacuüm moet worden gemaakt van de wachtrijdatabase (seconden, standaard 86400)
vacuum_limit Maximale wachtrijgrootte bij het maken van een vacuüm van de wachtrijdatabase (vermeldingen, standaard 100000)
In de volgende tabel worden de instellingen van de engine voor doelfafstemming uitgelegd, die onder de kop sseapi_tgt_match verschijnen:
Optie Beschrijving
poll_interval Hoe vaak, in seconden, de engine bijgewerkte doelgroepinformatie van RaaS moet aanvragen (standaard 60)
workers Hoeveel werkerprocessen moeten worden gemaakt om berekeningen voor doelgroepafstemming uit te voeren. De standaardwaarde (0) maakt één proces per CPU-kern, tot maximaal 8.
nice De prioriteit nice van werkers voor doelgroepafstemming. De standaard (19) geeft de werkers de laagste planningsprioriteit om storingen met andere processen die op de Salt-master worden uitgevoerd, te voorkomen.

In de volgende tabel worden de padinstellingen uitgelegd. Na het genereren van de eerste configuratie moet u voorzichtig zijn bij het wijzigen van deze instellingen. Modules worden uit het installatieproces naar deze directory's gekopieerd. Het toevoegen van extra paden zal echter geen negatief effect hebben.

Optie Beschrijving
beacons_dirs externe modulepad(en) voor beacons
engines_dirs externe modulepad(en) voor engines
fileserver_dirs externe modulepad(en) voor fileserver
pillar_dirs externe modulepad(en)voor pillar
returner_dirs externe modulepad(en) voor retourneerder
roster_dirs externe modulepad(en) voor roster
runner_dirs externe modulepad(en) voor runner
module_dirs externe modulepad(en) voor Salt
proxy_dirs externe modulepad(en) voor proxy
metaproxy_dirs externe modulepad(en) voor metaproxy
states_dirs externe modulepad(en) voor statussen

Wat moet u nu doen

Nadat u de masterplug-in heeft geïnstalleerd en geconfigureerd, moet u aanvullende stappen na installatie uitvoeren. De volgende stap is het configureren van het RaaS-knooppunt. Zie Het RaaS-configuratiebestand controleren om verder te gaan met het proces na installatie.