Chef - Medio ambiente

Chef ayuda a realizar la configuración específica del entorno. Siempre es una buena idea tener un entorno separado para el desarrollo, las pruebas y la producción.

Chef permite agrupar nodos en entornos separados para respaldar un flujo de desarrollo ordenado.

Creando un ambiente

La creación de entorno sobre la marcha se puede realizar utilizando la herramienta de cuchillo. El siguiente comando abrirá el editor predeterminado de un Shell, de modo que se pueda modificar la definición del entorno.

[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

Prueba de un entorno creado

[email protected]:~/chef-repo $ knife environment list 
_default 
book

Nodo de lista para todos los entornos

[email protected]:~/chef-repo $ knife node list 
my_server

_entorno predeterminado

Cada organización siempre comenzará con al menos un entorno único llamado entorno predeterminado, que siempre está disponible para el servidor Chef. Un entorno predeterminado no se puede modificar de ninguna manera. Cualquier tipo de cambio solo se puede acomodar en el entorno personalizado que creamos.

Atributos del entorno

Un atributo puede definirse en un entorno y luego usarse para anular la configuración predeterminada en el nodo. Cuando tiene lugar la ejecución del cliente Chef, estos atributos se comparan con los atributos predeterminados que ya están presentes en el nodo. Cuando los atributos del entorno tienen prioridad sobre los atributos predeterminados, el cliente Chef aplicará estas configuraciones y valores cuando la ejecución del cliente Chef tenga lugar en cada nodo.

Un atributo de entorno solo puede ser default_attribute o override_attribute. No puede ser un atributo normal. Se pueden utilizar los métodos default_attribute o override_attribute.

Tipo de atributo

Default - Un atributo predeterminado siempre se restablece al inicio de cada ejecución del cliente Chef y tiene la precedencia de atributo más baja.

Override- Un atributo de anulación siempre se restablece al inicio de cada ejecución del cliente Chef y tiene una precedencia de atributos más alta que la predeterminada, force_default y normal. Un atributo de anulación se define con mayor frecuencia en la receta, pero también se puede especificar en un archivo de atributos para un rol o para un entorno.

Orden de aplicación de un atributo