È 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.
- Distribuire vCenter Server.
È incluso il server di vSphere Auto Deploy.
- Configurare il tipo di avvio del servizio di vSphere Auto Deploy.
- 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.
- 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.
- Avviare una sessione di PowerCLI e connettersi al sistema vCenter Server in cui è registrato vSphere Auto Deploy.
- 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. - Accendere gli host di cui si desidera eseguire il provisioning.
- 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.
- 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.
- Creare ed esportare un profilo host per l'host di riferimento.
Consultare la documentazione Profili host.
- 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.
- Eseguire le operazioni di test e riparazione di conformità per correggere gli host.
- 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-Help
nome_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
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.
- Associare l'oggetto che include le informazioni di conformità del set di regole per un host a una variabile.
$tr = Test-DeployRuleSetCompliance MyEsxi42
- 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
- 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
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à.
Procedura
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
- Installare PowerCLI e tutto il software prerequisito. Per informazioni, vedere Installazione e configurazione di vCenter Server.
- Esportare il profilo host che si desidera utilizzare.
Procedura
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
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
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
- 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
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.