Publicado el 1 de Noviembre del 2018
2.011 visualizaciones desde el 1 de Noviembre del 2018
1,5 MB
31 paginas
Creado hace 7a (26/02/2018)
Tabla de contenido
Introduction
¿Qué es DevOps?
Vagrant
Instalación
Proyectos
Boxes
Iniciar el ambiente
Carpetas compartidas
Aprovisionamiento
FIle
Shell
Puesta en practica
Servicios telemáticos
DNS
POP3 & IMAP
SMTP
1.1
1.2
1.3
1.3.1
1.3.2
1.3.3
1.3.4
1.3.5
1.3.6
1.3.6.1
1.3.6.2
1.3.7
1.3.7.1
1.3.7.1.1
1.3.7.1.2
1.3.7.1.3
2
Introduction
Introducción
Actualmente y sobre todo en las grandes corporaciones, muchos equipos de TI siguen
dependiendo de tareas manuales como por ejemplo realizar configuraciones, scripts
personalizados, imágenes, copias de seguridad, inicialización y chequeo de servicios... así
mismo siguen usando herramientas complejas, insuficientes y obsoletas para administrar la
infraestructura. Esto da como resultado innumerables errores, perdidas operativas, sobre
esfuerzos, mayores costos, fallas de seguridad y demora en el aprovisionamiento de
servicios, sin contar con el impacto que esto genera en el negocio.
Hoy en día las organizaciones que buscan eliminar dichas fallas y realizar
implementaciones más rápidas tratan a la infraestructura no como una tecnología dura sino
como una tecnología blanda, es decir que tratan al hardware como software: por lo que
ahora cualquier componente de hardware incluyendo sus características y procesos de
administración se ven como una variable mas o como una línea de código dentro de un
programa, que a su vez puede ser administrado con las mismas herramientas, técnicas y
procesos que hoy utilizan los desarrolladores de software, tales como el control de
versiones, integración continua, revisión de código y pruebas automatizadas. Esto le
permite a los administradores realizar cambios en la infraestructura con una mayor
cobertura y de forma más fácil, rápida, segura y confiable.
3
Introduction
4
Introduction
5
¿Qué es DevOps?
¿Qué es DevOps?
DevOps es un marco de trabajo que se aproxima al método ágil en el que tanto las áreas de
TI y las áreas del negocio colaboran para mantener los servicios del negocio de una manera
muchísimo mas flexible, escalable y sobretodo automatizada. Dicha automatización se hace
a través de componentes de software y es la base para muchas prácticas DevOps, esta
permite aprovisionar los servicios de TI de forma más rápida sin tener que sacrificar la
estabilidad o la seguridad, ademas de beneficiar a las áreas de TI y también beneficia al
negocio mejorando los indicadores de vitalidad como por ejemplo disminuyendo el Time to
Market.
6
Vagrant
Vagrant
Vagrant es una herramienta para gestionar el ciclo de vida de maquinas virtuales y/o
contenedores cuando se utiliza Docker.
7
Instalación
Instalación
Para instalar Vagrant en cualquiera de sus versiones, basta con descargar y ejecutar el
paquete correspondiente según el tipo de arquitectura (32 y 64-bit) y el sistema operativo
que se utilice (MAC OS X, Windows, Debian y Centos), este procedimiento agregara los
comandos vagrant al path del sistema.
El sitio oficial desde el que se recomienda descargar los paquetes Vagrant es el siguiente:
https://www.vagrantup.com/downloads.html
8
Proyectos
Proyectos
Crear un proyecto en Vagrant es una tarea muy sencilla que consiste en crear un directorio
para alojar los archivos de configuración y principalmente el archivo VagrantFile. El
procedimiento es el siguiente:
Paso 1: crear un directorio para alojar el proyecto vagrant.
Paso 2: cambiar el directorio actual por el directorio del proyecto recién creado.
Paso 3: ejecutar el comando vagrant init
Estos 3 simples pasos permiten configurar dicho directorio para que pueda ser usado como
un ambiente Vagrant; este comando también se encarga de crear el archivo Vagrantfile
siempre y cuando este no exista.
Este es el resumen de los comandos ejecutados:
$ mkdir DevOps
$ cd DevOps/
$ mkdir vagrant
$ cd vagrant/
$ vagrant init
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
Destruir el ambiente
El comando vagrant destroy [name|id] le permitira borrar todas o una máquina virtual en
particular. Este comando no elimina los box del ambiente, así que si desea también borrar
un box en particular debe utilizar el comando vagrant box remove . La carpeta del proyecto
puede ser borrada manualmente de la misma forma en que se elimina cualquier directorio
en su sistema operativo.
9
Boxes
Boxes
Cada vez que se crea un proyecto, incluso antes de crear el VagratFile, vagrant crea una
maquina virtual; sin embargo este proceso no se realiza descargando y e inicializando una
maquina por cada proyecto, ya que esto sería tedioso y muy demorado. En lugar de esto
vagrant clona rápidamente una maquina virtual base la cual ha sido previamente
descargada. A estas imágenes base previas se les denominan "Boxes".
Para ver una lista de los boxes instalados en Vagrant utilice el comando vagrant box list.
Instalar un Box
Al momento de crear un proyecto vagrant permite definir el box con el que queremos
trabajar agregando al comando vagrant init un parámetro con el nombre del box de lo
contrario se usara el box por omisión que puede ser cualquiera que en el momento se halla
definido como tal. El proceso de instalación del box no empezara hasta que la maquina no
sea iniciada lo cual se realiza con el comando vagrant up.
resumen de los comandos:
$ vagrant init hashicorp/precise64
$ vagrant up
Otra método para instalar un box es utilizar el comando vagrant box add
[nombre_del_box], la diferencia con el anterior método es que este proceso no requiere
iniciar ninguna maquina virtual.
Cualquiera de los dos métodos anteriores permite reutilizar el box en cuantos proyectos sea
necesario.
Cabe anotar que nungún proyecto modifica la imagen original del box así como si dos o
mas proyectos comparten un box no significa que compartan los archivos de configuración y
por ende los cambios que en uno se realicen no tienen efecto sobre ningún otro.
Por omisión Vagrant descarga el box del repositorio HashiCorp's Atlas box catalog, también
es posible definir una ubación diferente que pueden ser URLs o archivos locales.
Usar un Box
10
Boxes
Para usar un box es necesario declarar una variable config.vm.box con el nomre del box
que se quiera usar en el proyecto, esto se hace dentro del archivo VagrantFile.
Ejemplo de declaración de un box:
Vagrant.configure("2") do |config|
config.vm.box = "hashicorp/precise64"
end
En este ejemplo se muestra la declaración de un box cuyo nombre abreviado es
hashicorp/precise64, si en el momento en que se inicie la maquina virtual este no ha sido
instalado Vagrant realiza la descarga desde el repositorio por omisión.
hashicorp/precise64 es un Ubuntu 12.04 LTS 64-bit, si desea buscar mas boxes o incluso
agregar nuevos para compartir, consulte el sitio HashiCorp's Atlas box catalog.
Desinstalar un Box
Para remover un box se utiliza el comando vagrant box remove [nombre_del_box].
11
Iniciar el ambiente
Iniciar el ambiente
Vagrant puede gestionar una maquina virtual o varias maquinas en un sistema compuesto
por varios servidores, estaciones de trabajo, redes, etc. Iniciar uno o varios de los
componentes de un sistema a veces es una tarea compleja y demorada.
Vagrant le permite iniciar todo el ambiente en un solo paso en cuestión de minutos, para
esto solo es necesario ejecutar el comando vagrant up, este comando crea, configura y
ejecuta cada maquina según como se halla definido en el archivo VagrantFile.
$ mkdir DevOps
$ cd DevOps/
$ mkdir vagrant
$ cd vagrant/
$ vagrant init
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
$ vagrant up
Bringing machine 'mail' up with 'virtualbox' provider...
Bringing machine 'web' up with 'virtualbox' provider...
==> mail: Box 'hashicorp/precise64' could not be found. Attempting to find and install
...
mail: Box Provider: virtualbox
mail: Box Version: >= 0
==> mail: Loading metadata for box 'hashicorp/precise64'
mail: URL: https://atlas.hashicorp.com/hashicorp/precise64
==> mail: Adding box 'hashicorp/precise64' (v1.1.0) for provider: virtualbox
mail: Downloading: https://atlas.hashicorp.com/hashicorp/boxes/precise64/versions/
1.1.0/providers/virtualbox.box
mail: Progress: 14% (Rate: 375k/s, Estimated time remaining: 0:07:40)
Luego de iniciado el ambiente Vagrant ya ha creado una VPN que le permitem acceder
mediante full-fledged SSH a cualquiera de las maquinas virtuales que halla declarado en el
VagrantFile, simplemente ejecute el comando vagrant ssh [nombre_de_la_VM] o
simplemente vagrant ssh si solo quiere acceder a la maquina por omisión, para terminar la
sesión en la maquina virtual puede usar los comandos logout o CTRL+D.
12
Carpetas compartidas
Carpetas compartidas
Usar una editor de texto plano sobre SSH puede ser un poco tedioso para muchos, si no
fuese por las carpetas compartidas de Vagrant este sería el único mecanismo del que
dispondriamos para editar manualmente cualquier archivo ubicado dentro de las maquinas
virtuales.
Por omisión Vagrant toma el directorio raíz donde esta ubicado el proyecto (donde esta el
archivo VagrantFile) y lo comparte el directorio /home/vagrant ubicado en la maquina
virtual, de esta forma el contenido de este último directorio puede ser editado desde la
máquina anfitrión y con herramientas especializadas.
Ejemplo del uso de carpetas compartidas:
1. Inicie la máquina, abra una sesión, cree un archivo llamado foo.txt y luego cierre la
sesión.
$ vagrant up
...
$ vagrant ssh
...
vagrant@precise64:~$ touch /vagrant/foo.txt
vagrant@precise64:~$ exit
2. Verifique que en la carpeta del proyecto se halla creado el archivo foo.txt
$ ls
foo Vagrantfile
13
Aprovi
Comentarios de: DevOps (0)
No hay comentarios