Riferimenti comuni ai cookbook
I cluster Azure CycleCloud vengono creati e configurati usando una combinazione di un'immagine del computer di base, CycleCloud Cluster Init e il framework di automazione dell'infrastruttura Chef.
Solo gli utenti di CycleCloud molto avanzati dovranno comprendere come creare cookbook Chef. Tuttavia, molti utenti trarranno vantaggio da una conoscenza di base del modo in cui CycleCloud usa Chef. In particolare, gli utenti devono comprendere il concetto di , run_list
recipe
e Chef attributes
.
Ogni node
in un cluster CycleCloud viene inizializzato seguendo un chef run_list
.
run_list
è un set ordinato di funzionalità o recipes
da applicare per inizializzare il nodo. Gli recipes
stessi implementano le operazioni di sistema di basso livello necessarie per applicare la funzionalità.
Cookbooks
sono raccolte di recipes
che costituiscono una funzionalità.
Cookbooks
e recipes
sono parametrizzati da Chef attributes
per consentire un'ulteriore personalizzazione e configurazione della funzionalità.
CycleCloud viene fornito con un set di modelli di cluster predefiniti che possono essere usati per effettuare il provisioning di un set di tipi di cluster sufficienti per molti utenti. Inoltre, è possibile eseguire facilmente la personalizzazione usando Cluster-Init. Pertanto la maggior parte degli utenti non dovrà mai modificare run_lists
o compilare i propri recipes
e cookbooks
.
Tuttavia, viene effettuato il provisioning dei cluster CycleCloud usando un set di cookbook comuni disponibili per tutti i cluster CycleCloud e quelli cookbooks
con un set di attributes
cui gli utenti possono voler personalizzare. Di seguito sono descritte alcune delle più comunemente usate attributes
.
Nota
Preferisce le funzionalità del modello di cluster per modificare direttamente gli attributi Chef.
Gli attributi comuni del cookbook sono soggetti a modifiche. Le impostazioni degli attributi vengono comunemente sostituite perché le funzionalità che controllano vengono rese disponibili come funzionalità più generali/potenti di CycleCloud stesso. Se una personalizzazione è disponibile sia nel modello di cluster che tramite un attributo Chef, preferisce sempre il metodo Cluster Template perché è la soluzione più generale.
Per altre informazioni sul framework Opscode Chef stesso, vedere il sito Web Opscode.
Chef attributes
configura l'operazione di run_list
per un singolo nodo o matrice di nodi. Devono essere impostati nella sezione secondaria del [[[configuration]]]
nodo. Ad esempio, per impostare la password di amministratore CycleServer per un nodo configurato per l'esecuzione di CycleServer:
[[node cycle_server]]
[[[configuration]]]
run_list = role[monitor], recipe[cyclecloud::searchable], recipe[cfirst], \
recipe[cuser::admins], recipe[cshared::client], recipe[cycle_server::4-2-x], \
recipe[cluster_init], recipe[ccallback::start], recipe[ccallback::stop]
cycle_server.admin.pass=P\@ssw0rd
Cycle Computing fornisce una risorsa Chef chiamata thunderball
per semplificare il download di oggetti dai servizi cloud ai nodi. thunderball gestisce automaticamente il tentativo di download non riuscito e supporta più configurazioni. Per impostazione predefinita, thunderball scaricherà un file dal repository del pacchetto CycleCloud e lo scriverà in $JETPACK_HOME/system/chef/cache/thunderballs
. Esempio che usa la configurazione predefinita:
thunderball "condor" do
url "cycle/condor-8.2.9.tgz"
end
La tabella seguente elenca tutti gli attributi della risorsa thunderball.
Attributo | Descrizione |
---|---|
checksum | CHECKSUM SHA256 per l'artefatto da scaricare. |
client | Client della riga di comando da usare. Il valore predefinito è :pogo . |
config | Configurazione personalizzata di thunderball da usare. |
dest_file | Percorso del file in cui eseguire il download.
storedir viene ignorato quando dest_file è in uso. |
storedir | I file del percorso vengono scaricati in . Il valore predefinito è thunderball.storedir . |
url | Percorso del file da scaricare (completo o parziale). |
Le sezioni di configurazione personalizzate possono essere usate per scaricare oggetti da un altro repository.
Attributo | Descrizione |
---|---|
base | URL di base. |
client | Strumento da riga di comando per interagire con il provider. |
endpoint | Endpoint URL da usare. |
nomefile | File di configurazione da usare. |
password | Password per Azure. |
proxy_host | Host da usare come proxy. |
proxy_port | Porta da usare per il proxy. |
utente | Utente di sistema locale che userà questa configurazione. Il file di configurazione viene inserito nella home directory dell'utente (filename viene ignorato quando viene usato) |
username | Access_key/nome utente per Azure. |