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 le proprietà alla risorsa SaltStack Config.

    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-VM-1".id}
          saltEnvironment: sse
          stateFiles:
            - /doe.sls
          variables: 
            user: joe
          additionalMinionParams:
            grains:
              roles:
                - webserver
                - database

    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 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.

    Sono supportati solo ambienti locali basati su 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.

    Le variabili nidificate complesse non sono attualmente supportate. Ad esempio, quando si utilizzano array per i valori delle variabili, non possono contenere valori nidificati come un altro array o mappa all'interno degli elementi dell'array.

    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.

  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-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 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 è salt-vm-010.
    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

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 Cloud Assembly.

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 SaltStack Config o si desidera visualizzare rapidamente i dati dei grain senza uscire dall'interfaccia utente di Cloud Assembly, è 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 Cloud Assembly, selezionare Risorse > Distribuzioni e individuare la distribuzione.
  2. Nella scheda Topologia, selezionare la macchina virtuale collegata alla risorsa di SaltStack Config.
  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 Cloud Assembly

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.

Screenshot dell'ultimo aggiornamento dei dati dei grain in Cloud Assembly
Nota: I dati dei grain vengono aggiornati solo se si esegue l'azione giorno 2 Aggiorna configurazione Salt su una risorsa di SaltStack Config. Non verranno aggiornati se vengono apportate modifiche al di fuori di Cloud Assembly.