Chef - Environnement

Chef aide à effectuer une configuration spécifique à l'environnement. C'est toujours une bonne idée d'avoir un environnement séparé pour le développement, les tests et la production.

Chef permet de regrouper les nœuds dans des environnements séparés pour prendre en charge un flux de développement ordonné.

Créer un environnement

La création d'environnement à la volée peut être effectuée à l'aide de l'utilitaire couteau. La commande suivante ouvrira l'éditeur par défaut d'un Shell, afin de pouvoir modifier la définition de l'environnement.

[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

Test d'un environnement créé

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

Nœud de liste pour tous les environnements

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

_Environnement par défaut

Chaque organisation démarrera toujours avec au moins un environnement unique appelé environnement par défaut, qui est toujours disponible pour le serveur Chef. Un environnement par défaut ne peut en aucun cas être modifié. Tout type de changement ne peut être pris en compte que dans l'environnement personnalisé que nous créons.

Attributs d'environnement

Un attribut peut être défini dans un environnement, puis utilisé pour remplacer les paramètres par défaut dans le nœud. Lorsque l'exécution du client Chef a lieu, ces attributs sont comparés aux attributs par défaut déjà présents dans le nœud. Lorsque les attributs d'environnement ont priorité sur les attributs par défaut, le client Chef appliquera ces paramètres et valeurs lorsque l'exécution du client Chef aura lieu sur chaque nœud.

Un attribut d'environnement ne peut être que default_attribute ou override_attribute. Ce ne peut pas être un attribut normal. On peut utiliser les méthodes default_attribute ou override_attribute.

Type d'attribut

Default - Un attribut par défaut est toujours réinitialisé au début de chaque exécution du client Chef et a la priorité d'attribut la plus basse.

Override- Un attribut de remplacement est toujours réinitialisé au début de chaque exécution du client Chef et a une priorité d'attribut plus élevée que default, force_default et normal. Un attribut de remplacement est le plus souvent défini dans la recette mais peut également être spécifié dans un fichier d'attributs pour un rôle ou pour un environnement.

Ordre d'application d'un attribut