Pages

Rechercher dans ce blog

Affichage des articles dont le libellé est chef-client. Afficher tous les articles
Affichage des articles dont le libellé est chef-client. Afficher tous les articles

jeudi 2 mai 2013

3 méthodes d'installation chef-client

Différentes méthodes d'installation chef-client


Les méthodes d'installation décrites ici utilisent SL6, chef 11.
Typiquement, l'installation de chef-client doit être lancée par la commande knife bootstrap  ou par l'installation de Ruby gem.
Nous allons commencer ici par l'installation par package :  

Installation par package :


Aller sur le site  d' Opscode afin de récupérer le paquet pour votre distribution :
http://www.opscode.com/chef/install/
  • La première méthode fournie utilise CURL, lancez cette commande et chef-client s'installera :
curl -L https://www.opscode.com/chef/install.sh | bash
  • La seconde méthode consiste à télécharger le .rpm et de l'installer.
(Positionnez-vous en premier dans votre répertoire de téléchargement)

wget https://opscode-omnibus-packages.s3.amazonaws.com/el/6/x86_64/chef-11.4.4-1.el6.x86_64.rpm

rpm - Uvh chef-11.4.4-1.el6.x86_64.rpm

Le package installe chef dans le répertoire /opt/chef/

Installation par Ruby-gem :


On commence par ajouter le dépot RBEL6 :

sudo rpm -Uvh http://rbel.frameos.org/rbel6

Puis on installe Ruby , quelques dépendances et des outils de développement

sudo yum install ruby ruby-devel ruby-ri ruby-rdoc ruby-shadow gcc gcc-c++ automake autoconf make curl dmidecode

Enfin l'installation de rubygem 2.0.3

cd /tmp
wget http://production.cf.rubygems.org/rubygems/rubygems-2.0.3.tgz
tar zxf rubygems-2.0.3.tgz
cd rubygems-2.0.3
ruby setup.rb --no-format-executable --no-document

Il ne nous reste plus qu'à installer la gem de chef :

sudo gem install chef --no-ri --no-rdoc

et de copier les fichiers de configuration avant de lancer la commande

sudo chef-client

Installation depuis le depot git (install from head) :


Nous allons commencer par installer git :

yum install -y git

On se place dans le dossier d'installation désiré :

cd /opt/

puis on clone le repository :

git clone https://github.com/opscode/chef.git

On télécharge / installe les dépendances :

sudo yum install ruby ruby-devel ruby-ri ruby-rdoc ruby-shadow gcc gcc-c++ automake autoconf make curl dmidecode

Puis Rubygem (source) :

cd /tmp
wget http://production.cf.rubygems.org/rubygems/rubygems-1.8.10.tgz
tar zxf rubygems-1.8.10.tgz
cd rubygems-1.8.10
sudo ruby setup.rb --no-format-executable

Et on installe quelques gems nécessaires :

gem install rspec rake cucumber jeweler gemcutter

Et enfin l'installation du client :
Retournez dans le dossier de chef (j'avais choisi /opt/chef) et lancer l'installation de la gem.

cd /opt/chef/lib/chef
rake install

Ensuite copiez les fichiers de configurations du client et lancer la commande afin de créer le client et le node :

sudo chef-client 

Copie des fichiers de configuration :


L'installation est faite, maintenant, retourner sur votre serveur-chef , placez vous dans votre répertoire favoris et lancer la commande :

knife configure client ./

Ceci fait, vous aurez 2 nouveaux fichiers : client.rb et validation.pem
Créez le dossier chef :

mkdir -p /etc/chef/

Déplacez dans ce dossier les fichiers précédemment téléchargés.

mv 'client.rb' 'validation.pem' /etc/chef/

Voilà, vous devez maintenant être capable de lancer la commande :

sudo chef-client

Celle-ci va créer un client et un node lié à ce client.

mardi 30 avril 2013

Mise en place d'un cookbook

Mise en place d'un cookbook

On y arrive enfin !

Pour faire simple, nous allons mettre en place une recette qui va installer "Tree" sur notre node.

Pour le moment, je vous conseille de regarder les nombreuses recettes "recipes" disponibles sur le site communautaire d' Opscode avant de vouloir coder la votre, mais vous en faites pas j'y reviendrai également plus tard.


Avant de vouloir créer votre recette, vérifier toujours que le site communautaire ne l'a pas déjà... ça serait bête de réinventer la roue..
 
La recette "Tree" existe sur le site.

Depuis votre "workstation" lancer la commande suivante :

knife cookbook site install tree

La recette est téléchargée mais n'est disponible pour le moment que sur votre "workstation", il nous faut donc l'envoyer au serveur :

knife cookbook upload tree

Après cette commande, vous devriez voir dans l'onglet cookbook de l'interface web, la recette "Tree".

Aller sur l'onglet node, puis glisser-déposer la recette dans la "run-list" et "save" of course..

Ensuite retournez sur la machine "client" et lancer la commande :

sudo chef-client

le résultat :
upgrade package tree from uninstalled to 1.5.3-2

Voilà votre première installation de chef est terminée.
Fork me on GitHub