Come parte del processo successivo all'installazione, è necessario installare, configurare e aggiornare il plug-in Master. Il plug-in Master consente ai Salt Master di comunicare con SaltStack Config. Il plug-in Master include una serie di impostazioni che è possibile modificare per migliorare le prestazioni, specialmente negli ambienti di grandi dimensioni oppure occupati.
Il plug-in Master viene in genere installato in ogni Salt Master nell'ambiente che comunica con SaltStack Config. Ad esempio, se si utilizza una configurazione con più Salt Master (a volte denominata "configurazione con più Master"), ogni Master deve installare il plug-in Master.
Per ulteriori informazioni sull'aggiornamento delle impostazioni relative alle prestazioni, vedere la pagina Plug-in Master nella documentazione del prodotto SaltStack Config.
Prima di iniziare
L'installazione e la configurazione del plug-in Master è uno di una serie di passaggi successivi all'installazione che devono essere eseguiti in un ordine specifico. Completare innanzitutto uno degli scenari di installazione e quindi leggere la pagina Installazione della chiave di licenza dopo l'installazione.
Quando è necessario installare il plug-in Master?
È necessario installare il plug-in Master in tutti i Master dopo una nuova installazione di SaltStack Config. Il plug-in Master non è necessario nei Master che non devono comunicare con SaltStack Config.
Se si utilizza l'installazione con un nodo singolo, non è necessario installare il plug-in Master nel nodo in cui sono stati installati SaltStack Config e la relativa architettura. Il programma di installazione installa automaticamente il plug-in Master nel nodo del Salt Master. Tuttavia, il plug-in Master viene installato solo nel Salt Master in cui è stato eseguito il programma di installazione. Se si dispone di più Master, è comunque necessario installare il plug-in Master negli altri Master.
Se di recente è stato effettuato l'aggiornamento a una versione più recente di SaltStack Config, è consigliabile installare nuovamente il plug-in Master. Per istruzioni complete sull'aggiornamento e l'installazione del plug-in Master dopo un aggiornamento, vedere Aggiornamento da una versione precedente.
Se si sta installando SaltStack Config manualmente (scelta non consigliata), è necessario completare quanto segue prima di installare il plug-in Master:
- Installare e configurare il database PostgreSQL
- Installare e configurare il database Redis
- Abilitare SSL (facoltativo)
Installazione del plug-in Master
Per installare il plug-in Master nel proprio Salt Master:
- Accedere al Master.
- Se necessario, scaricare il file wheel del plug-in Master da Customer Connect.
Il plug-in Master è incluso nel file .tar.gz del programma di installazione automatizzato. Dopo aver scaricato ed estratto il file .tar.gz, è possibile trovare il plug-in Master nella directory
sse-installer/salt/sse/eapi_plugin/files
. - Installare il plug-in Master installando manualmente il file wheel di Python aggiornato. Utilizzare i seguenti comandi di esempio, specificando il nome esatto del file wheel:
RHEL/CentOS
sudo pip3 install SSEAPE-file-name.whl --prefix /usr
Ubuntu
sudo pip3 install SSEAPE-file-name.whl
Nota: È possibile che alcuni utenti debbano utilizzare la sintassipip3.6
opip36
per i loro sistemi operativi.
Configurazione del plug-in Master
Per configurare il Master dopo l’installazione del plug-in Master:
- Accedere al Master e verificare che la directory
/etc/salt/master.d
esista. In caso contrario, crearla. - Generare le impostazioni di configurazione del Master.
Attenzione: Se si desidera conservare le impostazioni quando si aggiorna l'installazione, creare un backup del file di configurazione del plug-in Master esistente prima di eseguire questo passaggio. Copiare quindi le impostazioni pertinenti dalla configurazione esistente nel file appena generato.
sudo sseapi-config --all > /etc/salt/master.d/raas.conf
Se l'esecuzione di questo comando causa un errore, è possibile che sia dovuto al metodo usato durante l'installazione iniziale di Salt. Se Salt è stato installato tramite il programma di installazione di SaltStack Config, è probabile che l'installazione includa un pacchetto offline, denominato Salt Crystal, che richiede istruzioni di aggiornamento speciali. Per ulteriori informazioni, vedere la pagina Risoluzione dei problemi.
- Modificare il file
raas.conf
generato e aggiornare i valori come segue per convalidare il certificato utilizzato dall'API (RaaS) e impostare il relativo indirizzo IP.Valore Descrizione sseapi_ssl_validate_cert
Convalida il certificato utilizzato dall'API (RaaS). Il valore predefinito è
True
.Se si utilizzano certificati emessi dall'autorità di certificazione, impostare questo valore su
True
e configurare le impostazionisseapi_ssl_ca
,sseapi_ssl_cert
esseapi_ssl_cert:
.In caso contrario, impostarlo su
False
per non convalidare il certificato.sseapi_ssl_validate_cert:False
sseapi_server
Indirizzo IP HTTP del nodo RaaS, ad esempio
http://example.com
ohttps://example.com
se SSL è abilitato.sseapi_command_age_limit
Imposta il periodo di tempo (in secondi) dopo il quale i processi precedenti e potenzialmente obsoleti vengono ignorati. Ad esempio, per ignorare i processi che risalgono a un giorno prima, impostarla su:
sseapi_command_age_limit:86400
I processi ignorati continueranno ad esistere nel database e verranno visualizzati con lo stato
Completed
nell'interfaccia utente di SaltStack Config.In alcuni ambienti che richiedono che il Salt Master rimanga offline per lunghi periodi di tempo è necessario che il Salt Master esegua tutti i processi accodati quando torna online. Se questa condizione si applica al proprio ambiente, impostare il limite di età su
0
.sseapi_windows_minion_deploy_delay
Imposta un ritardo per consentire l'attivazione di tutti i servizi Windows necessari. Il valore predefinito è 180 secondi. sseapi_linux_minion_deploy_delay
Imposta un ritardo per consentire l'attivazione di tutti i servizi Linux necessari. Il valore predefinito è 90 secondi. - FACOLTATIVO: questo passaggio è necessario solo per le installazioni manuali. Per verificare che sia possibile connettersi a SSL prima di connettere il plug-in Master, modificare il file
raas.conf
generato per aggiornare i valori seguenti. Se questi valori non vengono aggiornati, il plug-in Master utilizza il certificato generato per impostazione predefinita.Valore Descrizione sseapi_ssl_ca
Percorso di un file CA. sseapi_ssl_cert
Percorso del certificato. Il valore predefinito è /etc/pki/raas/certs/localhost.crt
.sseapi_ssl_key
Percorso della chiave privata del certificato. Il valore predefinito è /etc/pki/raas/certs/localhost.key
.id
Per commentare questa riga, aggiungere un #
all'inizio. Non è obbligatorio. - FACOLTATIVO: aggiornare le impostazioni relative alle prestazioni. Per gli ambienti di grandi dimensioni oppure occupati, è possibile migliorare le prestazioni delle comunicazioni tra il Salt Master e SaltStack Config modificando le seguenti impostazioni.
- Abilitare l'accodamento degli eventi (disponibile in Salt 2019.2.2 e versioni successive). Gli eventi possono essere accodati nel Salt Master e inviati al returner di eventi in batch utilizzando una singola transazione per più eventi. Per impostazione predefinita, questo meccanismo di accodamento è disabilitato. Per abilitare l'accodamento degli eventi, impostare quanto segue nel file di configurazione del plug-in Salt Master:
event_return_queue:2500 event_return_queue_max_seconds:5
Il numero massimo suggerito di eventi in coda è 2500, come illustrato. Quando è piena, la coda viene svuotata e gli eventi vengono inoltrati al returner di eventi. Un valore inferiore potrebbe essere più adatto per gli ambienti più piccoli o meno occupati.
In alcuni casi, il bus degli eventi di Salt potrebbe non essere sufficientemente occupato da causare il regolare raggiungimento delle dimensioni massime della coda. Se si imposta
event_return_queue_max_seconds
, la coda verrà svuotata quando l'evento meno recente nella coda è precedente al valore configurato, indipendentemente dal numero di eventi presenti nella coda. - Abilitare e configurare i motori
eventqueue
erpcqueue
:Questi motori effettuano l'offload di alcune comunicazioni con SaltStack Config dai percorsi di codice critici per le prestazioni ai processi dedicati. Mentre i motori sono in attesa di comunicare con SaltStack Config, i payload vengono archiviati nel file system locale del Salt Master in modo che i dati possano persistere a ogni riavvio del Salt Master.
Per abilitare i motori, rimuovere il commento dalle seguenti impostazioni nel file di configurazione del plug-in Salt Master (
raas.conf
):engines: - sseapi: {} - eventqueue: {} - rpcqueue: {} - jobcompletion: {} - keyauth: {}
Per configurare il motore
eventqueue
, rimuovere il commento e aggiornare le impostazioni seguenti: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: []
I parametri della coda possono essere modificati in base al modo in cui collaborano. Ad esempio, supponendo una media di 400 eventi al secondo nel bus degli eventi di Salt, le impostazioni visualizzate in precedenza consentono di raccogliere circa 24 ore di traffico degli eventi in coda nel Salt Master prima che gli eventi meno recenti vengono eliminati a causa dei limiti di dimensione o di età.
Per configurare il motore
rpcqueue
, rimuovere il commento e aggiornare le impostazioni seguenti: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
- Abilitare la memorizzazione nella cache del carico:
sseapi_local_cache: load:3600
Nota: Se il motorerpcqueue
è abilitato, deve essere abilitata anche la memorizzazione nella cache del carico per consentire al Salt Master di gestire correttamente i processi. - Limitare le dimensioni del payload dei grani dei minion:
sseapi_max_minion_grains_payload:2000
- Abilitare la funzionalità che consente di ignorare i processi che risalgono a prima di un periodo definito (in secondi). Ad esempio, utilizzare
86400
per impostarla in modo che ignori i processi che hanno più di un giorno. Quando è impostata su0
, questa funzionalità è disabilitata:sseapi_command_age_limit:0
Nota:Questa funzionalità è utile durante l'aggiornamento per evitare l'esecuzione imprevista dei comandi precedenti archiviati nel database.
Insieme, l'accodamento degli eventi in Salt e i motori di accodamento, la memorizzazione nella cache del carico, il limite delle dimensioni del payload dei grani e il limite di età dei comandi nel plug-in Salt Master aumentano la velocità effettiva e riducono la latenza delle comunicazioni tra il Salt Master e SaltStack Config nei percorsi di codice più sensibili alle prestazioni.
- Abilitare l'accodamento degli eventi (disponibile in Salt 2019.2.2 e versioni successive). Gli eventi possono essere accodati nel Salt Master e inviati al returner di eventi in batch utilizzando una singola transazione per più eventi. Per impostazione predefinita, questo meccanismo di accodamento è disabilitato. Per abilitare l'accodamento degli eventi, impostare quanto segue nel file di configurazione del plug-in Salt Master:
- Riavviare il servizio Master.
sudo systemctl restart salt-master
- FACOLTATIVO: potrebbe essere necessario eseguire un processo di test per assicurarsi che a questo punto il plug-in Master consenta la comunicazione tra il Master e il nodo RaaS.
salt -v '*' test.ping
Anche se non viene visualizzata alcuna attività, come se non fosse connesso alcun minion, è probabile che questo indichi una configurazione corretta.
Riferimenti delle impostazioni di configurazione
Queste impostazioni nel file di configurazione consentono a ogni Salt Master di connettersi all'API (RaaS). Queste impostazioni sono disponibili nel file di configurazione /etc/salt/master.d/raas.conf
.
Le impostazioni del Salt Master nel file raas.conf hanno la precedenza sulle impostazioni esistenti in /etc/salt/master
. Se le impostazioni di fileserver_backend
o ext_pillar
sono state personalizzate in /etc/salt/master
, è necessario unirle manualmente in modo che siano presenti in un solo file. Facoltativamente, è possibile riordinare i back-end per modificare la precedenza.
La seguente tabella illustra le impostazioni di configurazione generali:
Opzione | Descrizione |
---|---|
id |
ID Salt Master, generato automaticamente se non viene impostato |
sseapi_server |
URL del server SSEAPI, ad esempio https://sse.example.com:443 |
engines |
motori Salt da abilitare, sseapi , eventqueue , rpcqueue , jobcompletion e keyauth consigliati. |
master_job_cache |
sseapi per utilizzare la cache dei processi Master di SaltStack Config |
event_return |
returner eventi di Salt, sseapi consigliato per utilizzare il returner di eventi di SaltStack Config |
ext_pillar |
origini dei pillar esterni, sseapi consigliato |
fileserver_backend |
back-end dei file server, sseapi e roots consigliati |
sseapi_update_interval |
frequenza di aggiornamento dal file server (secondi, valore predefinito 60) |
sseapi_poll_interval |
frequenza di polling di SaltStack Config per i nuovi dati (secondi, valore predefinito 30) |
sseapi_timeout |
timeout per le chiamate API (RaaS) (secondi, valore predefinito 200) |
sseapi_pubkey_path |
percorso del file della chiave pubblica per l'autenticazione del Salt Master di SaltStack Config |
sseapi_key_rotation |
intervallo di rotazione della chiave di autenticazione di SaltStack Config del Salt Master (secondi, valore predefinito 86400) |
sseapi_cache_pillar |
indica se memorizzare nella cache i dati dei pillar in SaltStack Config (True o False, valore predefinito False) |
sseapi_cluster_id |
(facoltativo) nome del cluster di Salt Master, per raggruppare i Salt Master in cluster in SaltStack Config |
sseapi_failover_master |
indica se questo Salt Master è un Salt Master di failover (True o False, valore predefinito False) |
sseapi_command_age_limit |
indica se ignorare i comandi dell'API (RaaS) precedenti a un periodo definito (secondi, 0 per disabilitare l'opzione, valore predefinito 0) |
La seguente tabella spiega le impostazioni di SSL:
Opzione | Descrizione |
---|---|
sseapi_ssl_key |
percorso della chiave privata del certificato |
sseapi_ssl_cert |
percorso del certificato |
sseapi_ssl_validate_cert |
indica se convalidare il certificato SSL di SaltStack Config (True o False, valore predefinito True) |
La seguente tabella spiega le impostazioni del motore della coda degli eventi, disponibili sotto l'intestazione sseapi_event_queue
:
Opzione | Descrizione |
---|---|
name |
Nome della coda degli eventi (valore predefinito sseapi-events , non è necessario modificarlo) |
strategy |
Indica quando accodare gli eventi (always , on_failure o never , valore predefinito never ) |
push_interval |
Frequenza di push degli eventi in SaltStack Config (secondi, valore predefinito 5) |
batch_limit |
Numero massimo di eventi di cui eseguire il push in SaltStack Config per intervallo (valore predefinito 2000) |
age_limit |
Età massima degli eventi in coda; rilascia gli eventi meno recenti (secondi, valore predefinito 86400) |
size_limit |
Dimensioni massime della coda; rilascia gli eventi meno recenti (eventi, valore predefinito 35000000) |
vacuum_interval |
Frequenza di svuotamento del database della coda (secondi, valore predefinito 86400) |
vacuum_limit |
Dimensioni massime della coda quando il database della coda viene svuotato (eventi, valore predefinito 350000) |
forward |
Returner Salt aggiuntivi a cui inviare gli eventi durante lo svuotamento della coda (valore predefinito none) La voce della configurazione sseapi_event_queue: # ...other queue settings... forward: - rawfile_json # rawfile_json returner configuration rawfile_json.filename: /var/log/salt/events.json |
La seguente tabella spiega le impostazioni del motore della coda RPC, disponibili sotto l'intestazione sseapi_rpc_queue
:
Opzione | Descrizione |
---|---|
name |
Nome della coda degli eventi (valore predefinito sseapi-rpc , non è necessario modificarlo) |
strategy |
Indica quando accodare gli eventi (always , on_failure o never , valore predefinito never ) |
push_interval |
Frequenza di invio delle chiamate a SaltStack Config (secondi, valore predefinito 5) |
batch_limit |
Numero massimo di chiamate di cui eseguire il push in SaltStack Config per intervallo (valore predefinito 500) |
age_limit |
Età massima delle chiamate in coda; rilascia le voci meno recenti (secondi, valore predefinito 3600) |
size_limit |
Dimensioni massime della coda; rilascia le voci meno recenti (eventi, valore predefinito 360000) |
vacuum_interval |
Frequenza di svuotamento del database della coda (secondi, valore predefinito 86400) |
vacuum_limit |
Dimensioni massime della coda quando il database della coda viene svuotato (voci, valore predefinito 100000) |
La seguente tabella spiega le impostazioni del percorso. Dopo la generazione della configurazione iniziale, prestare attenzione a modificare tali impostazioni. I moduli verranno copiati in queste directory dal processo di installazione. Tuttavia, l'aggiunta di percorsi aggiuntivi non avrà effetti negativi.
Opzione | Descrizione |
---|---|
beacons_dirs |
percorso/i dei moduli esterni dei beacon |
engines_dirs |
percorso/i dei moduli esterni dei motori |
fileserver_dirs |
percorso/i dei moduli esterni del file server |
pillar_dirs |
percorso/i dei moduli esterni del pillar |
returner_dirs |
percorso/i dei moduli esterni del returner |
roster_dirs |
percorso/i dei moduli esterni del roster |
runner_dirs |
percorso/i dei moduli esterni del runner |
module_dirs |
percorso/i dei moduli esterni del Salt |
proxy_dirs |
percorso/i dei moduli esterni del proxy |
metaproxy_dirs |
percorso/i dei moduli esterni del metaproxy |
states_dirs |
percorso/i dei moduli esterni degli stati |
Passaggi successivi
Dopo aver installato e configurato il plug-in Master, è necessario completare ulteriori passaggi successivi all'installazione. Il passaggio successivo consiste nella configurazione del nodo RaaS. Per continuare il processo successivo all'installazione, vedere Controllo del file di configurazione di RaaS.