È possibile gestire vSphere Auto Deploy con i cmdlet di PowerCLI per creare regole che associno gli host ESXi a vari oggetti nella destinazione di vCenter.

È possibile gestire vSphere Auto Deploy con i cmdlet di PowerCLI per creare regole che associno gli host a profili immagine, profili host, script personalizzati e posizioni nella destinazione di vCenter Server. È inoltre possibile aggiornare gli host testando la conformità delle regole e correggendo i problemi di conformità.

Gestione di vSphere Auto Deploy con i cmdlet di PowerCLI

È possibile gestire vSphere Auto Deploy con i cmdlet di PowerCLI per creare regole che associno host a profili immagine, profili host, script personalizzati e posizioni nella destinazione vCenter Server. È inoltre possibile aggiornare gli host testando la conformità delle regole e correggendo i problemi di conformità.

Panoramica del processo di vSphere Auto Deploy tramite PowerCLI

Per iniziare a utilizzare vSphere Auto Deploy, è necessario prima capire come funziona vSphere Auto Deploy, installare il server di vSphere Auto Deploy, installare PowerCLI, scrivere regole di PowerCLI per il provisioning degli host e accendere gli host da avviare con il profilo immagine specificato. È possibile personalizzare il profilo immagine, il profilo dell'host e la posizione di vCenter Server.

Vedere Scenario di vSphere PowerCLI per vSphere Auto Deploy per un esercizio dettagliato che aiuta a configurare il primo ambiente di vSphere Auto Deploy.

Per eseguire correttamente il provisioning degli host nell'ambiente con vSphere Auto Deploy, è possibile completare la seguenti procedura.

  1. Distribuire vCenter Server.

    È incluso il server di vSphere Auto Deploy.

  2. Configurare il tipo di avvio del servizio di vSphere Auto Deploy.

    Vedere Preparazione del sistema per vSphere Auto Deploy.

  3. Installare PowerCLI, che include i cmdlet di vSphere Auto Deploy e vSphere ESXi Image Builder.

    Vedere Configurazione di vSphere ESXi Image Builder, Utilizzo dei cmdlet di vSphere Auto Deploy e Utilizzo dei cmdlet di VMware.Image Builder.

  4. Individuare il profilo immagine che include i VIB che si desidera distribuire agli host.
    • In genere, si aggiungono i depot contenenti il software richiesto alla sessione PowerCLI e quindi si seleziona un profilo immagine da uno di questi depot.
    • Per creare un profilo immagine personalizzato, utilizzare i cmdlet di vSphere ESXi Image Builder per clonare un profilo immagine esistente e aggiungere i VIB personalizzati al clone. Aggiungere il profilo immagine personalizzato alla sessione PowerCLI.

    È necessario utilizzare vSphere ESXi Image Builder per la personalizzazione solo se è necessario aggiungere o rimuovere VIB. Nella maggior parte dei casi, è possibile aggiungere il depot in cui VMware ospita i profili immagine nella sessione di PowerCLI come URL.

  5. Avviare una sessione di PowerCLI e connettersi al sistema vCenter Server in cui è registrato vSphere Auto Deploy.
  6. Utilizzare il cmdlet New-DeployRule PowerCLI per scrivere una regola che assegni il profilo immagine a un host, a più host specificati da un modello o a tutti gli host.
    New-DeployRule -Name "testrule" -Item image-profile -AllHosts

    Vedere Assegnazione di un profilo immagine agli host.

    Nota: vSphere Auto Deploy è ottimizzato per il provisioning di host che hanno una mappatura fissa da indirizzo MAC a indirizzo IP in DHCP (a volte denominata prenotazione DHCP). Se si desidera utilizzare indirizzi IP statici, è necessario configurare il profilo host in modo che richieda la personalizzazione dell'host. Per ulteriori informazioni, vedere la documentazione di Profili host di vSphere.
  7. Accendere gli host di cui si desidera eseguire il provisioning.
  8. Configurare l'host di cui è stato eseguito il provisioning come host di riferimento per il profilo host.

    È possibile specificare le impostazioni del syslog dell'host di riferimento, le impostazioni del firewall, lo storage, la rete e così via.

  9. Configurare l'host di cui è stato eseguito il provisioning come host di riferimento per il profilo host.

    È possibile specificare le impostazioni del syslog dell'host di riferimento, le impostazioni del firewall, lo storage, la rete e così via. Vedere Configurazione di un host di riferimento di vSphere Auto Deploy.

  10. Creare ed esportare un profilo host per l'host di riferimento.

    Consultare la documentazione Profili host.

  11. Per eseguire il provisioning di più host con il profilo host, utilizzare il cmdlet Copy-DeployRule per modificare la regola creata in precedenza.

    È possibile rivedere la regola per assegnare non solo un profilo immagine, ma anche un profilo host, una posizione vCenter Server e un bundle di script personalizzato.

    Copy-DeployRule -DeployRule "testrule" -ReplaceItem my_host_profile_from_reference_host,my_target_cluster
                   -ReplacePattern  "ipv4=192.XXX.1.10-192.XXX.1.20"

    Dove my_host_profile_from_reference_host è il nome del profilo host di riferimento e my_target_cluster è il nome del cluster di destinazione.

  12. Eseguire le operazioni di test e riparazione di conformità per correggere gli host.

    Vedere Test e riparazione della conformità delle regole.

  13. Verificare che gli host sottoposti a provisioning soddisfino i requisiti seguenti.
    • Ogni host deve essere connesso al sistema vCenter Server.
    • Gli host non devono essere in modalità di manutenzione.
    • Negli host non devono verificarsi errori di conformità.
    • Ogni host con un profilo host che richiede l'input dell'utente deve disporre di informazioni di personalizzazione dell'host aggiornate.

    Correggere le associazioni di host e i problemi di conformità e riavviare gli host finché tutti gli host non soddisfano i requisiti.

Leggere per un'introduzione al processo di avvio, nonché informazioni sulle differenze tra il primo avvio e quelli successivi e una panoramica dell'utilizzo della personalizzazione dell'host.

Utilizzo dei cmdlet di vSphere Auto Deploy

I cmdlet di VSphere Auto Deploy vengono implementati come cmdlet di Microsoft PowerShell e inclusi in PowerCLI. Gli utenti dei cmdlet di vSphere Auto Deploy possono sfruttare tutte le funzionalità PowerCLI.

Gli utenti esperti di PowerShell possono utilizzare i cmdlet di vSphere Auto Deploy proprio come gli altri cmdlet PowerShell. I seguenti suggerimenti potrebbero essere utili per i nuovi utenti di PowerShell e PowerCLI.

È possibile digitare i cmdlet, i parametri e i valori dei parametri nella shell PowerCLI.

  • È possibile ottenere assistenza per qualsiasi cmdlet eseguendo Get-Helpnome_cmdlet.
  • Tenere presente che in PowerShell non viene fatta distinzione tra maiuscole e minuscole.
  • Utilizzare il completamento tramite scheda per i nomi dei cmdlet e dei parametri.
  • Formattare l'output di qualsiasi variabile e cmdlet utilizzando Format-List o Format-Table oppure le loro forme brevi fl o ft. Per ulteriori informazioni, eseguire il cmdlet Get-Help Format-List.

Invio di parametri in base al nome

Nella maggior parte dei casi, è possibile passare i parametri in base al nome e racchiudere i valori dei parametri che contengono spazi o caratteri speciali tra virgolette.
 Copy-DeployRule -DeployRule testrule -ReplaceItem MyNewProfile

Nella maggior parte degli esempi nella documentazione di Installazione e configurazione di vCenter Server, i parametri vengono trasferiti in base al nome.

Invio di parametri come oggetti

È possibile passare i parametri come oggetti se si desidera eseguire script e automazione. Il passaggio di parametri come oggetti è utile con i cmdlet che restituiscono più oggetti e con i cmdlet che restituiscono un singolo oggetto. Si consideri l'esempio seguente.

  1. Associare l'oggetto che include le informazioni di conformità del set di regole per un host a una variabile.
    $tr = Test-DeployRuleSetCompliance MyEsxi42
  2. Visualizzare la proprietà itemlist dell'oggetto per vedere la differenza tra ciò che è nel set di regole e ciò che l'host sta attualmente utilizzando.
    $tr.itemlist
  3. Correggere l'host in modo che utilizzi il set di regole rivisto utilizzando il cmdlet Repair-DeployRuleSetCompliance con la variabile.
    Repair-DeployRuleSetCompliance $tr

L'esempio corregge l'host al successivo avvio dell'host.

Panoramica dei cmdlet di PowerCLI in vSphere Auto Deploy

È possibile specificare le regole che assegnano i profili immagine e i profili host agli host utilizzando una serie di cmdlet di PowerCLI inclusi in PowerCLI.

Se non si è esperti di PowerCLI, leggere la documentazione di PowerCLI e rivedere Utilizzo dei cmdlet di vSphere Auto Deploy. È possibile visualizzare le istruzioni per qualsiasi comando al prompt di PowerShell.

  • Guida di base: Get-Help cmdlet_name
  • Guida dettagliata: Get-Help cmdlet_name -Detailed
Nota: Quando si eseguono i cmdlet di vSphere Auto Deploy, specificare tutti i parametri nella riga di comando quando si richiama il cmdlet. Non è consigliabile fornire parametri in modalità interattiva.
Tabella 1. Cmdlet di PowerCLI del motore delle regole
Comando Descrizione
Get-DeployCommand Restituisce l'elenco dei cmdlet di vSphere Auto Deploy.
New-DeployRule Crea una nuova regola con gli elementi e i modelli specificati.
Set-DeployRule Aggiorna una regola esistente con gli elementi e i modelli specificati. Non è possibile aggiornare una regola che fa parte di un set di regole.
Get-DeployRule Recupera le regole con i nomi specificati.
Copy-DeployRule Clona e aggiorna una regola esistente.
Add-DeployRule Aggiunge una o più regole al set di regole di lavoro e, per impostazione predefinita, anche al set di regole attivo. Utilizzare il parametro NoActivate per aggiungere una regola solo al set di regole di lavoro.
Remove-DeployRule Rimuove una o più regole dal set di regole di lavoro e dal set di regole attivo. Eseguire questo comando con il parametro -Delete per eliminare completamente la regola.
Set-DeployRuleset Imposta esplicitamente l'elenco di regole nel set di regole di lavoro.
Get-DeployRuleset Recupera il set di regole di lavoro corrente o il set di regole attivo corrente.
Switch-ActiveDeployRuleset Attiva un set di regole in modo che tutte le nuove richieste vengano valutate tramite il set di regole.
Get-VMHostMatchingRules Recupera le regole che corrispondono a un modello. Ad esempio, è possibile recuperare tutte le regole che si applicano a uno o più host. Utilizzare questo cmdlet principalmente per il debug.
Test-DeployRulesetCompliance Verifica se gli elementi associati a un host specificato sono conformi al set di regole attivo.
Repair-DeployRulesetCompliance Dato l'output di Test-DeployRulesetCompliance, questo cmdlet aggiorna il profilo immagine, il profilo host e la posizione per ogni host nell'inventario di vCenter Server. Il cmdlet può applicare profili immagine, applicare profili host o spostare host in cartelle o cluster specificati in precedenza nel sistema vCenter Server.
Apply-EsxImageProfile Associa il profilo immagine specificato all'host specificato.
Get-VMHostImageProfile Recupera il profilo immagine in uso da un host specificato. Questo cmdlet è diverso dal cmdlet Get-EsxImageProfile in vSphere ESXi Image Builder.
Repair-DeployImageCache Utilizzare questo cmdlet solo se la cache delle immagini di vSphere Auto Deploy viene eliminata accidentalmente.
Get-VMHostAttributes Recupera gli attributi per un host che vengono utilizzati quando il server vSphere Auto Deploy valuta le regole.
Get-DeployMachineIdentity Restituisce un valore stringa che vSphere Auto Deploy utilizza per collegare logicamente un host ESXi in vCenter Server a una macchina fisica.
Set-DeployMachineIdentity Collega in modo logico un oggetto host nel database vCenter Server a una macchina fisica. Utilizzare questo cmdlet per aggiungere host senza specificare regole.
Get-DeployOption Recupera le opzioni di configurazione globali di vSphere Auto Deploy. Questo cmdlet supporta attualmente l'opzione vlan-id, che specifica l'ID VLAN predefinito per la rete di gestione ESXi di un host sottoposto a provisioning con vSphere Auto Deploy. vSphere Auto Deploy utilizza il valore solo se l'host viene avviato senza un profilo host.
Set-DeployOption Imposta il valore di un'opzione di configurazione globale. Attualmente supporta l'opzione vlan-id per l'impostazione dell'ID VLAN predefinito per la rete di gestione ESXi.
Add-ProxyServer Aggiunge un server proxy al database vSphere Auto Deploy. Eseguire il comando con il parametro -Address per specificare l'indirizzo IPv4 o IPv6. L'indirizzo può includere un numero di porta.
List-ProxyServer Elenca i server proxy attualmente registrati in vSphere Auto Deploy.
Delete-ProxyServer Elimina uno o più server proxy dall'elenco di server proxy registrati in vSphere Auto Deploy. È possibile eseguire il comando con il parametro -id dell'elenco di server proxy o con il parametro -Address specificando l'indirizzo IPv4 o IPv6 del server proxy che si desidera eliminare.
Add-ScriptBundle Aggiunge uno o più bundle di script nel server vSphere Auto Deploy.
Get-ScriptBundle Recupera l'elenco dei bundle di script disponibili nel server vSphere Auto Deploy e gli script che contengono.
Remove-ScriptBundle Rimuove un bundle di script da vSphere Auto Deploy. Applicabile a vSphere versione 6.7 e successive.
Get-CustomCertificate Recupera il certificato dell'host personalizzato caricato in AutoDeploy. È necessario eseguire il comando con il parametro -HostId [MAC_Address | BIOS_UUID]. La prima volta che si aggiungono certificati personalizzati, questo cmdlet non restituisce alcun certificato.
List-CustomCertificates Recupera informazioni su tutti i certificati dell'host personalizzati utilizzati da Auto Deploy. L'elenco include i dettagli relativi al nome del certificato, Host ID e Associated Host Name, che riflette il nome del vCenter Server per il server Auto Deploy.
Add-CustomCertificate Aggiunge un certificato personalizzato in VMware Endpoint Certificate Store e lo associa a un host ESXi. Il certificato diventa attivo al riavvio dell'host. È possibile utilizzare il cmdlet Get-CustomCertificate per recuperare la chiave del certificato dell'host personalizzato. È possibile eseguire il comando con il parametro -HostId [MAC_Address | BIOS_UUID] per associare il certificato all'host, specificando -Key [file:///path/to/key.key] e -Cert [file:///path/to/cert.crt]. L'utilizzo di questo cmdlet richiede il privilegio AutoDeploy.Rule.Create nella cartella root di vCenter Server.
Remove-CustomCertificate Rimuove un set di certificati host personalizzati da Auto Deploy. Le voci dei certificati vengono eliminate dal database e i file dei certificati vengono rimossi dal filestore. Gli host che sono già stati avviati con un certificato personalizzato devono essere riavviati per ricevere un nuovo certificato. È necessario specificare almeno uno dei parametri -Cert o -HostId. L'utilizzo di questo cmdlet richiede il privilegio AutoDeploy.Rule.Create nella cartella root di vCenter Server.

Assegnazione di un profilo immagine agli host

Per poter eseguire il provisioning di un host, è necessario creare regole che assegnino un profilo immagine a ogni host di cui si desidera eseguire il provisioning tramite vSphere Auto Deploy.

Le regole di estendibilità di vSphere Auto Deploy impongono che i VIB con livello CommunitySupported contengano solo file di determinate posizioni predefinite, come il percorso del plug-in ESXCLI, il percorso del plug-in jumpstart e così via. Se si aggiunge un VIB che si trova in una posizione diversa rispetto a un profilo immagine, viene visualizzato un avviso. È possibile sostituire l'avviso utilizzando l'opzione force.

Se si chiama il cmdlet New-DeployRule in un profilo immagine che include VIB al livello CommunitySupported che violano la regola, impostare $DeployNoSignatureCheck = $true prima di aggiungere il profilo immagine. Con tale impostazione, il sistema ignora la convalida della firma e non esegue il controllo delle regole di estendibilità.

Nota: I profili immagine che includono VIB al livello CommunitySupported non sono supportati nei sistemi di produzione.

Procedura

  1. In una sessione di PowerCLI, eseguire il cmdlet Connect-VIServer per connettersi al sistema vCenter Server in cui vSphere Auto Deploy è registrato.
    Connect-VIServer ipv4_or_ipv6_address
    Il cmdlet potrebbe restituire un avviso relativo al certificato del server. In un ambiente di produzione, assicurarsi che non vengano visualizzati avvisi sui certificati del server. In un ambiente di sviluppo, è possibile ignorare l'avviso.
  2. Determinare la posizione di un depot software pubblico o definire un profilo immagine personalizzato utilizzando vSphere ESXi Image Builder.
  3. Eseguire Add-EsxSoftwareDepot per aggiungere il depot software che contiene il profilo immagine alla sessione di PowerCLI.
    Tipo di depot Cmdlet
    Depot remoto Eseguire Add-EsxSoftwareDepot url_depot .
    File ZIP
    1. Scaricare il file ZIP in un percorso di file locale.
    2. Eseguire Add-EsxSoftwareDepot C:\file_path\my_offline_depot.zip.
  4. Nel depot, individuare il profilo immagine che si desidera utilizzare eseguendo il cmdlet Get-EsxImageProfile.
    Per impostazione predefinita, il depot di ESXi include un profilo immagine di base che include VMware Tools e contiene la stringa standard nel nome e un profilo immagine di base che non include VMware Tools.
  5. Definire una regola in cui gli host con determinati attributi, ad esempio un intervallo di indirizzi IP, vengono assegnati al profilo immagine.
    New-DeployRule -Name "testrule" -Item "My Profile25" -Pattern "vendor=Acme,Zven", "ipv4=192.XXX.1.10-192.XXX.1.20"

    Le virgolette sono obbligatorie se un nome contiene spazi, altrimenti sono facoltative. Specificare -AllHosts anziché un modello per applicare l'elemento a tutti gli host.

    Il cmdlet crea una regola denominata testrule. La regola assegna il profilo immagine denominato My Profile25 a tutti gli host con un fornitore Acme o Zven che hanno anche un indirizzo IP nell'intervallo specificato.
  6. Aggiungere la regola al set di regole.
    Add-DeployRule testrule
    Per impostazione predefinita, la regola viene aggiunta sia al set di regole di lavoro sia al set di regole attivo. Se si utilizza il parametro NoActivate, il set di regole di lavoro non diventa il set di regole attivo.

risultati

Quando l'host viene avviato da iPXE, segnala gli attributi della macchina alla console. Utilizzare lo stesso formato degli attributi quando si scrivono le regole di distribuzione.

******************************************************************
* Booting through VMware AutoDeploy...
*
* Machine attributes:
* . asset=No Asset Tag
* . domain=vmware.com
* . hostname=myhost.mycompany.com
* . ipv4=XX.XX.XXX.XXX
* . mac=XX:Xa:Xb:Xc:Xx:XX
* . model=MyVendorModel
* . oemstring=Product ID: XXXXXX-XXX
* . serial=XX XX XX XX XX XX...
* . uuid=XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX
* . vendor=MyVendor
******************************************************************

Operazioni successive

  • Per gli host di cui è già stato eseguito il provisioning con vSphere Auto Deploy, eseguire le operazioni di test della conformità e riparazione per eseguirne il provisioning con il nuovo profilo immagine. Vedere Test e riparazione della conformità delle regole.
  • Attivare gli host di cui non è stato eseguito il provisioning per eseguirne il provisioning con il nuovo profilo immagine.

Scrittura di una regola e assegnazione di un profilo host agli host

vSphere Auto Deploy può assegnare un profilo host a uno o più host ESXi.

In molti casi, si assegna un host a un cluster invece di specificare un profilo host in modo esplicito. L'host utilizza il profilo host del cluster.

Prerequisiti

Il profilo host può includere informazioni sulla configurazione dello storage, sulla configurazione di rete o su altre caratteristiche dell'host. Se si aggiunge un host a un cluster, viene utilizzato il profilo host di tale cluster.

Procedura

  1. In una sessione di PowerCLI, eseguire il cmdlet Connect-VIServer per connettersi al sistema vCenter Server in cui vSphere Auto Deploy è registrato.
    Connect-VIServer ipv4_or_ipv6_address
    Il cmdlet potrebbe restituire un avviso relativo al certificato del server. In un ambiente di produzione, assicurarsi che non vengano visualizzati avvisi sui certificati del server. In un ambiente di sviluppo, è possibile ignorare l'avviso.
  2. Utilizzando vSphere Client, configurare un host con le impostazioni che si desidera utilizzare e creare un profilo host da tale host.
  3. Individuare il nome del profilo dell'host eseguendo il cmdlet Get-VMhostProfile PowerCLI e passando l'host ESXi da cui si crea un profilo host.
  4. Al prompt PowerCLI, definire una regola in cui i profili host vengono assegnati agli host con determinati attributi, ad esempio un intervallo di indirizzi IP.
    New-DeployRule -Name "testrule2" -Item my_host_profile -Pattern "vendor=Acme,Zven", "ipv4=192.XXX.1.10-192.XXX.1.20"
    L'elemento specificato viene assegnato a tutti gli host con gli attributi specificati. In questo esempio viene specificata una regola denominata testrule2. La regola assegna il profilo host specificato my_host_profile a tutti gli host con un indirizzo IP all'interno dell'intervallo specificato e con un produttore Acme o Zven.
  5. Aggiungere la regola al set di regole.
    Add-DeployRule testrule2
    Per impostazione predefinita, il set di regole di lavoro diventa il set di regole attivo e tutte le modifiche apportate al set di regole diventano attive quando si aggiunge una regola. Se si utilizza il parametro NoActivate, il set di regole di lavoro non diventa il set di regole attivo.

Operazioni successive

  • Assegnare un host già dotato di vSphere Auto Deploy al nuovo profilo host eseguendo operazioni di test e ripristino della conformità su tali host. Per ulteriori informazioni, vedere Test e riparazione della conformità delle regole.
  • Accendere gli host di cui non è stato eseguito il provisioning per eseguire il provisioning con il profilo host.

Scrittura di una regola e assegnazione di un host a una cartella o a un cluster

vSphere Auto Deploy può assegnare un host a una cartella o a un cluster. Quando l'host viene avviato, vSphere Auto Deploy lo aggiunge alla posizione specificata in vCenter Server. Gli host assegnati a un cluster ereditano il profilo host del cluster.

Prerequisiti

  • Preparare il sistema e installare il server Auto Deploy. Per ulteriori informazioni, vedere Preparazione del sistema per vSphere Auto Deploy.
  • Verificare che la cartella selezionata si trovi in un data center o in un cluster. Non è possibile assegnare l'host a una cartella di primo livello autonoma.

Procedura

  1. In una sessione di PowerCLI, eseguire il cmdlet Connect-VIServer per connettersi al sistema vCenter Server in cui vSphere Auto Deploy è registrato.
    Connect-VIServer ipv4_or_ipv6_address
    Il cmdlet potrebbe restituire un avviso relativo al certificato del server. In un ambiente di produzione, assicurarsi che non vengano visualizzati avvisi sui certificati del server. In un ambiente di sviluppo, è possibile ignorare l'avviso.
  2. Definire una regola in cui gli host con determinati attributi, ad esempio un intervallo di indirizzi IP, vengono assegnati a una cartella o a un cluster.
    New-DeployRule -Name testrule3 -Item "my folder"	-Pattern "vendor=Acme,Zven", "ipv4=192.XXX.1.10-192.XXX.1.20"
    In questo esempio la cartella viene passata in base al nome. È invece possibile passare un oggetto cartella, cluster o data center recuperato con il cmdlet Get-Folder, Get-Cluster o Get-Datacenter.
  3. Aggiungere la regola al set di regole.
    Add-DeployRule testrule3
    Per impostazione predefinita, il set di regole di lavoro diventa il set di regole attivo e tutte le modifiche apportate al set di regole diventano attive quando si aggiunge una regola. Se si utilizza il parametro NoActivate, il set di regole di lavoro non diventa il set di regole attivo.

Operazioni successive

  • Assegnare un host di cui è già stato eseguito il provisioning con vSphere Auto Deploy alla posizione della nuova cartella o del nuovo cluster eseguendo operazioni di test e riparazione della conformità. Vedere Test e riparazione della conformità delle regole.
  • Accendere gli host di cui non è stato eseguito il provisioning per aggiungerli alla posizione di vCenter Server specificata.

Configurazione di un sistema stateless tramite l'esecuzione di uno script personalizzato

È possibile utilizzare vSphere Auto Deploy per configurare uno o più host associando script personalizzati a una regola di vSphere Auto Deploy.

Gli script vengono eseguiti in ordine alfabetico dopo il workflow di avvio ESXi iniziale dell'host.

Prerequisiti

  • Verificare che il bundle di script da associare a una regola di vSphere Auto Deploy abbia il formato .tgz, dimensioni massime di 10 MB e sia scritto nel linguaggio di scripting ash Python o BusyBox.

Procedura

  1. In una sessione di PowerCLI, eseguire il cmdlet Connect-VIServer per connettersi al sistema vCenter Server in cui vSphere Auto Deploy è registrato.
    Connect-VIServer ipv4_or_ipv6_address
    Il cmdlet potrebbe restituire un avviso relativo al certificato del server. In un ambiente di produzione, assicurarsi che non vengano visualizzati avvisi sui certificati del server. In un ambiente di sviluppo, è possibile ignorare l'avviso.
  2. Eseguire il cmdlet Add-ScriptBundle per aggiungere il bundle di script che contiene gli script necessari all'inventario di vSphere Auto Deploy.
    Add-ScriptBundle c:/temp/MyScriptBundle.tgz
    Il nome del bundle di script senza l'estensione .tgz è l'identificatore del nome o l'oggetto dell'elemento del bundle di script. È possibile aggiornare un bundle di script esistente utilizzando il parametro -Update con il cmdlet Add-ScriptBundle.
  3. (Facoltativo) Eseguire il cmdlet Get-ScriptBundle per verificare che il bundle di script venga aggiunto all'inventario di vSphere Auto Deploy.
  4. Definire una regola in cui gli host con determinati attributi, ad esempio un intervallo di indirizzi IP, vengono assegnati al bundle di script.
    New-DeployRule -Name "testrule4" -Item "MyScriptBundle" -Pattern "vendor=Acme,Zven", "ipv4=192.XXX.1.10-192.XXX.1.20"

    Le virgolette sono obbligatorie se un nome contiene spazi, altrimenti sono facoltative. Specificare -AllHosts anziché un modello per applicare l'elemento a tutti gli host.

    Creare una regola denominata testrule4. La regola assegna il bundle di script denominato My Script Bundle a tutti gli host con un fornitore Acme o Zven che hanno anche un indirizzo IP nell'intervallo specificato. È possibile utilizzare l'identificatore del nome del bundle di script o l'oggetto restituito dal cmdlet Get-ScriptBundle per identificare il bundle di script che si desidera associare alla regola.
  5. Aggiungere la regola al set di regole.
    Add-DeployRule testrule4
    Per impostazione predefinita, la regola viene aggiunta sia al set di regole di lavoro sia al set di regole attivo. Se si utilizza il parametro NoActivate, il set di regole di lavoro non diventa il set di regole attivo.

Operazioni successive

  • Per gli host già sottoposti a provisioning con vSphere Auto Deploy, eseguire le operazioni di test e riparazione della conformità per eseguirne il provisioning con i nuovi script. Vedere Test e riparazione della conformità delle regole.
  • Attivare gli host di cui non è stato eseguito il provisioning per eseguirne il provisioning con i nuovi script.

Test e riparazione della conformità delle regole

Testare la conformità delle regole nuove o modificate e correggerle di conseguenza, perché le modifiche apportate al set di regole di vSphere Auto Deploy non vengono aggiornate automaticamente.

Prerequisiti

Quando si aggiunge una regola al set di regole vSphere Auto Deploy o si modificano una o più regole, gli host non vengono aggiornati automaticamente. vSphere Auto Deploy applica le nuove regole solo quando si verifica la conformità delle regole e si eseguono correzioni.
  • Preparare il sistema e installare il server Auto Deploy. Per ulteriori informazioni, vedere Preparazione del sistema per vSphere Auto Deploy.
  • Verificare che l'infrastruttura includa uno o più host ESXi di cui è stato eseguito il provisioning con vSphere Auto Deploy e che l'host su cui è stato installato PowerCLI possa accedere a tali host ESXi.

Procedura

  1. In una sessione di PowerCLI, eseguire il cmdlet Connect-VIServer per connettersi al sistema vCenter Server in cui vSphere Auto Deploy è registrato.
    Connect-VIServer ipv4_or_ipv6_address
    Il cmdlet potrebbe restituire un avviso relativo al certificato del server. In un ambiente di produzione, assicurarsi che non vengano visualizzati avvisi sui certificati del server. In un ambiente di sviluppo, è possibile ignorare l'avviso.
  2. Utilizzare PowerCLI per verificare quali regole vSphere Auto Deploy sono attualmente disponibili.
    Get-DeployRule
    Il sistema restituisce le regole e gli elementi e i modelli associati.
  3. Modificare una delle regole disponibili.

    Ad esempio, è possibile modificare il profilo immagine e il nome della regola.

    Copy-DeployRule -DeployRule testrule -ReplaceItem MyNewProfile 
    			 
    Non è possibile modificare una regola già aggiunta al set di regole attivo. È invece possibile copiare la regola e sostituire l'elemento o il motivo che si desidera modificare.
  4. Verificare di poter accedere all'host per cui si desidera testare la conformità del set di regole.
    Get-VMHost -Name MyEsxi42
  5. Eseguire il cmdlet che verifica la conformità del set di regole per l'host e associare il valore restituito a una variabile per un utilizzo successivo.
    $tr = Test-DeployRuleSetCompliance MyEsxi42
  6. Esaminare le differenze tra il contenuto del set di regole e la configurazione dell'host.
    $tr.itemlist
    Se l'host per cui si desidera testare la conformità del nuovo set di regole è conforme al set di regole attivo, il sistema restituisce una tabella degli elementi correnti e previsti.
    CurrentItem                             ExpectedItem
    -----------                             ------------   
    My Profile 25                           MyNewProfile
    
  7. Correggere l'host in modo che utilizzi il set di regole rivisto al successivo avvio dell'host.
    Repair-DeployRuleSetCompliance $tr

Operazioni successive

Se la regola modificata specifica la posizione dell'inventario, la modifica diventa effettiva quando si ripristina la conformità. Per tutte le altre modifiche, riavviare l'host in modo che vSphere Auto Deploy applichi la nuova regola e per ottenere la conformità tra il set di regole e l'host.

Registrazione di un indirizzo del server proxy di memorizzazione nella cache con vSphere Auto Deploy

Un numero elevato di host stateless che vengono avviati contemporaneamente posiziona un carico significativo sul server di vSphere Auto Deploy. È possibile bilanciare il carico delle richieste tra il server di vSphere Auto Deploy e uno o più server proxy registrati con vSphere Auto Deploy.

Prerequisiti

Procedura

  1. In una sessione di PowerCLI, eseguire il cmdlet Connect-VIServer per connettersi al sistema vCenter Server in cui vSphere Auto Deploy è registrato.
    Connect-VIServer ipv4_or_ipv6_address
    Il cmdlet potrebbe restituire un avviso relativo al certificato del server. In un ambiente di produzione, assicurarsi che non vengano visualizzati avvisi sui certificati del server. In un ambiente di sviluppo, è possibile ignorare l'avviso.
  2. Registrare gli indirizzi del server proxy nella cache con vSphere Auto Deploy eseguendo il cmdlet Add-ProxyServer.
    Add-ProxyServer -Address 'https://proxy_server_ip_address:port_number'
    È possibile eseguire il cmdlet più volte per registrare più server proxy. L'indirizzo può contenere un numero di porta.
  3. (Facoltativo) Eseguire il cmdlet List-ProxyServer per verificare che il server proxy di memorizzazione nella cache sia registrato con vSphere Auto Deploy.