Als onderdeel van het postinstallatieproces moet u de masterplug-in installeren, configureren en upgraden. Met de masterplug-in kunnen uw Salt-masters met SaltStack 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 SaltStack Config communiceert. Bijvoorbeeld: als u een configuratie met meer dan één Salt-master gebruikt (ook wel multi-master-setup genoemd), moet elke master de masterplug-in installeren.
Voor meer informatie over het bijwerken van prestatiegerelateerde instellingen bekijkt u de pagina over de masterplug-in in de productdocumentatie voor SaltStack Config.
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.
Wanneer moet u de masterplug-in installeren?
U moet de masterplug-in voor al uw masters installeren na een nieuwe installatie van SaltStack Config. De masterplug-in is niet nodig voor masters die niet hoeven te communiceren met SaltStack Config.
Als u het installatiescenario SaltStack Config installeren voor minder dan 1000 knooppunten heeft gebruikt, hoeft u de masterplug-in niet te installeren op het knooppunt waarop u SaltStack 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 onlangs een upgrade heeft uitgevoerd naar een nieuwere versie van SaltStack Config, moet u ook de masterplug-in opnieuw installeren. Zie SaltStack Config upgraden voor de volledige instructies over het upgraden en installeren van de masterplug-in na een upgrade.
Als u SaltStack 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)
De masterplug-in installeren
De masterplug-in op uw Salt-master installeren:
- Meld u aan bij uw master.
- 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
. - Installeer de masterplug-in door het bijgewerkte Python-wheelbestand handmatig te installeren. Gebruik de volgende voorbeeldcommando's en voeg hierbij de exacte naam van het wheelbestand in:
RHEL/CentOS
sudo pip3 install SSEAPE-file-name.whl --prefix /usr
Ubuntu
sudo pip3 install SSEAPE-file-name.whl
Opmerking: Sommige gebruikers moeten mogelijk de syntaxis wijzigen inpip3.6
ofpip36
voor hun besturingssystemen.
De masterplug-in configureren
De master na installatie van de masterplug-in configureren:
- Meld u aan bij uw master en controleer of de directory
/etc/salt/master.d
bestaat of maak deze. - 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
Als het uitvoeren van dit commando een fout veroorzaakt, kan deze betrekking hebben op de methode die u oorspronkelijk heeft gebruikt om Salt te installeren. Als u Salt via het installatieprogramma van SaltStack Config heeft geïnstalleerd, bevat uw installatie waarschijnlijk een offlinepakket, Salt Crystal genoemd, waarvoor speciale upgrade-instructies zijn vereist. Zie Problemen oplossen voor meer informatie.
- Bewerk het gegenereerde bestand
raas.conf
en werk de waarden als volgt bij om het certificaat te valideren dat de API (RaaS) gebruikt en het IP-adres ervan in te stellen.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 desseapi_ssl_ca
-,sseapi_ssl_cert
- ensseapi_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
ofhttps://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 SaltStack 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. - 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. - OPTIONEEL: werk prestatiegerelateerde instellingen bij. Voor grote of drukke omgevingen kunt u de prestaties van de communicatie tussen de Salt-master en SaltStack Config verbeteren door de volgende instellingen aan te passen.
- Schakel gebeurteniswachtrijen in (beschikbaar in Salt 2019.2.2 en hoger). Gebeurtenissen kunnen op de Salt-master in de wachtrij worden geplaatst en met één enkele transactie voor meerdere gebeurtenissen naar de gebeurtenisretourneerder worden verzonden. Dit wachtrijmechanisme is standaard uitgeschakeld. Als u gebeurteniswachtrij wilt inschakelen, stelt u het volgende in het configuratiebestand van uw Salt-masterplug-in in:
event_return_queue:2500 event_return_queue_max_seconds:5
De voorgestelde maximumgrootte voor de gebeurteniswachtrij is 2500, zoals weergegeven. De wachtrij wordt leeggemaakt en gebeurtenissen worden doorgestuurd naar de gebeurtenisretourneerder wanneer de wachtrij vol is. Een lagere waarde kan beter passen bij kleinere of minder drukke omgevingen.
In sommige gevallen is de Salt-gebeurtenisbus mogelijk niet druk genoeg om ervoor te zorgen dat de wachtrij de maximale grootte op regelmatige basis bereikt. Als u
event_return_queue_max_seconds
instelt, zal de wachtrij worden leeggemaakt wanneer de oudste gebeurtenis in de wachtrij ouder is dan de geconfigureerde waarde, ongeacht hoeveel gebeurtenissen in de wachtrij staan. - De engines
eventqueue
enrpcqueue
inschakelen en configureren:Deze engines offloaden bepaalde communicatie met SaltStack Config van prestatiekritieke codepaden naar toegewezen processen. Terwijl de engines wachten om te communiceren met SaltStack 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.
Om de engines in te schakelen, moet u de volgende instellingen in het configuratiebestand van de Salt-masterplug-in (
raas.conf
) als code inschakelen:engines: - sseapi: {} - eventqueue: {} - rpcqueue: {} - jobcompletion: {} - keyauth: {}
Om de
eventqueue
te configureren, moet u de volgende instellingen als code inschakelen en bijwerken: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 forward: []
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
te configureren, moet u de volgende instellingen als code inschakelen en bijwerken: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
- Ladingscache inschakelen:
sseapi_local_cache: load:3600
Opmerking: Als de enginerpcqueue
is ingeschakeld, moet ook de ladingscache worden ingeschakeld zodat de Salt-master de opdrachten correct kan afhandelen. - 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 op0
, is deze functie uitgeschakeld:sseapi_command_age_limit:0
Opmerking:Dit is handig tijdens de upgrade, 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, 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 SaltStack Config in de meest prestatiegevoelige codepaden.
- Schakel gebeurteniswachtrijen in (beschikbaar in Salt 2019.2.2 en hoger). Gebeurtenissen kunnen op de Salt-master in de wachtrij worden geplaatst en met één enkele transactie voor meerdere gebeurtenissen naar de gebeurtenisretourneerder worden verzonden. Dit wachtrijmechanisme is standaard uitgeschakeld. Als u gebeurteniswachtrij wilt inschakelen, stelt u het volgende in het configuratiebestand van uw Salt-masterplug-in in:
- Herstart de masterservice.
sudo systemctl restart salt-master
- 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.
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 SaltStack Config-masteropdracht te gebruiken |
event_return |
Salt-gebeurtenisretourneerder, beveel sseapi aan om de retourneerder van SaltStack 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 SaltStack 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 SaltStack Config |
sseapi_key_rotation |
Rotatie-interval van de SaltStack Config-verificatiesleutel van de Salt-master (seconden, standaard 86400) |
sseapi_cache_pillar |
of pillargegevens in cache moet worden opgeslagen in SaltStack Config (True of False, standaard False) |
sseapi_cluster_id |
(optioneel) clusternaam van de Salt-master, voor het groeperen van Salt-masters in clusters in SaltStack 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 SaltStack 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 SaltStack Config moeten worden gepusht (seconden, standaard 5) |
batch_limit |
Maximum aantal gebeurtenissen om per interval te pushen naar SaltStack 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) |
forward |
Extra Salt-retourneerders om gebeurtenissen naar te verzenden bij het leegmaken van de wachtrij (standaard none) Voor het configuratie-item sseapi_event_queue: # ...other queue settings... forward: - rawfile_json # rawfile_json returner configuration rawfile_json.filename: /var/log/salt/events.json |
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 SaltStack Config moeten worden verzonden (seconden, standaard 5) |
batch_limit |
Maximum aantal aanroepen die per interval naar SaltStack 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 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.