Chef - Meio Ambiente

Chef ajuda a realizar a configuração específica do ambiente. É sempre uma boa ideia ter um ambiente separado para desenvolvimento, teste e produção.

Chef permite agrupar nós em ambientes separados para suportar um fluxo de desenvolvimento ordenado.

Criando um Ambiente

A criação do ambiente em tempo real pode ser feita usando o utilitário de faca. O comando a seguir abrirá um editor padrão do Shell, para que se possa modificar a definição do 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

Testando um ambiente criado

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

Nó de lista para todos os ambientes

vipin@laptop:~/chef-repo $ knife node list 
my_server

_ambiente padrão

Cada organização sempre iniciará com pelo menos um único ambiente denominado ambiente padrão, que está sempre disponível para o servidor Chef. Um ambiente padrão não pode ser modificado de forma alguma. Qualquer tipo de mudança só pode ser acomodado no ambiente personalizado que criamos.

Atributos de ambiente

Um atributo pode ser definido em um ambiente e, em seguida, usado para substituir as configurações padrão no nó. Quando a execução do cliente Chef ocorre, esses atributos são comparados com os atributos padrão que já estão presentes no nó. Quando os atributos de ambiente têm precedência sobre os atributos padrão, o cliente Chef aplicará essas configurações e valores quando a execução do cliente Chef ocorrer em cada nó.

Um atributo de ambiente só pode ser default_attribute ou override_attribute. Não pode ser um atributo normal. Pode-se usar os métodos default_attribute ou override_attribute.

Tipo de Atributo

Default - Um atributo padrão é sempre redefinido no início de cada execução do cliente Chef e tem a precedência de atributo mais baixa.

Override- Um atributo de substituição é sempre redefinido no início de cada execução do cliente Chef e tem uma precedência de atributo maior do que o padrão, force_default e normal. Um atributo de substituição é mais frequentemente definido na receita, mas também pode ser especificado em um arquivo de atributo para uma função ou ambiente.

Ordem de aplicação de um atributo