Lo sviluppatore di modelli cloud può aggiungere al codice YAML proprietà che installano il minion Salt quando 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 SaltStack resource. La procedura include solo le proprietà selezionate. Il codice YAML include altre proprietà SaltStack resource 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 Automation Assembler segrete.

Se il minion Salt viene distribuito in un ambiente Windows, rivedere Configurazione dei minion Windows per ulteriori requisiti di dipendenza.

Procedura

  1. In Automation Assembler, selezionare Progettazione > Modelli cloud.
  2. Aprire un modello esistente.
  3. Individuare la SaltStack resource e trascinarla nella tela.
  4. Collegare la SaltStack resource alla macchina in cui il minion verrà installato.
  5. Nel riquadro del codice, aggiungere proprietà alla SaltStack resource.
    Non è necessario includere tutte le proprietà possibili. I valori utilizzati in questo esempio sono spiegati nella tabella.
    Nota: La proprietà createTimeout è impostata su 30 minuti per impostazione predefinita. È possibile aggiornare questo valore in base alle esigenze utilizzando il formato min/ora, ad esempio: 30m o 1h.
    Cloud_SaltStack_1:
        type: Cloud.SaltStack
        properties:
          masterId: saltstack_enterprise_installer
          hosts:
            - ${resource["Cloud_VM_1".id}
          saltEnvironment: sse
          stateFiles:
            - /doe.sls
          variables: 
            user: joe
          additionalMinionParams:
            grains:
              roles:
                - webserver
                - database   
           additionalAuthParams:
             profile:
                tmp_dir: /var/run

    Qui è disponibile una 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 Automation 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 Automation 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 Automation Assembler.

    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 Automation 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 definite nel modello cloud vengono passate come pillar agli stati di Salt. In questo esempio, la variabile user viene passata al file doe.sls.

    È possibile fare riferimento alle variabili nei file di stato utilizzando Jinja, come illustrato nell'esempio seguente:

    {% set username = pillar.get('user', 'random') %}
    
    friend:
      user.present:
        - names:
          -  {{username}}

    Il file doe.sls garantisce l'esistenza di un utente, rappresentato dalla variabile user nel modello cloud. Se la variabile non è specificata nel modello cloud, garantisce la presenza di random dell'utente.

    additionalMinionParams Utilizzare questa proprietà per passare parametri di configurazione aggiuntivi per il minion. Questi parametri devono essere passati come dizionario:

    • grains: utilizzare questa proprietà per assegnare grain Salt personalizzati al minion. Sono accettate una o più coppie di key:value. I valori possono essere una stringa, un array o una mappa.

      È possibile assegnare dati dei grain personalizzati solo quando si esegue il provisioning di una nuova macchina. Non è possibile assegnare dati dei grain personalizzati quando si eseguono le azioni giorno 2 Collega risorsa SaltStack o Aggiorna configurazione Salt.

    additionalAuthParams Utilizzare questa proprietà per passare parametri di autorizzazione aggiuntivi per il provisioning del minion che verrà unito/sovrascritto con la configurazione salt-cloud predefinita. Questi parametri devono essere passati come dizionario.

    Una o più coppie key:value vengono accettate come stringa, array o mappa. Per un esempio di utilizzo di questa proprietà, vedere Caso d'uso: come distribuire minion utilizzando l'API in un ambiente Linux?

    Nota: Non è possibile assegnare ulteriori parametri di autorizzazione quando si esegue l'azione giorno 2 Aggiorna configurazione Salt.
  6. Aggiungere proprietà remoteAccess alla macchina che ospita il minion Salt.

    Se si distribuisce un minion Salt in una macchina Linux, il valore della chiave authentication deve essere usernamePassword o generatedPublicPrivateKey. publicPrivateKey non è supportato.

    Se si distribuisce un minion Salt in una macchina Windows, il valore della chiave authentication deve essere usernamePassword..

     remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
  7. Verificare che il codice YAML includa proprietà simili a quelle dell'esempio seguente.
    resources:
      Cloud-Network:
        type: Cloud.Network
        properties:
          networkType: existing 
      Cloud_VM_1:
        type: Cloud.vSphere.Machine
        properties:
          image: ubuntu
          flavor: small
          remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
          networks:
            - network: ${resource["Cloud-Network"].id}
      Cloud_SaltStack_1:
        type: Cloud.SaltStack
        properties:
          masterId: saltstack_enterprise_installer
          hosts:
            - ${resource["Cloud_VM_1"].id}
          saltEnvironment: sse
          stateFiles:
            - /doe.sls
          variables: 
            user: joe
          additionalMinionParams:
            grains:
              roles:
                - webserver
                - database
  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à Configurazione Salt 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 Automation 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 Automation Config, fare clic sul menu Applicazioni nell'angolo superiore - destro e fare clic su Console Cloud Services.
  2. Aprire il servizio VMware Aria Automation.
  3. Fare clic sul riquadro del servizio Config.
  4. In Automation Config, espandere Chiavi minion e fare clic su Accettate.
  5. 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 è salt-vm-010.
    Screenshot delle chiavi Minion accettate in Automation Config.
  6. 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

Visualizzazione dei dati dei grain Salt

Dopo aver completato la distribuzione di un minion Salt nelle macchine virtuali, è possibile visualizzare i grain del minion in Automation Assembler.

I grain Salt vengono raccolti per il sistema operativo, nome del dominio, indirizzo IP, kernel, tipo di sistema operativo, memoria e molte altre proprietà di sistema del minion. Se non si dispone dell'accesso a Automation Config o si desidera visualizzare rapidamente i dati dei grain senza uscire dall'interfaccia utente di Automation Assembler, è possibile utilizzare la scheda Topologia per visualizzare i dati dei grain. Per ulteriori informazioni sui dati dei grain, vedere Grain Salt.

Per visualizzare i grain di un minion:

  1. In Automation Assembler, selezionare Risorse > Distribuzioni e individuare la distribuzione.
  2. Nella scheda Topologia, selezionare la macchina virtuale collegata alla SaltStack resource.
  3. Individuare la sezione Configurazione Salt nel riquadro a destra e scorrere verso il basso per visualizzare l'elenco dei dati dei grain.Screenshot dei dati dei grain in Automation Assembler

I dati dei grain di un minion vengono recuperati dopo la distribuzione del minion. Per vedere quando i dati dei grain sono stati aggiornati l'ultima volta, è possibile scorrere fino alla fine della sezione Configurazione Salt.

Nota: In alternativa, è possibile visualizzare i dati dei grain Salt facendo clic su Risorse > Macchine virtuali e selezionando la macchina virtuale desiderata per visualizzarne le configurazioni e gli attributi.
Screenshot dell'ultimo aggiornamento dei dati dei grain in Automation Assembler