Se si integra SaltStack Config con vRealize Automation, è possibile applicare la risorsa SaltStack Config per installare i minion nelle macchine virtuali nelle distribuzioni. Dopo aver distribuito il minion, è possibile utilizzare la potente gestione della configurazione di SaltStack Config, la correzione della deviazione e le funzionalità di gestione dello stato per gestire le risorse.

I minion sono agenti che eseguono il servizio salt-minion. Il servizio sottoscrive i processi pubblicati da un Salt Master, che è un server che esegue il servizio Salt-Master. Quando un processo specifico si applica a un minion, il minion esegue il processo.

È possibile utilizzare la risorsa SaltStack Config per distribuire minion e applicare i file di stato quando si distribuiscono le macchine Linux e Windows. Per aggiungere o aggiornare minion e file di stato nelle distribuzioni esistenti, è possibile eseguire l'azione del giorno 2 Collega risorsa SaltStack. Per ulteriori informazioni sulla creazione dell'azione giorno 2, vedere Quali azioni è possibile eseguire sulle distribuzioni di Cloud Assembly.

Se è stata utilizzata la proprietà saltConfiguration per distribuire i minion e i file di stato come azione giorno 0, è consigliabile aggiornare i modelli cloud per utilizzare la risorsa SaltStack Config. La proprietà saltConfiguration è ora deprecata. È comunque possibile utilizzare la proprietà saltConfiguration nei modelli cloud, ma le funzionalità di integrazione di SaltStack Config saranno limitate.

L'azione del giorno 2 Applica configurazione Salt è ancora disponibile per le risorse che utilizzano la proprietà saltConfiguration.

Prima di iniziare

  1. Verificare di aver installato SaltStack Config e configurato l'integrazione. Vedere Creazione di un'integrazione di SaltStack Config in vRealize Automation.

    Per acquisire familiarità con il funzionamento di SaltStack Config, inclusi i concetti chiave dei minion, vedere l'argomento relativo all'interfaccia utente di SaltStack.

  2. In SaltStack Config, verificare che la risoluzione dei nomi di dominio completi da minion a master funzioni.
    1. Per verificare il nome di dominio completo nel Salt Master in SaltStack Config, selezionare Minion > Tutti i minion.
    2. Filtrare la colonna ID minion per il valore saltmaster.
    3. Fare clic su saltmaster per visualizzare i dettagli.
    4. Verificare che il valore del nome completo di dominio sia corretto.
  3. Se si distribuiscono minion in una macchina Linux, verificare che le funzionalità SSH siano abilitate per le immagini in vSphere che si intende distribuire con un minion Salt. SSH viene utilizzato per accedere in remoto alla macchina e distribuire il minion.
  4. Se si distribuiscono minion in una macchina Windows, vedere Come distribuire i minion utilizzando l'API (RaaS) in un ambiente Windows.

  5. Verificare che sia possibile assegnare indirizzi IP alle macchine distribuite.

    SaltStack Config richiede che le macchine dispongano di indirizzi IP. Usare gli indirizzi IP per l'intervallo CIDR dell'IP pubblico per l'SDDC (data center definito da software) in cui si trova il Salt Master.

  6. Verificare che il modello cloud a cui si sta aggiungendo il minion sia distribuibile prima di aggiungere le proprietà della risorsa SaltStack Config.
  7. Verificare di disporre dei ruoli di servizio seguenti:
    1. Amministratore di Cloud Assembly
    2. Utente di Cloud Assembly
    3. Amministratore di Service Broker

    Questi ruoli di servizio sono necessari per utilizzare la risorsa SaltStack Config.

Aggiunta della risorsa SaltStack Config al modello cloud

Lo sviluppatore di modelli cloud può aggiungere al codice YAML proprietà che installano il minion SaltStack Config quando si distribuisce il modello.

Le proprietà principali aggiunte al modello includono l'accesso remoto per la macchina che si desidera distribuire e le proprietà di configurazione per la risorsa SaltStack Config. La procedura include solo le proprietà selezionate. Il codice YAML include altre proprietà della risorsa SaltStack Config che non vengono utilizzate in questo esempio. Per ulteriori informazioni, rivedere lo schema.

Sebbene questo esempio mostri come aggiungere il nome utente e la password per le proprietà di accesso remoto, è possibile configurare una proprietà segreta e aggiungerla al modello. Per un esempio, vedere Proprietà di Cloud Assembly segrete.

Procedura

  1. In Cloud Assembly, selezionare Progettazione > Modelli cloud.
  2. Aprire un modello esistente.
  3. Individuare la risorsa SaltStack Config e trascinarla nella tela.
  4. Collegare la risorsa SaltStack Config alla macchina in cui verrà installato il minion.
  5. Nel riquadro del codice, aggiungere proprietà alla risorsa Cloud_SaltStack_1.

    Non è necessario includere tutte le proprietà possibili. I valori utilizzati in questo esempio sono spiegati nella tabella.

    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

    Descrizione delle proprietà Cloud_SaltStack_1 utilizzate in questo esempio.

    Proprietà Descrizione
    masterId Nello schema di esempio, il valore masterId è saltstack_enterprise_installer. È possibile che in SaltStack Config siano definiti ID master in Amministrazione > Chiavi master.
    host Il valore hosts è l'ID della macchina o del cluster di macchine in cui si desidera installare il minion. Per impostazione predefinita, il nome della macchina viene passato come ID minion in SaltStack Config.

    È consigliabile scegliere nomi di macchina inferiori a 15 caratteri, specialmente se si distribuiscono minion in Windows. Windows non consente nomi host che superano i 15 caratteri.

    Se si desidera definire una convenzione di denominazione personalizzata per le macchine da distribuire, vedere Denominazione personalizzata per le risorse distribuite in Cloud Assembly.

    saltEnvironment In questo esempio, sse è un percorso del file per i file di stato. È possibile che i file di stato siano in altre posizioni del file server in SaltStack Config in Configurazione > File server.
    stateFiles In questo esempio, doe.sls è un file di stato fornito nella directory del file server specificato come saltEnvironment.
    variables Le variabili sono i valori utilizzati dal file di stato. In questo esempio, doe.sls accetta un valore user.
  6. Aggiungere proprietà remoteAccess alla macchina che ospita il minion Salt.

    Il valore della chiave authentication deve essere usernamePassword o generatedPublicPrivateKey. publicPrivateKey non è supportato.

     remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
  7. Verificare che il codice YAML includa proprietà simili a quelle dell'esempio seguente.
    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. Testare e distribuire il modello cloud.
    Se la distribuzione del minion non riesce, vedere Risoluzione dei problemi relativi ai minion.
  9. Verificare le proprietà della configurazione di Salt per la macchina distribuita.
    1. Selezionare Distribuzioni > Distribuzioni e aprire i dettagli della distribuzione.
    2. Nella scheda Topologia, fare clic sulla macchina ed espandere le proprietà nel riquadro destro.

      Screenshot della scheda Topologia con le proprietà della configurazione di Salt espanse nel riquadro destro. Le proprietà includono l'ID master, l'ambiente Salt e i file di stato.

Verifica del minion in SaltStack Config

Dopo aver installato il minion nella macchina virtuale, individuare il minion ed eseguire tutti i processi o i comandi nella risorsa.

Procedura

  1. Per aprire SaltStack Config, fare clic sul menu Applicazioni nell'angolo superiore - destro e fare clic su Console Cloud Services.
  2. Fare clic sul riquadro del servizio SaltStack Config.
  3. In SaltStack Config, espandere Chiavi minion e fare clic su Accettate.
  4. Nella colonna ID minion, fare clic sull'icona del filtro e immettere il nome del minion.
    Il nome del minion ha come impostazione predefinita il nome host della macchina virtuale. In questo esempio, l'ID minion è vra-vm-05.
    Screenshot delle chiavi Minion accettate in SaltStack Config.
  5. Per visualizzare i dettagli, fare clic sul nome del minion.
    È possibile eseguire processi o comandi sul minion. Ad esempio, Utilizzo del disco di esempio. Questo processo restituisce le statistiche sull'utilizzo del disco per un minion.
    Screenshot della pagina dei dettagli per l'ID minion di esempio

Risoluzione dei problemi relativi ai minion

Informazioni su alcuni errori comuni che gli utenti sperimentano durante la distribuzione dei minion Salt utilizzando la risorsa SaltStack Config o la proprietà saltConfiguration.

Avvio dell'host ritardato

Se i servizi Windows o Linux nell'host non sono pronti dopo la distribuzione del modello cloud, è possibile visualizzare un errore "Distribuzione minion e/o esecuzione del file di stato non riuscita" in Cloud Assembly.

Per risolvere questo errore, aggiornare il plug-in Master alla versione stabile più recente. Dopo aver completato l'aggiornamento, è possibile abilitare un'impostazione di configurazione in /etc/salt/master.d/raas.conf che consente di attivare il tempo necessario per i servizi Windows e Linux prima di distribuire il minion Salt.

Dopo aver eseguito l'aggiornamento alla versione più recente del plug-in Master, completare i passaggi seguenti per ritardare l'avvio dell'host:

  1. Selezionare la scheda Cronologia nella pagina dei dettagli della distribuzione.
  2. Se il messaggio di errore indica che l'esecuzione del file di stato e/o della distribuzione del minion non è riuscita, copiare l'ID processo (JID) e aprire SaltStack Config.
  3. In SaltStack Config, selezionare Attività > Completata per aprire i processi completati.
  4. Nella colonna JID, fare clic sull'icona del filtro e digitare il JID.
  5. Fare clic su JID per rivedere la pagina dei risultati del processo.
  6. Fare clic sulla scheda Non elaborato per visualizzare l'output non elaborato per il processo.

    Windows

    Se l'ultima riga nell'output non elaborato per il processo contiene il messaggio "Impossibile connettersi all'host: timeout", è necessario aggiungere questa impostazione di configurazione a /etc/salt/master.d/raas.conf per ritardare l'avvio di 180 secondi:
    sseapi_win_minion_deploy_delay: 180

    Linux

    Se l'ultima riga nell'output non elaborato per il processo contiene il messaggio "L'host remoto non è accessibile utilizzando le credenziali fornite", è necessario aggiungere questa impostazione di configurazione a /etc/salt/master.d/raas.conf per ritardare l'avvio di 90 secondi:
    sseapi_linux_minion_deploy_delay: 90
  7. Riavviare il servizio Salt Master
    systemctl restart salt-master
  8. Ridistribuire il modello cloud.

    Se la distribuzione non riesce, è possibile aumentare il parametro di ritardo e ridistribuire il modello.

Passaggi successivi

Per utilizzare le funzionalità di SaltStack Config per gestire le risorse, vedere la documentazione di SaltStack Config.