Chef y Azure

Chef, qué es?

Para los que pensaban que Chef y Azure no tenian conexión alguna en este nuevo mundo que está imponiendo el término DevOps, les comento que se pueden hacer muchas cosas utilizando ambas herramientas, obteniendo el mejor potencial de cada una.

Chef es una plataforma de automatización, de gran alcance, que transforma infraestructura compleja en código. Ya sea que esté operativo en la nube, on-premises, o híbrido, Chef automatiza cómo se configuran, implementan y administran las aplicaciones a través de la red, sin importar el tamaño de las mismas.

Forma de trabajo

En primer lugar el ciclo de funcionamiento de Chef lo desencadena el usuario escribiendo “ recetas” que especifican como Chef gestiona las aplicaciones de servidor y los servicios (como IIS, SQL, etc.), y de que manera se pretenden configurar.

Estas recetas, que pueden agruparse para facilitar la gestión en cookbooks (libros de cocina), describen una serie de instrucciones que deben ejecutarse: que paquetes se deben instalar, que servicios deben estar en ejecución, o que archivos tienen que ser modificados. Todas estas instrucciones diversas pueden configurarse para versiones específicas de software y pueden asegurar que el software va a estar instalado de forma correcta, basado en las dependencias establecidas.

Requisitos

Vamos a comenzar a detallar que vamos a necesitar para estos ejemplos:

Azure: Obviamente vamos a tener que tener una suscripción de Azure para poder utilizar. En caso de que no tengan ninguna, accediendo al siguiente enlace pueden crear una trial.

Text Editor: Un editor de texto que ustedes prefieran (VS Code, Atom, Sublime, Notepad++, etc).

PuTTTY: Cliente SSH y Telnet para Windows.

Environment setup

En esta parte del ejemplo vamos a detallar como obtener un Chef server desde Azure y cómo descargar algunas de las herramientas para poder comenzar a trabajar con chef y Azure.

Comenzaremos accediendo al portal de Azure (http://portal.azure.com/).

Para crear el servidor de Chef desde Azure, vamos a +New e ingresar en el cuadro de busqueda: Chef Server 12, BYOL, para después seleccionar el resultado:

Portal Azure - Chef Server

Luego seleccionar el modo Classic, y por último Create:

Chef Server - Deployment classic

Después nos toca definir el Hostname, la Password, el tipo de vm y el resource group:

Chef - Crear el resource group

También podemos como configuración opcional definir la parte de networking:

Chef - Optional config

Y al finalizar los requerimientos de configuración, vamos a poder acceder a crear nuestro recurso y realizar la implementación:

Chef - Terms of use

Ahora vamos a ver desde el portal el proceso de creación y nos va a alertar al momento de finalizar:

Chef - Portal view

Completando la implementación de Chef

Teniendo el servidor implementado en Azure, continuando con esta pequeña introducción de Chef y Azure, vamos a conectarnos con nuestro servidor por medio del cliente PuTTY.

Para conectarnos debemos acceder usando el DNS externo de nuestro servidor Chef. Éste dato lo encontramos accediendo al Resource Group creado para este fin, luego seleccionamos el cloud service y ahí lo obtenemos de la siguiente columna:

DNS externo

Sólo hay que utilizar el nombre sin el http:// adelante y la barra (/) al final:

PuTTY

Al abrir la sesión contra el servidor, nos va a aparecer una advertencia de seguridad. Simplemente le damos que sí:

PuTTY - Advertencia

Ingresamos las credenciales que definimos cuando creamos la VM, para luego comenzar a ejecutar algunos comandos.

El primero, va a actualizar el hostname:

sudo chef-marketplace-ctl hostname chef-XXXX.cloudapp.net

Luego de haber configurado el nombre, debemos terminar la instalación ejecutando lo siguiente:

sudo chef-server-ctl marketplace-setup -u chefAdmin -p XXXX

(Cambiar los datos por los ingresados anteriormente)

Al finalizar el proceso, nos va a solicitar ingresar:

  • Nombre
  • Apellido
  • Email
  • Organización

Después nos va a consultar si aceptamos el Chef License Agreement y al finalizar esta etapa tenemos nuestro servidor Chef implementado en Azure listo para usar!

Chef session with PuTTY

Accedemos a la dirección del servidor, ingoramos la advertencia de seguridad y listo! Podemos acceder al portal:

Chef management console

En próximas entregas vamos a ver que podemos hacer con Chef y Azure para poder administrar y configurar nuestros servidores.

Saludos,

Comments