PDF de programación - Proyecto integrado Chef

Imágen de pdf Proyecto integrado Chef

Proyecto integrado Chefgráfica de visualizaciones

Publicado el 25 de Junio del 2017
681 visualizaciones desde el 25 de Junio del 2017
818,4 KB
36 paginas
Creado hace 10a (21/06/2013)
PROYECTO INTEGRADO



Juan Antonio Beato Quiñones



2º ASIR

Proyecto Integrado



IES Gonzalo Nazareno

Tabla de contenido


1. Introducción .............................................................................................................. 3

1.1 ¿Qué es Chef? ..................................................................................................... 3

1.2 ¿Cómo lo uso? ..................................................................................................... 3

1.2.1 Hosted Chef:................................................................................................. 3

1.2.2 Chef-Solo: .................................................................................................... 3

1.2.3 Chef-Server y Chef-Client: ........................................................................... 3

2. Conceptos Básicos .................................................................................................... 4

3. Chef-Solo .................................................................................................................. 5

4. Chef-Server ............................................................................................................... 5

4.1 Introducción ........................................................................................................ 5

4.2 Instalación de Chef-Server en Ubuntu-Server 12.04 LTS ..................................... 5

4.2.1 Configuración de nuestro Workstation .......................................................... 7

5. Chef-Client ............................................................................................................... 8

5.1 Introducción ........................................................................................................ 8

5.2 Instalación de Chef-Client en Ubuntu y Debian ................................................... 8

5.3 Configuración de Chef-client ............................................................................... 9

6. Knife ....................................................................................................................... 10

6.1 ¿Qué es Knife? .................................................................................................. 10

6.2 Usando Knife .................................................................................................... 11

6.2.1 Nodos ......................................................................................................... 11

6.2.2 Roles .......................................................................................................... 12

6.2.3 Cookbooks ................................................................................................. 13

7. Ejemplos ................................................................................................................. 13

8. Despliegue de Servidor LAMP y Wordpress con Chef ............................................ 14

8.1 Introducción ...................................................................................................... 14

8.2 Despliegue en Chef-Solo ................................................................................... 15

8.3 Despliegue simultáneo en varios nodos con Chef-Server ................................... 26

9. Despliegue de Balanceador de cargas con Chef-Server ............................................ 27

10. Bibliografía ........................................................................................................... 36



Página 2



Proyecto Integrado



IES Gonzalo Nazareno

1. Introducción


1.1 ¿Qué es Chef?

Chef es un sistema de automatización de infraestructura desarrollada por Opscode y
hace más fácil desplegar servidores y aplicaciones a cualquier ubicación física, virtual o
en la nube, sin importar el tamaño de la infraestructura. Cada organización se compone
de uno (o más) Workstations (estaciones de trabajo), un único servidor, y cada uno de
los nodos que va a ser configurado y mantenido por Chef.

Está escrito en Ruby y Erlang, el desplieque de cookbook, recipes, etc... lo realiza con
ruby.

1.2 ¿Cómo lo uso?

Chef nos proporciona 3 opciones:

1.2.1 Hosted Chef: Nos proporcionan un Chef-server al que nos conectaremos desde
nuestra máquina con el par de claves que nos proporcionan en la web, nosotros
tendríamos nuestro Workstation que sincronizará con el servidor.

La versión FREE nos permite administrar hasta 5 servidores, estos son los precios:



1.2.2 Chef-Solo: Es una versión de código abierto de Chef que permite usar recetas en
nodos
Chef-Server.
Se ejecuta localmente y necesita tener la recetas en la máquina y todas sus
dependencias.

acceso

tienen

que

no

a

un


Chef-Solo no incluye las siguiente funcionalidades:

 Almacenamiento de datos de los nodos
 Distribución centralizada de Cookbooks
 Autenticación y Autorización
 Una API centralizada que interactúa con los integrantes de la infraestructura
 Atributos persistentes

1.2.3 Chef-Server y Chef-Client: Esta opción permite instalarte tu propio servidor
Chef en tu entorno y tus clientes Chef, te permitirá tener centralización de Cookbooks,
puedes realizar configuraciones en los Nodos sin necesidad de tener la recetas en los
nodos ya que todas están centralizadas en el servidor, la documentación sobre la
instalación del servidor y los clientes la veremos a continuación.



Página 3



Proyecto Integrado



IES Gonzalo Nazareno

Los componente que tendrá nuestro servidor serán los siguientes:

 CouchDB: Apache CouchDB es una base de datos documental sin esquemas,
deja a un lado el modelo tradicional de almacenado de datos en columnas,
tablas, filas, etc.. para CouchDB solo existen documentos, estos documentos son
almacenados en JSON

 RabbitMQ: Es un broker de mensajería, es un intermediario que traduce los

mensajes del sistema de un lenguaje a otro. Es un software de código abierto.

 Chef-server: Chef-Server actúa como un Hub de configuración. Almacena los
Cookbooks, las políticas aplicadas a estas y los nodos definidos en la estructura.
Los nodos utilizan Chef-Client para comunicarse con Chef-Server y pedirle las
recetas, plantillas, etc...

 Chef-server-webui: Es una aplicación hecha en Ruby on Rails 3.0 que interfaz

web a nuestro Chef-server.

 Chef-Solr: Utiliza Apache Sorl para la realización de búsquedas.

 Chef-expander: Es nuevo en Chef 0.10 y sustituye a chef-solr-indexer.

2. Conceptos Básicos


 Node: Es cualquier servidor, servidor virtual o instancia que este configurada

para ser mantenido por chef-client.

 Workstation: Es una máquina que está configurada para usar knife, sincronizar

con los repositorios y con el chef-server.

 Rol: Es una forma de definir atributos y recetas que queremos que se ejecuten en

uno o carios nodos.

 Cookbook: Es la unidad fundamental de la distribución de configuración y
políticas de Chef, define un escenario con todo lo necesario para realizar las
instalaciones, configuraciones, etc..

 Recipe: Es el elemento de configuración más importante dentro del entorno

Chef.

o Están escritas en Ruby
o Debe definir todo lo que queremos configurar de un sistema.
o Se almacenan en Cookbooks
o Pueden incluirse en otras recetas
o Puede depender de una o varias recetas.



 Attributes: Un atributo es un detalle especifico de un nodo, se puede definir en

un cookbook o recipe.

 Run-list: Es una lista en el que se pone los roles o recetas que queramos que se

ejecute, se ejecutarán en el orden que pongamos.

 Databags: Es una variable global definida en un fichero JSON y que es

accesible por un Chef-server y cargada en recetas.

 Environs: Es una forma de mapear u organizar el trabajo.



Página 4



Proyecto Integrado



IES Gonzalo Nazareno

 Ohai: Es una herramienta que utiliza el servidor para detectar ciertas
propiedades de cada nodo para después proporcionarlos al chef-client durante la
ejecución de este.

3. Chef-Solo

La instalación de Chef-solo en Debian se realiza con las instalación del Chef-Client por
lo que el procedimiento será el mismo que utilizaremos para instalar el cliente de chef,
podemos verlo un poco más adelante en el punto 5.

Si la instalación la queremos realizar en una máquina Ubuntu podemos ayudarnos del
script que nos proporciona la gente de Opscode ejecutando el siguiente comando:


curl -L https://www.opscode.com/chef/install.sh | bash


4. Chef-Server

4.1 Introducción

Chef-Server actúa como un Hub de configuración. Almacena los Cookbooks, las
políticas aplicadas a estas y los nodos definidos en la estructura. Los nodos utilizan
Chef-Client para comunicarse con Chef-Server y pedirle las recetas, plantillas, etc...

4.2 Instalación de Chef-Server en Ubuntu-Server 12.04 LTS

La instalación de Chef-Server la vamos a realizar en una máquina Ubuntu Server 12.04
LTS.

Hay varias formas de realizar la instalación, nosotros vamos a realizarla añadiendo los
repositorios de Opscode e instalado desde repositorios.

Lo primero que tenemos que tener configurado correctamente será el FQDN de la
máquina, no cuento con un servidor DNS por lo que yo lo haré en el fichero /etc/hosts:

127.0.0.1 servidor2.example.com servidor2
#127.0.1.1 ubuntu

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Comprobamos la correcta configuración con el sig
  • Links de descarga
http://lwp-l.com/pdf4634

Comentarios de: Proyecto integrado Chef (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad