Existen varias maneras de instalar un servidor de Chef privado, …">

Pedro Jiménez's Blog

Un blog de muchas inquietudes

Installing a Private Chef Server via Knife-server

| Comments

Existen varias maneras de instalar un servidor de Chef privado, bien sea en una máquina virtual o física. Vamos a abordar una de ellas, la instalación del servidor de Chef via la gema de “knife-server”.

Más información sobre instalaciones manuales de CHEF: http://wiki.opscode.com/display/chef/Installing+Chef+Server+Manually

Será necesario tener un entorno RVM operativo y funcional. Para más información se puede ampliar desde aquí: https://rvm.io/rvm/install/. La verdad que no es el objetivo de este post explicar la instalación de dicho entorno.

Una vez realizado el login con el usuario del entorno RVM, pasaremos a la instalación de la Gema. En un primer paso nos ha dado un error y nos ha informado que:

pjimenez@pedro-pruebas:~$ gem install knife-server
Fetching: builder-3.1.4.gem (100%)
Fetching: excon-0.16.10.gem (100%)
Fetching: formatador-0.2.4.gem (100%)
Fetching: multi_json-1.5.0.gem (100%)
Fetching: net-scp-1.0.4.gem (100%)
Fetching: nokogiri-1.5.6.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing knife-server:
        ERROR: Failed to build gem native extension.

            /home/pjimenez/.rvm/rubies/ruby-1.9.3-p374/bin/ruby extconf.rb
            checking for libxml/parser.h... no
            -----
            libxml2 is missing.  please visit
            http://nokogiri.org/tutorials/installing_nokogiri.html for help
            with installing dependencies.
            -----
            *** extconf.rb failed ***

Siguiendo las instrucciones que nos aparecen en el enlace suministrado en el log, se instalan los paquetes que faltan.

$ sudo apt-get install libxslt-dev libxml2-dev

Repetimos después la parte de la Gema.

pjimenez@pedro-pruebas:~$ gem install knife-server
Building native extensions.  This could take a while...
Fetching: ruby-hmac-0.4.0.gem (100%)
Fetching: fog-1.9.0.gem (100%)
Fetching: knife-ec2-0.6.2.gem (100%)
Fetching: knife-server-0.3.3.gem (100%)
Successfully installed nokogiri-1.5.6
Successfully installed ruby-hmac-0.4.0
Successfully installed fog-1.9.0
Successfully installed knife-ec2-0.6.2
Successfully installed knife-server-0.3.3
5 gems installed
Installing ri documentation for nokogiri-1.5.6...
Installing ri documentation for ruby-hmac-0.4.0...
Installing ri documentation for fog-1.9.0...
Installing ri documentation for knife-ec2-0.6.2...
Installing ri documentation for knife-server-0.3.3...
Installing RDoc documentation for nokogiri-1.5.6...
Installing RDoc documentation for ruby-hmac-0.4.0...
Installing RDoc documentation for fog-1.9.0...
Installing RDoc documentation for knife-ec2-0.6.2...
Installing RDoc documentation for knife-server-0.3.3...

Bien, primer reto conseguido. Ahora la parte mágica del asunto … la instalación desatendida del servidor de Chef.

pjimenez@pedro-pruebas:~$ knife server bootstrap standalone --ssh-user root
--node-name chefpedro --host 192.168.1.64

WARNING: No knife configuration file found
WARNING: Failed to authenticate root - trying password auth
Enter password for root@192.168.1.64: 
Bootstrapping Chef on 192.168.1.64
...

Vemos que se ha generado el certificado de Servidor (validation.pem) así como todos los archivos de configuración. Los clientes hay que crearlos aún.

root@chefpedro:/etc/chef# ll
total 48
drwxr-xr-x  4 chef chef 4096 ene 29 11:26 ./
drwxr-xr-x 99 root root 4096 ene 29 11:26 ../
drwx------  2 chef root 4096 ene 29 11:26 certificates/
-rw-r-----  1 chef chef 3002 ene 29 11:25 client.rb
-rw-r-----  1 chef chef 6296 ene 29 11:25 server.rb
drwxr-xr-x  2 chef chef 4096 ene 29 11:25 solr-jetty/
-rw-r-----  1 chef chef 2627 ene 29 11:25 solr.rb
-rw-------  1 chef chef 1679 ene 29 11:25 validation.pem
-rw-------  1 chef chef 1679 ene 29 11:25 webui.pem
-rw-r-----  1 chef chef 4470 ene 29 11:26 webui.rb

Vemos las versiones de paquetería utilizadas actualmente.

root@chefpedro:/etc/chef# dpkg -l | grep chef
ii  chef                                10.18.2-2                        A
systems integration framework, built to bring the benefits of configuration
management to your entire infrastructure.

ii  chef-expander                       10.18.2-1                        A
systems integration framework, built to bring the benefits of configuration
management to your entire infrastructure.

ii  chef-server                         10.18.2-1                        A
meta-gem to install all server components of the Chef configuration management
system

ii  chef-server-api                     10.18.2-1                        A
systems integration framework, built to bring the benefits of configuration
management to your entire infrastructure.

ii  chef-server-webui                   10.18.2-1                        A
systems integration framework, built to bring the benefits of configuration
management to your entire infrastructure.

ii  chef-solr                           10.18.2-1
Manages search indexes of Chef node attributes using SOLR

Ahora toca cacharrear con nuestro servidor … al navegador: http://chefpedro:4040

Comments