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à delle risorse di 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   
           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 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 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 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.