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.

vipin@laptop:~/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

vipin@laptop:~/chef-repo $ knife environment list 
_default 
book

List Node for All Environments

vipin@laptop:~/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.

Ordine di applicazione di un attributo