Condividi tramite


cloud-init

CycleCloud supporta cloud-init come modo per configurare una macchina virtuale al primo avvio prima di qualsiasi altra configurazione specifica di CycleCloud nella macchina virtuale. L'uso di cloud-init è un modo efficace per configurare aspetti di una macchina virtuale (ad esempio rete, mirror yum/apt e così via) prima dell'installazione di qualsiasi software gestito da CycleCloud (utilità di pianificazione HPC).

Di seguito è riportato un semplice esempio di specificare uno script bash da eseguire all'avvio usando l'attributo CloudInit in un modello di cluster:

[node scheduler]
CloudInit = '''#!/bin/bash
echo "cloud-init works" > /tmp/cloud-init.txt
'''

Nota

Le stringhe con virgolette triple possono essere usate in un modello di cluster per specificare una stringa multilinea, ad esempio uno script bash o YAML.

Avviso

Non tutte le immagini del sistema operativo in supporto tecnico di Azure cloud-init. Fare riferimento al supporto cloud-init per le macchine virtuali in Azure per informazioni dettagliate sulle immagini che supportano cloud-init e sulla sequenza temporale per quando sarà disponibile un supporto più ampio.

Impostazione di Cloud-Init tramite l'interfaccia utente

L'interfaccia utente di CycleCloud supporta la modifica di cloud-init. Quando si crea o si modifica un cluster, una nuova scheda denominata "Cloud-Init" consentirà di modificare lo script cloud-init per ogni nodo del cluster. L'editor nell'interfaccia utente di CycleCloud consentirà qualsiasi input di testo. L'evidenziazione della sintassi è abilitata per Python, script della shell o YAML.

Modifica di cloud-init nell'interfaccia utente di CycleCloud

Cloud-Init gestione degli ordini e degli errori

Per i nodi CycleCloud con CloudInit specificato, CycleCloud eseguirà il provisioning della macchina virtuale e attenderà che cloud-init venga eseguito fino al completamento prima che venga eseguita qualsiasi altra configurazione. Se CloudInit viene specificato nel nodo e CycleCloud non rileva il supporto cloud-init per il sistema operativo, il nodo passerà in uno stato di errore e il motivo verrà inoltrato a CycleCloud. Se lo CloudInit script non riesce a essere eseguito (ad esempio a causa di un errore di scripting o di sintassi), il nodo passerà in uno stato di errore e l'errore segnalato da cloud-init verrà inoltrato a CycleCloud.

Dopo l'esecuzione di cloud-init senza errori, CycleCloud continuerà a configurare la macchina virtuale come di consueto.

Importante

CycleCloud non unisce automaticamente script cloud-init. Se un [node defaults] oggetto specifica un oggetto cloud-init e un nodo che eredita dalle impostazioni predefinite, lo script cloud-init in [node defaults] verrà sovrascritto. L'unione manuale degli script è consigliata quando il codice deve essere condiviso. In alternativa, è possibile usare un formato di dati utente di file di inclusione per includere un elenco di URL da elaborare da cloud-init.