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 Automation 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 Automation Config. Ad esempio, se si utilizza una configurazione con più Salt Master (a volte denominata "configurazione con più Master"), è necessario installare il plug-in Master su ogni Salt Master.

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.

Se si è in un ambiente non air gap, le dipendenze vengono installate automaticamente con il plug-in Master. Per gli ambienti air gap, fare riferimento all'articolo della Knowledge Base Installazione del plug-in Salt Master in sistemi air gap.

Quando è necessario installare il plug-in Master?

È necessario installare il plug-in Master in tutti i Salt Master prima di connetterli a Automation Config Cloud. Il plug-in Master non è necessario nei Salt Master che non devono comunicare con Automation Config.

È necessario installare il plug-in Master in tutti i Salt Master dopo una nuova installazione di Automation Config. Il plug-in Master non è necessario nei Salt Master che non devono comunicare con Automation Config.

Se si utilizza lo scenario di installazione Installazione di SaltStack Configper meno di 1000 nodi, non è necessario installare il plug-in Master nel nodo in cui sono stati installati Automation 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 sono già presenti Salt Master, è necessario aggiornare il plug-in Master. Per istruzioni complete sull'aggiornamento e l'installazione del plug-in Master, vedere Come aggiornare il plug-in Master.

Se si sta installando Automation 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)
Importante: Con qualsiasi rilascio, è consigliabile aggiornare la configurazione del plug-in Master generando un file di configurazione predefinito e applicando tutte le impostazioni che si desidera conservare dalla configurazione esistente. Ad esempio:
# sseapi-config --default >/tmp/raas.conf 
# cd /etc/salt/master.d 
# vim -d raas.conf /tmp/raas.conf 
...

Se Salt è stato installato utilizzando onedir, il percorso di questo file eseguibile è /opt/salt/salt/extras-3.10/bin/sseapi-config.

Installare il plug-in Master utilizzando l'area di lavoro Plug-in Master

Nota: Questa funzionalità è supportata per Automation Config versione 8.11.2 o successiva.
Nota: Il Salt Master deve essere eseguito come root.

È possibile scaricare e installare la versione più recente del plug-in Master dall'interfaccia utente di Automation Config selezionando Amministrazione > Plug-in Master. Nella scheda Plug-in Master, è possibile scaricare il plug-in o il client.

Dopo aver scaricato il plug-in Master, è necessario Configurare il plug-in Master.

Installare il plug-in Master mediante CLI

Per installare il plug-in Master nel proprio Salt Master:

A partire dalla versione 8.13.0, il plug-in Master include un motore tgtmatch che ora effettua l'offload del gruppo di destinazione corrispondente dal server RaaS ai Salt Master. È consigliabile abilitare e configurare tale motore tgtmatch per rendere il gruppo di destinazione corrispondente più reattivo, specialmente negli ambienti con:

  • Un numero elevato di gruppi di destinazione (100 o più)
  • Un numero elevato di minion (3000 o più)
  • Modifiche frequenti ai grain dei minion (giornaliere o più frequenti)
  • Creazione ed eliminazione frequenti di minion (giornaliere o più frequenti)
Per configurare RaaS in modo che preveda che i dati corrispondenti della destinazione vengano forniti dai Salt Master, assicurarsi che nel file di configurazione di RaaS (/etc/raas/raas/raas) sia presente l'impostazione seguente:
target_groups_from_master_only: true
  1. Accedere al Salt Master.
  2. 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.

  3. Aggiornare il plug-in Master disinstallando e reinstallando manualmente il file wheel di Python aggiornato. Utilizzare i seguenti comandi di esempio, specificando il nome esatto del file wheel:
    Nota: Per impedire più istanze di sseapi-config, è necessario disinstallare il plug-in esistente.
    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

Configurazione del plug-in Master

Per configurare il Salt Master dopo l'installazione del plug-in Master:

  1. Accedere al Salt Master e verificare che la directory /etc/salt/master.d esista. In caso contrario, crearla.
  2. 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.
    Nota: Se si desidera conservare le impostazioni di configurazione, 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
    Importante: Se Salt è stato installato utilizzando onedir, il percorso di questo file eseguibile è /opt/salt/salt/extras-3.10/bin/sseapi-config.
  3. Modificare il file raas.conf generato e aggiornare i valori nel modo seguente:
    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 impostazioni sseapi_ssl_ca, sseapi_ssl_cert e sseapi_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 o https://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 continuano ad esistere nel database e vengono visualizzati con lo stato Completed nell'interfaccia utente di Automation 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.
    sseapi_local_cache
         load: 3600
         tgt: 86400
         pillar: 3600
         exprmatch: 86400
         tgtmatch: 86400

    Imposta l'intervallo di tempo per cui determinati dati vengono memorizzati nella cache in locale in ogni Salt Master. I valori sono in secondi. I valori di esempio sono valori consigliati.

    • load- salt save_load() payloads

    • tgt- SSE target groups

    • pillar- SSE pillar data (encrypted)

    • exprmatch- SSE target expression matching data

    • tgtmatch- SSE target group matching data

  4. 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.
  5. 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 Automation Config modificando le seguenti impostazioni.
    • Configurare i motori del plug-in Master:

      Il plug-in Master eventqueue e i motori rpcqueue effettuano l'offload di alcune comunicazioni con Automation Config dai percorsi di codice critici per le prestazioni ai processi dedicati. Mentre i motori sono in attesa di comunicare con Automation 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. Il motore tgtmatch sposta il calcolo delle corrispondenze del gruppo di destinazione dei minion dal server RaaS ai Salt Master.

      Per abilitare i motori, assicurarsi che le seguenti impostazioni siano presenti nel file di configurazione del plug-in Salt Master (raas.conf):

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

      Per configurare il motore eventqueue, verificare che siano presenti le seguenti impostazioni:

      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 

      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, verificare le seguenti impostazioni 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 
      Per configurare il motore tgtmatch, assicurarsi che queste impostazioni siano presenti nel file di configurazione del plug-in Master (/etc/salt/master.d/raas.conf)
      engines: 
          - sseapi: {} 
          - eventqueue: {} 
          - rpcqueue: {} 
          - jobcompletion: {}    
          - tgtmatch: {} 
      
      sseapi_local_cache:     
          load: 3600 
          tgt: 86400 
          pillar: 3600 
          exprmatch: 86400 
          tgtmatch: 86400 
      
      sseapi_tgt_match: 
          poll_interval: 60     
          workers: 0 
          nice: 19
      Nota: Per utilizzare la corrispondenza della destinazione nei Salt Master, nella configurazione di RaaS deve essere presente anche la seguente impostazione di configurazione: target_groups_from_master_only: true.
    • 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 su 0, questa funzionalità è disabilitata:
      sseapi_command_age_limit:0
      Nota:

      Durante gli aggiornamenti del sistema, l'abilitazione di questa impostazione è utile per evitare che i comandi precedenti archiviati nel database vengano eseguiti in modo imprevisto.

    Insieme, l'accodamento degli eventi in Salt e i motori di accodamento, la corrispondenza della destinazione del Salt Master, il limite delle dimensioni del payload dei grain 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 Automation Config nei percorsi di codice più sensibili alle prestazioni.

  6. Riavviare il servizio Master.
    sudo systemctl restart salt-master
  7. 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.

Importante:

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 consigliati.
master_job_cache sseapi per utilizzare la cache dei processi Master di Automation Config
event_return returner eventi di Salt, sseapi consigliato per utilizzare il returner di eventi di Automation 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 Automation Config per i nuovi dati (secondi, valore predefinito 30)
sseapi_jce_poll_interval aggiunge un ritardo tra le iterazioni nel motore jobcompletion in modo che vengano inviati al massimo 5760 comandi find_job al giorno per Salt Master (secondi, predefinito 15)
sseapi_timeout timeout per le chiamate API (RaaS) (secondi, valore predefinito 200)
sseapi_key_rotation intervallo di rotazione della chiave di autenticazione di Automation Config del Salt Master (secondi, valore predefinito 86400)
sseapi_cache_pillar indica se memorizzare nella cache i dati dei pillar in Automation 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 Automation 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 Automation 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 Automation Config (secondi, valore predefinito 5)
batch_limit Numero massimo di eventi di cui eseguire il push in Automation 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)

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 Automation Config (secondi, valore predefinito 5)
batch_limit Numero massimo di chiamate di cui eseguire il push in Automation 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 motore della corrispondenza della destinazione, disponibili sotto l'intestazione sseapi_tgt_match:
Opzione Descrizione
poll_interval Frequenza, in secondi, con cui il motore deve richiedere informazioni aggiornate sul gruppo di destinazione da RaaS (impostazione predefinita 60)
worker Numero di processi di worker da creare per eseguire i calcoli di corrispondenza del gruppo di destinazione. Il valore predefinito (0) crea un processo per core CPU fino a un limite di 8.
nice La niceness della priorità dei worker di corrispondenza del gruppo di destinazione. Il valore predefinito (19) assegna ai worker la priorità di pianificazione più bassa per evitare l'interferenza con altri processi in esecuzione nel Salt Master.

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.

Dopo aver installato e configurato il plug-in Master, è possibile richiedere l'accesso al servizio Automation Config Cloud nella piattaforma di VMware Cloud Services (CSP).