Gabriel Gayan, @gabrielgayan
Transcripción
Gabriel Gayan, @gabrielgayan
Cocinando con Chef Gabriel Gayan, @gabrielgayan Objetivo: Aprovisionamiento Fuerza Bruta SERVER="awesome.com" PROD_LOCATION="/var/www/html/$SERVER" HOLD_LOCATION="/var/www/html/$SERVER.hold" #establish base values for app and lib git repositories GIT_REPO_URL="[email protected]" GIT_APP_REPO="awesome.git" GIT_LIB_REPO="awesome-library.git" GIT_APP_BRANCH="tags/release-1.0" GIT_LIB_BRANCH="tags/releases-1.0" # create a list of folders that will be used for apache access FOLDERS="$HOLD_LOCATION/app/var/log $HOLD_LOCATION/app/var/cache $HOLD_LOCATION/app/var/backup" Shell Scripts Imágenes Prefabricadas Features 100% ruby (gem install chef) multiplataforma buena documentación recursos básicos out-of-the-box cookbooks provistos por la comunidad Distintos sabores Arquitectura Chef Server Workstation Nodos Chef Server Motor de Búsqueda Interfaz Web API Almacena nodos, roles, cookbooks, etc. Workstation Computador con knife configurado Mantención del repositorio chef Administración completa del chef-server Repositorio Chef Cookbooks -> Recetas Roles Data Bags Environments Cookbooks Agrupación de recetas Archivos Templates: ERB Recursos y Proveedores “livianos” Metadata Ejemplos: Apache, MySql Recetas Escritas en ruby, utilizando recursos Pueden incluir otras recetas Roles run-list: roles y recetas Atributos de nodo Data Bags Atributos de nodo “buscables” ideales para contraseñas Environments Versiones de Cookbooks Atributos de nodo “Gemfile” Chef Client Se ejecuta en un nodo Cálculo de atributos Aplica las recetas Logging Ohai Recopila información del OS kernel hostname paquetes instalados etc Extensible mediante plugins Ejemplos Recursos http://docs.opscode.com http://wiki.opscode.com http://community.opscode.com http://berkshelf.com http://www.solowizard.com fin