jueves, 13 de octubre de 2011

Agregar los repositorio a chef

SEGUNDO GRAN PASO: Agregar los repositorios, entiendase cookbooks, templates ...
Lo primero es tener instalado git para poder jalar el repo de ospcode:

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:git-core/ppa
sudo aptitude update
sudo aptitude safe-upgrade
sudo aptitude install git

Git es necesario, dado que el comando knife cookbook funciona usando git, es una ventaja ademas, tener los cookbooks en un repositorio con versiones de control. Crea un repositorio en GitHub donde almacenaras tus cookbooks, y dale los permisos necesarios para acceder desde tu chef-master. Crea en el chef-master las llaves para autenticar con el repo github.

ssh-keygen -t dsa

Asegura que la carpeta /var/chef/cookbooks (donde por defecto van los cookbooks) pertenezca al usuario que modificará los mismo

sudo chown luis:luis -R cookbooks

Inicializa un repositorio git:

git config --global user.name "Luis García Acosta"
git config --global user.email luis@springstar.com
git init
git add README
git commit -m 'first commit'
git remote add origin git@github.com:lgarciaac/springstar-cookbooks.git
git push -u origin master

Una ves logrado esto, chef y hithub están configurados para gozar de las bondades de chef, puedes empezar a agregar tus propios repositorios o repositorios publicos que se encuentran en http://community.opscode.com/cookbooks. En mi caso, no me pueden faltar ni mysql, ninginx ni apt

knife cookbook site install mysql
knife cookbook site install nginx
knife cookbook site install apt

Despues, basta con un simple push para manterner todo en HitHub

Una vez descargados los cookbooks, hay que subirlos al chef-server.

knife cookbook upload munin ó knife cookbook upload -a (sube todos los cookbooks respetando las dependencias)

Si este depende de otros cookbooks, va a protestar y a pedirlo antes

miércoles, 12 de octubre de 2011

Como instalar chef server en ubuntu

Como instalar chef master me ha dado tantos dolores de cabeza, creo que lo mejor es dejar un record de lo que he echo, tanto para mi como para otras personas. La instalación va a ser a travez de apt-get, por por gem


Entorno:

Ubuntu 10.04, instalación totalmente nueva solo ssh server como extra pakete


Actualizar la paqueteria de Ubuntu

sudo apt-get update; sudo apt-get upgrade


Agregar el reposito de Ospcode como se refleja en http://wiki.opscode.com/display/chef/Installing+Chef+Server+on+Debian+or+Ubuntu+using+Packages

sudo touch /etc/apt/sources.list.d/opscode.list
sudo echo "deb http://apt.opscode.com/ `lsb_release -cs`-0.10 main" | sudo tee /etc/apt/sources.list.d/opscode.list


Agregar el GPG Key y upgradear el indice

sudo mkdir -p /etc/apt/trusted.gpg.d
gpg --keyserver keys.gnupg.net --recv-keys 83EF826A
gpg --export packages@opscode.com | sudo tee /etc/apt/trusted.gpg.d/opscode-keyring.gpg > /dev/null
sudo apt-get update
sudo apt-get install opscode-keyring

Instalar chef y chef-server. Este paso descargará cerca de 200Mb, instalará RabbitMQ, CouchDB, Chef Server apies, Chef Server UI, en fin, todo lo que necesitamos :-)


Siguiendo las instrucciones de la referencia todo debe de marchar bien. Ademas del .pem para el cliente, se tiene que copiar el validator.pem

domingo, 2 de octubre de 2011