Cómo crear Vagrant CentOS 7 usando VirtualBox
Vagrant es una herramienta increíble desarrollada por HashiCorp para crear y configurar entornos de desarrollo ligeros, reproducibles y portátiles construidos sobre la tecnología estándar de la industria y controlados por un único flujo de trabajo consistente para ayudar a maximizar la productividad y la flexibilidad.
Es como un contenedor de alto nivel alrededor de software de virtualización como VirtualBox, VMware, KVM y Linux Containers (LXC), y alrededor de software de gestión de configuración como Ansible, Chef, Salt y Puppet. Vagrant hace que sea mucho más fácil girar máquinas virtuales locales usando VirtualBox. Utiliza el entorno de virtualización e implementa las máquinas virtuales de su elección y administra al usuario para que tenga acceso directo y administre múltiples máquinas virtuales encima.
En este tutorial, aprenderemos cómo crear una caja base de CentOS 7 vagabunda desde cero usando VirtualBox.
1. Instalación de VirtualBox
En primer lugar, descargaremos la última versión, es decir, la caja virtual 4.3.28 para la virtualización de vagrant. Lo descargaremos del Página de descarga oficial de VirtualBox usando nuestro navegador web o podemos usar wget usando terminal. Aquí, estamos ejecutando Ubuntu 14.04 en nuestra máquina host, así que descargaremos el paquete debian para Ubuntu.
# wget http://download.virtualbox.org/virtualbox/4.3.28/virtualbox-4.3_4.3.28-100309~Ubuntu~raring_amd64.deb --2015-06-16 17:49:13-- http://download.virtualbox.org/virtualbox/4.3.28/virtualbox-4.3_4.3.28-100309~Ubuntu~raring_amd64.deb Resolving download.virtualbox.org (download.virtualbox.org)... 137.254.120.26 Connecting to download.virtualbox.org (download.virtualbox.org)|137.254.120.26|:80... connected. ... HTTP request sent, awaiting response... 200 OK Length: 65115674 (62M) [application/x-debian-package] Saving to: ‘virtualbox-4.3_4.3.28-100309~Ubuntu~raring_amd64.deb’ 100%[===============================>] 65,115,674 36.8MB/s in 1.7s 2015-06-16 17:49:15 (36.8 MB/s) - ‘virtualbox-4.3_4.3.28-100309~Ubuntu~raring_amd64.deb’ saved
Después de descargar el archivo debian, lo instalaremos usando el administrador de paquetes dpkg.
# dpkg -i virtualbox-4.3_4.3.28-100309~Ubuntu~raring_amd64.deb
Luego, para arreglar las dependencias requeridas, ejecutaremos el siguiente comando.
# apt-get -f install
2. Instalación de Vagrant
Como estamos ejecutando Ubuntu 14.04 en nuestra máquina host, ahora vamos a descargar la última versión de vagrant ie 1.7.2 de nuestro Página oficial de descarga de Vagrant usando wget o usando nuestro navegador web favorito.
# wget https://dl.bintray.com/mitchellh/vagrant/vagrant_1.7.2_x86_64.deb
Después de la descarga, ahora lo instalaremos usando el administrador de paquetes dpkg.
# dpkg -i vagrant_1.7.2_x86_64.deb Selecting previously unselected package vagrant. (Reading database ... 117170 files and directories currently installed.) Preparing to unpack vagrant_1.7.2_x86_64.deb ... Unpacking vagrant (1:1.7.2) ... Setting up vagrant (1:1.7.2) ...
3. Preparación de la máquina virtual
Descarga del archivo de imagen CentOS
Como estamos haciendo todo desde cero en este tutorial, crearemos nuestra máquina virtual mediante nuestra propia instalación y configuración en Virtual Box. Entonces, antes de comenzar a configurar la VM, necesitaremos descargar nuestro propio archivo iso centos 7. Podemos descargarlo desde http://mirror.centos.org/centos/7/isos/x86_64/ seleccionando el espejo cercano a nuestro lugar y el archivo de imagen requerido. Aquí, descargaremos la iso mínima de CentOS 7. Ahora que nuestro archivo de imagen iso está listo para funcionar, continuaremos con la creación de la máquina virtual en la caja virtual.
Crear máquina virtual
Ahora, lanzaremos la caja virtual que acabamos de instalar en nuestro sistema operativo host. Luego, haremos clic en Nuevo Botón. Luego le daremos a la máquina virtual un nombre como centos-7 entonces elegiremos Linux en Tipo.
Y elige Red Hat (64 bits) como versión. Debajo Tamaño de la memoria, nos vamos RAM a 512 MB como vagabundo tiene la capacidad de cambiarlo.
Ahora, seleccionaremos Crea un disco duro virtual ahoray haga clic en Crear. Dejaremos el nombre predeterminado debajo Ubicación del archivo. Luego, establezca el tamaño del archivo del disco duro en 40,00 GB y seleccione VDI (VirtualBox Disk Image) como Tipo de archivo de disco duro.
Entonces seleccionaremos Asignado dinámicamente y haga clic en Crear. Viva. hemos creado con éxito la máquina virtual en nuestra Virtual Box.
Configuración adicional de la máquina virutal
Luego, para una mayor configuración, haremos clic en el nombre de la máquina virtual y haremos clic en Ajustes. Entonces ve al Almacenamiento pestaña y haga clic en Vacío justo debajo Controlador IDE, luego en el lado derecho de la ventana, haga clic en el Icono de CDy seleccione elija un archivo de disco de CD / DVD virtual. Navegue hasta donde el Imagen iso de CentOS 7 se descargó, selecciónelo y haga clic en Abierto. Entonces queremos hacer clic OK para cerrar el Ajustes menú.
4. Instalación de CentOS 7 en una máquina virtual
Finalmente, estamos instalando nuestro CentOS 7 en la máquina virtual que acabamos de crear. El proceso de instalación es bastante simple y es tan fácil como instalar normalmente y se pueden usar la mayoría de las opciones predeterminadas. También puede seguir http://linoxide.com/how-tos/centos-7-step-by-step-screenshots/ para la parte de instalación del sistema operativo.
Ahora, después de que se haya instalado el sistema operativo, configuraremos el sistema operativo para que funcione con Vagrant.
Ahora, abriremos una consola dentro de la máquina virtual e iniciaremos sesión como root.
Como eth0 está deshabilitado por defecto, necesitaremos recuperarlo.
# ifup eth0
Ahora, instalaremos algunos paquetes adicionales como openssh, nano, ntp, curl desde el repositorio usando el administrador de paquetes yum.
# yum install -y openssh-clients nano wget ntp curl
Luego, habilitaremos el servicio ntpd para que se inicie en cada arranque.
# chkconfig ntpd on
Después de eso, queremos establecer la hora del servidor time.nist.gov.
# service ntpd stop # ntpdate time.nist.gov # service ntpd start
Ahora, habilitaremos el servicio ssh para que se inicie en el arranque para que podamos entrar en la máquina tan pronto como arranque.
chkconfig sshd on
Deshabilitaremos los servicios iptables e ip45.55.88.66tables para que no se inicien en el arranque.
# chkconfig iptables off # chkconfig ip6tables off
Luego configuraremos SELinux en permisivo.
# sed -i -e 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config
Después de eso, queremos agregar un nuevo usuario llamado vagrant para que podamos usarlo usando vagrant.
# useradd vagrant
Ahora, crearemos la carpeta .ssh del usuario vagabundo para que las claves ssh y la información se almacenen allí.
# mkdir -m 0700 -p /home/vagrant/.ssh
Si queremos usar nuestra propia clave SSH pública / privada, entonces crearemos una clave SSH pública / privada en nuestra estación de trabajo y copiaremos la clave pública en /home/vagrant/.ssh/authorized_keys en la máquina virtual.
De lo contrario, si queremos usar la clave pública / privada SSH proporcionada por Vagrant, simplemente podemos ejecutar el siguiente comando:
# curl https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub >> /home/vagrant/.ssh/authorized_keys
Ahora, queremos cambiar los permisos en los archivos autorizados_keys para que sean más restrictivos con chmod.
# chmod 600 /home/vagrant/.ssh/authorized_keys
Luego, arreglaremos la propiedad de la carpeta .ssh para el usuario y el grupo vagabundos que usan chown.
# chown -R vagrant:vagrant /home/vagrant/.ssh
Ahora, aquí está el principal cambio importante que debemos hacer, necesitaremos comentar requiretty en / etc / sudoers. Este cambio es importante porque permite a ssh enviar comandos remotos usando sudo. Si esto no se hace, el vagabundo no podrá aplicar cambios al inicio. Esto se puede hacer ejecutando el siguiente comando.
# sed -i 's/^(Defaults.*requiretty)/#1/' /etc/sudoers
Permitiremos que el usuario vagabundo use sudo sin ingresar una contraseña ejecutando el siguiente comando.
# echo "vagrant ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
Entonces abriremos / etc / sysconfig / network-scripts / ifcfg-eth0 y hacer que se vea exactamente como el siguiente
DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=dhcp
Ahora, quita el reglas de red persistentes de udev archivo usando el comando rm.
# rm -f /etc/udev/rules.d/70-persistent-net.rules
Ahora queremos limpiar yum usando el siguiente comando.
# yum clean all
Ahora, borraremos el tmp directorio y limpiarlo.
# rm -rf /tmp/*
Luego, limpie los últimos registros de usuarios conectados.
# rm -f /var/log/wtmp /var/log/btmp
Limpiaremos la historia.
# history -c
Después de eso, apagaremos la máquina virtual.
# shutdown -h now
Una vez que la máquina virtual esté apagada, haremos clic en Configuración para la máquina virtual. Entonces ve al Almacenamiento pestaña luego seleccione Controlador IDE y haga clic en el cuadrado verde con el icono rojo menos en la esquina inferior derecha de la sección Árbol de almacenamiento de la pestaña Almacenamiento. Luego haga clic en OK para cerrar el menú Configuración. Después de eso, iremos a crear la Vagrant Box.
5. Creando Vagrant Box
Asegúrese de que el valor del base El interruptor de línea de comando coincide con el nombre de la máquina virtual en VirtualBox:
# vagrant package --output centos-7.box --base centos-7
6. Añadiendo la Vagrant Box
Agregue el Vagrant Box recién creado a vagrant (esto copiará el Vagrant Box a otra ubicación):
# vagrant box add centos-7 centos-7.box
Además, la máquina virtual VirtualBox se puede eliminar.
7. Creación de un proyecto Vagrant y configuración de Vagrantfile
Los Proyectos Vagrantes se pueden crear tantos como queramos. Cada uno contendrá diferentes Vagrantfiles que contienen la definición del Vagrant Project y diferentes máquinas virtuales. Para hacerlo, crearemos un directorio llamado vagabundo bajo directorio linóxido para almacenar el Vagrantfile y las máquinas virtuales asociativas.
# mkdir -p ~/linoxide/vagrant # cd ~/linoxide/vagrant
Ahora, crearemos el Vagrantfile de la siguiente manera.
# vagrant init centos-7
Ahora tenemos un Vagrantfile que apunta al cuadro base centos-7 que acabamos de crear arriba. Si usamos nuestra propia clave SSH privada / pública, y no la clave SSH privada / pública proporcionada por Vagrant, debemos decirle a Vagrantfile dónde encontrar la clave privada SSH. Para hacerlo, necesitaremos agregar lo siguiente dentro del Vagrantfile que acabamos de crear.
# nano Vagrantfile config.ssh.private_key_path = "~/.ssh/id_rsa"
Si no desea compartir carpetas entre su máquina virtual y el sistema operativo host, simplemente deshabilítelo agregando lo siguiente a su Vagrantfile.
config.vm.synced_folder ".", "/vagrant", id: "vagrant-root", disabled: true
8. Iniciando Vagrant
Ahora, como hemos realizado todos los pasos anteriores por completo, finalmente queremos ejecutar nuestra primera máquina virtual vagabunda de fábrica. Para ejecutar nuestra máquina virtual vagabunda con el sistema operativo centos 7, solo necesitaremos ejecutar el siguiente comando.
# vagrant up
Si todo salió bien como se esperaba, deberíamos poder ver nuestro cuadro de vagabundo en ejecución mientras ejecutamos el comando de estado de vagabundo.
# vagrant status
Si queremos entrar en la caja vagabundo y queremos controlar la máquina virtual, simplemente ejecutaremos vagrant ssh
# vagrant ssh
Una vez que hayamos terminado con nuestro trabajo y queramos eliminar o destruir nuestra caja virtual vagabunda en ejecución, simplemente podemos ejecutar vagrant destroy que lo destruirá.
# vagrant destroy
Conclusión
Finalmente, hemos creado nuestra caja Vagrant ejecutando CentOS 7 desde cero usando Virtual Box. Este artículo nos facilita la creación de una caja de Vagrant si ya tiene un archivo de imagen de centos 7, un DVD o una máquina virtual y no quiere descargar la imagen de una caja de centos 7 para vagrant. Este método también le ayuda a crear una caja Vagrant si no tiene una conexión a Internet disponible en ese momento, pero tiene una imagen o un DVD de CentOS 7.
El tutorial anterior es realmente una guía simple y fácil de hacer para crear nuestra caja base vagrant centos 7 desde cero, incluso podemos crear vagrant box de cualquier distribución de Linux con pasos similares anteriores. Por lo tanto, si tiene alguna pregunta, comentario o retroalimentación, escriba en el cuadro de comentarios a continuación y háganos saber qué cosas deben agregarse o mejorarse.