Chef - Ambiente
Lo chef aiuta a eseguire la configurazione specifica dell'ambiente. È sempre una buona idea avere un ambiente separato per lo sviluppo, il test e la produzione.
Chef consente di raggruppare i nodi in ambienti separati per supportare un flusso di sviluppo ordinato.
Creazione di un ambiente
La creazione dell'ambiente al volo può essere eseguita utilizzando l'utilità del coltello. Il seguente comando aprirà un editor predefinito di Shell, in modo da poter modificare la definizione dell'ambiente.
[email protected]:~/chef-repo $ knife environment create book {
"name": "book",
"description": "",
"cookbook_versions": {
},
"json_class": "Chef::Environment",
"chef_type": "environment",
"default_attributes": {
},
"override_attributes": {
}
}
Created book
Testare un ambiente creato
[email protected]:~/chef-repo $ knife environment list
_default
book
List Node for All Environments
[email protected]:~/chef-repo $ knife node list
my_server
_default Environment
Ogni organizzazione inizierà sempre con almeno un unico ambiente chiamato ambiente predefinito, che è sempre disponibile per il server Chef. Un ambiente predefinito non può essere modificato in alcun modo. Qualsiasi tipo di modifica può essere adattata solo all'ambiente personalizzato che creiamo.
Attributi ambientali
Un attributo può essere definito in un ambiente e quindi utilizzato per sovrascrivere le impostazioni predefinite nel nodo. Quando viene eseguita l'esecuzione del client Chef, questi attributi vengono confrontati con gli attributi predefiniti già presenti nel nodo. Quando gli attributi dell'ambiente hanno la precedenza sugli attributi predefiniti, il client Chef applicherà queste impostazioni e questi valori quando l'esecuzione del client Chef avrà luogo su ogni nodo.
Un attributo di ambiente può essere solo default_attribute o override_attribute. Non può essere un attributo normale. Si possono usare i metodi default_attribute o override_attribute.
Tipo di attributo
Default - Un attributo predefinito viene sempre ripristinato all'inizio di ogni esecuzione del client Chef e ha la precedenza dell'attributo più bassa.
Override- Un attributo override viene sempre reimpostato all'inizio di ogni esecuzione del client Chef e ha una precedenza dell'attributo superiore a quella predefinita, force_default e normale. Un attributo di sovrascrittura viene spesso definito nella ricetta ma può anche essere specificato in un file di attributi per un ruolo o per un ambiente.