Devstack es una colección de scripts que implementan la última versión del entorno openstack en una máquina virtual, una computadora portátil personal o una computadora de escritorio. Como su nombre indica, se utiliza para entorno de desarrollo y se puede usar para las pruebas funcionales de Openstack Project y, en ocasiones, el entorno openstack implementado por devstack también se puede usar con fines de demostración y para algunos PoC básicos.
En este artículo, demostraré cómo instalar Openstack en el sistema CentOS 7 / RHEL 7 usando Devstack. Los siguientes son los requisitos mínimos del sistema,
- Procesador de doble núcleo
- Mínimo 8 GB de RAM
- Disco duro de 60 GB
- Conexión a Internet
Los siguientes son los detalles de mi configuración de laboratorio para la implementación de Openstack usando devstack
- Instalación mínima de CentOS 7/RHEL 7 (VM)
- Nombre de host:devstack-linuxtechi
- Dirección IP:169.144.104.230
- 10 CPU virtuales
- 14 GB de RAM
- Disco duro de 60 GB
Comencemos con los pasos de implementación, inicie sesión en su sistema CentOS 7 o RHEL 7
Paso:1 Actualice su sistema y establezca el nombre de host
Ejecute el siguiente comando yum para aplicar las últimas actualizaciones al sistema y luego reinicie. Además, después de reiniciar, configure el nombre de host
~]# yum update -y && reboot ~]# hostnamectl set-hostname "devstack-linuxtechi" ~]# exec bash
Paso:2) Cree un usuario de Stack y asígnele derechos sudo
Todos los pasos de instalación deben ser realizados por un nombre de usuario "stack “, consulte los siguientes comandos para crear y asignar derechos sudo.
[[email protected] ~]# useradd -s /bin/bash -d /opt/stack -m stack [[email protected] ~]# echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack stack ALL=(ALL) NOPASSWD: ALL [[email protected] ~]#
Paso:3) Instalar git y descargar devstack
Cambie al usuario de pila e instale el paquete git usando el comando yum
[[email protected] ~]# su - stack [[email protected] ~]$ sudo yum install git -y
Descargue devstack usando el siguiente comando git,
[[email protected] ~]$ git clone https://git.openstack.org/openstack-dev/devstack Cloning into 'devstack'... remote: Counting objects: 42729, done. remote: Compressing objects: 100% (21438/21438), done. remote: Total 42729 (delta 30283), reused 32549 (delta 20625) Receiving objects: 100% (42729/42729), 8.93 MiB | 3.77 MiB/s, done. Resolving deltas: 100% (30283/30283), done. [[email protected] ~]$
Paso:4) Cree el archivo local.conf e inicie la instalación openstack
Para comenzar la instalación de openstack usando el script devstack (stack.sh), primero debemos preparar el archivo local.conf que se adapte a nuestra configuración.
Cambie a la carpeta devstack y cree un archivo local.conf con los siguientes contenidos
[[email protected] ~]$ cd devstack/ [[email protected] devstack]$ vi local.conf [[local|localrc]] #Specify the IP Address of your VM / Server in front of HOST_IP Parameter HOST_IP=169.144.104.230 #Specify the name of interface of your Server or VM in front of FLAT_INTERFACE FLAT_INTERFACE=eth0 #Specify the Tenants Private Network and its Size FIXED_RANGE=10.4.128.0/20 FIXED_NETWORK_SIZE=4096 #Specify the range of external IPs that will be used in Openstack for floating IPs FLOATING_RANGE=172.24.10.0/24 #Number Host on which Openstack will be deployed MULTI_HOST=1 #Installation Logs file LOGFILE=/opt/stack/logs/stack.sh.log #KeyStone Admin Password / Database / RabbitMQ / Service Password ADMIN_PASSWORD=openstack DATABASE_PASSWORD=db-secret RABBIT_PASSWORD=rb-secret SERVICE_PASSWORD=sr-secret #Additionally installing Heat Service enable_plugin heat https://git.openstack.org/openstack/heat master enable_service h-eng h-api h-api-cfn h-api-cw
Guarde y salga del archivo.
Establecer los permisos en /opt/stack
[[email protected] devstack]$ sudo chmod 755 /opt/stack
Ahora comience la implementación o instalación ejecutando el script (stack.sh)
[[email protected] devstack]$ ./stack.sh
Tomará entre 30 y 45 minutos dependiendo de su conexión a Internet.
Mientras ejecuta el comando anterior, si tiene los siguientes errores
+functions-common:git_timed:607 timeout -s SIGINT 0 git clone git://git.openstack.org/openstack/requirements.git /opt/stack/requirements --branch master fatal: unable to connect to git.openstack.org: git.openstack.org[0: 104.130.246.85]: errno=Connection timed out git.openstack.org[1: 2001:4800:7819:103:be76:4eff:fe04:77e6]: errno=Network is unreachable Cloning into '/opt/stack/requirements'... +functions-common:git_timed:610 [[ 128 -ne 124 ]] +functions-common:git_timed:611 die 611 'git call failed: [git clone' git://git.openstack.org/openstack/requirements.git /opt/stack/requirements --branch 'master]' +functions-common:die:195 local exitcode=0 [Call Trace] ./stack.sh:758:git_clone /opt/stack/devstack/functions-common:547:git_timed /opt/stack/devstack/functions-common:611:die [ERROR] /opt/stack/devstack/functions-common:611 git call failed: [git clone git://git.openstack.org/openstack/requirements.git /opt/stack/requirements --branch master] Error on exit /bin/sh: brctl: command not found [[email protected] devstack]$
Para resolver estos errores, realice los siguientes pasos
Instalar puente-utils paquete y cambie el parámetro de “GIT_BASE=${GIT_BASE:-git://git.openstack.org} ” a “GIT_BASE=${GIT_BASE:-https://www.github.com} ” en el archivo stackrc
[[email protected] devstack]$ sudo yum install bridge-utils -y [[email protected] devstack]$ vi stackrc …… #GIT_BASE=${GIT_BASE:-git://git.openstack.org} GIT_BASE=${GIT_BASE:-https://www.github.com} ……
Ahora vuelva a ejecutar el script stack.sh,
[[email protected] devstack]$ ./stack.sh
Una vez que la secuencia de comandos se ejecute con éxito, obtendremos un resultado similar al siguiente:
Esto confirma que openstack se ha implementado con éxito,
Paso:5 Acceda a OpenStack a través de Openstack CLI o Horizon Dashboard
si desea realizar cualquier tarea desde openstack cli, debe primero abrir el archivo fuente openrc, que contiene las credenciales de administrador.
[[email protected] devstack]$ source openrc WARNING: setting legacy OS_TENANT_NAME to support cli tools. [[email protected] devstack]$ openstack network list +--------------------------------------+---------+----------------------------------------------------------------------------+ | ID | Name | Subnets | +--------------------------------------+---------+----------------------------------------------------------------------------+ | 5ae5a9e3-01ac-4cd2-86e3-83d079753457 | private | 9caa54cc-f5a4-4763-a79e-6927999db1a1, a5028df6-4208-45f3-8044-a7476c6cf3e7 | | f9354f80-4d38-42fc-a51e-d3e6386b0c4c | public | 0202c2f3-f6fd-4eae-8aa6-9bd784f7b27d, 18050a8c-41e5-4bae-8ab8-b500bc694f0c | +--------------------------------------+---------+----------------------------------------------------------------------------+ [[email protected] devstack]$ openstack image list +--------------------------------------+--------------------------+--------+ | ID | Name | Status | +--------------------------------------+--------------------------+--------+ | 5197ed8e-39d2-4eca-b36a-d38381b57adc | cirros-0.3.6-x86_64-disk | active | +--------------------------------------+--------------------------+--------+ [[email protected] devstack]$
Ahora intente acceder al panel de Horizon, los detalles de la URL y las credenciales ya están allí en la salida del comando de pila.
http://{Dirección-IP-de-Su-Servidor}/panel
Eliminar/desinstalar OpenStack usando scripts devstack
Si ha terminado con las pruebas y demostraciones y desea eliminar OpenStack de su sistema, ejecute los siguientes scripts a través del usuario de Stack,
[[email protected] ~]$ cd devstack [[email protected] devstack]$ ./clean.sh [[email protected] devstack]$ ./unstack.sh [[email protected] devstack]$ rm -rf /opt/stack/ [[email protected] ~]$ sudo rm -rf devstack [[email protected] ~]$ sudo rm -rf /usr/local/bin/
Eso es todo de este tutorial, si te gustan los pasos, comparte tus valiosos comentarios y opiniones.