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.