Cómo instalar OpenStack en CentOS 8 con Packstack

pila abierta es un software de nube privada gratuito y de código abierto a través del cual podemos administrar los recursos informáticos, de red y de almacenamiento de nuestro centro de datos con facilidad utilizando un solo tablero y mediante comandos openstack cli. En este artículo, demostraremos cómo instalar Openstack en un sistema CentOS 8 con paquete. Packstack es una utilidad de línea de comandos que implementa diferentes componentes de openstack utilizando módulos de marionetas.

La implementación de Openstack con packstack generalmente se usa con fines POC (prueba de concepto), por lo que no se recomienda usar packstack para la implementación de producción. Use el método TripleO para implementar openstack en un entorno de producción.

Requisitos mínimos del sistema para OpenStack

  • CentOS 8 mínimo
  • Procesador de doble núcleo
  • 8GB RAM
  • 40 GB de espacio libre en disco
  • Conexión estable a Internet
  • Al menos una tarjeta nic

Detalles de configuración de mi laboratorio:

  • Nombre de host: openstack.example.com
  • IP – 192.168.1.8
  • Red Plana – 192.168.1.0/24

Profundicemos en los pasos de instalación de openstack,

Paso 1) Configure el nombre de host y actualice el archivo /etc/hosts

Abra la terminal y configure el nombre de host usando el siguiente comando hostnamectl,

[[email protected] ~]# hostnamectl set-hostname "openstack.example.com"
[[email protected] ~]# exec bash

Ejecute debajo del comando echo para agregar la entrada del nombre de host en el archivo /etc/hosts.

[[email protected] ~]# echo -e "192.168.1.8topenstack.example.com" >> /etc/hosts

Paso 2) Deshabilite el administrador de red y configure la red usando scripts de red

Gerente de Redes es la herramienta predeterminada en CentOS 8 para administrar redes, pero para Openstack debemos deshabilitarla porque las redes openstack no funcionarán correctamente con el administrador de red. En lugar del administrador de red, debemos instalar scripts de red nativos.

Para deshabilitar el administrador de red, ejecute los siguientes comandos,

[[email protected] ~]# systemctl disable NetworkManager
[[email protected] ~]# systemctl stop NetworkManager

Ejecute el siguiente comando dnf para instalar scripts de red nativos

[[email protected] ~]# dnf install network-scripts -y

Una vez que el paquete de scripts de red está instalado, podemos administrar la red (archivos ifcfg-*) usando la red nativa.servicio

Ahora configuremos la dirección IP en el archivo ifcfg-enp0s3 e iniciemos el servicio de red

[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

archivo-de-red-ifcfg-enp0s3-centos8

Guarde y salga del archivo y luego inicie el servicio de red usando el siguiente comando,

[[email protected] ~]# systemctl start network
[[email protected] ~]# systemctl enable network

Ahora verifique si la IP está asignada a NIC (enp0s3) usando el comando ip,

[[email protected] ~]# ip a s enp0s3

ifcfg-enp0s3-ip-comando-linux

Paso 3) Habilite los repositorios de OpenStack e instale la utilidad Packstack

Al momento de escribir este artículo, ussuri openstack estaba disponible, así que ejecute el siguiente comando para configurar sus repositorios

[[email protected] ~]# dnf config-manager --set-enabled powertools
or
[[email protected] ~]# dnf config-manager --enable PowerTools
[[email protected] ~]# dnf install -y centos-release-openstack-ussuri

Ahora instale todas las actualizaciones disponibles y reinicie su sistema,

[[email protected] ~]# dnf update -y
[[email protected] ~]# reboot

Una vez que el sistema esté disponible después del reinicio, ejecute el siguiente comando dnf para instalar la utilidad packstack

[[email protected] ~]# dnf install -y openstack-packstack

Paso 4) Genere el archivo de respuesta e instale openstack usando packstack

Use el comando packstack para generar el archivo de respuesta,

[[email protected] ~]# packstack --gen-answer-file /root/openstack-answer.txt

Una vez que se genera el archivo de respuesta, edite los siguientes parámetros usando el editor vi,

[[email protected] ~]# vi /root/openstack-answer.txt
..............
CONFIG_HEAT_INSTALL=y
CONFIG_PROVISION_DEMO=n
[email protected]
CONFIG_NEUTRON_OVN_BRIDGE_IFACES=br-ex:enp0s3
..............

Guardar y salir del archivo.

Reemplace el nombre de la interfaz (enp0s3) según su configuración.

Nota: La unidad de tipo de red de inquilino predeterminada se establece como «ginebra” y el controlador de tipo de neutrones predeterminado se establece como “ginebra y plano”. Si desea cambiar estos parámetros predeterminados, actualice las siguientes líneas en el archivo de respuesta. En esta demostración no voy a actualizar estos parámetros.

CONFIG_NEUTRON_ML2_TYPE_DRIVERS=geneve,flat
CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=geneve

Ejecute el siguiente comando para iniciar la implementación de openstack mediante el archivo de respuesta.

[[email protected] ~]# packstack --answer-file /root/openstack-answer.txt

La implementación demorará entre 20 y 30 minutos, según el hardware de su sistema y la velocidad de Internet. Una vez instalado correctamente obtendremos lo siguiente:

Openstack-Successfull-Installation-Screen

Ahora verifique si la IP de la interfaz enp03 está asignada al puente br-ex y también confirme si la interfaz enp0s3 se agrega como un puerto en ovs-bridge.

Ejecute los siguientes comandos:

[[email protected] ~]# ip a s enp0s3
[[email protected] ~]# ip a s br-ex
[[email protected] ~]# ovs-vsctl show

ovs-vsctl-command-centos8

Perfecto, el resultado anterior confirma que la instalación fue exitosa y la red también está configurada según el archivo de respuesta.

Paso 5) Acceda al panel de Horizon

Ahora intente iniciar sesión en el panel de Horizon. La URL ya está especificada en el resultado anterior, en mi caso, la URL es http://192.168.1.8/tablero , Use el nombre de usuario como administrador y la contraseña que especificamos en el archivo de respuesta.

También referimos el archivo “keystonerc_admin” para las credenciales

OpenStack-Horizon-Dashboard-CentOS8

Instancia-Resumen-OpenStack-Dashboard

Ahora, probemos esta implementación openstack lanzando una instancia.

Paso 6) Pruebe y verifique la instalación de OpenStack iniciando una instancia

Antes de lanzar una instancia en openstack, primero debemos crear las redes y el enrutador y mirar la imagen. Por lo tanto, primero vamos a crear una red externa en el inquilino de administración usando los siguientes comandos de neutrones,

[[email protected] ~]# source keystonerc_admin
[[email protected] ~(keystone_admin)]# neutron net-create external_network --provider:network_type flat --provider:physical_network extnet --router:external

Ahora agregue una subred de su red plana a la red externa ejecutando el siguiente comando de neutrones.

[[email protected] ~(keystone_admin)]# neutron subnet-create --name public_subnet --enable_dhcp=True --allocation-pool=start=192.168.1.210,end=192.168.1.230 --gateway=192.168.1.1 external_network 192.168.1.0/24

Cree un enrutador ejecutando el siguiente comando de neutrones y configure su puerta de enlace usando una red externa

[[email protected] ~(keystone_admin)]# neutron router-create dev-router
[[email protected] ~(keystone_admin)]# neutron router-gateway-set dev-router external_network

Cree una red privada y adjunte una subred a ella. Ejecute el siguiente comando de neutrones,

[[email protected] ~(keystone_admin)]# neutron net-create pvt_net
[[email protected] ~(keystone_admin)]# neutron subnet-create --name pvt_subnet pvt_net 10.20.1.0/24

Agregue la interfaz pvt_net al enrutador «dev_router» usando el comando debajo de neutron,

[[email protected] ~(keystone_admin)]# neutron router-interface-add dev-router  pvt_subnet

Ahora descargue la imagen de Cirros y luego cárguela para mirar

[[email protected] ~(keystone_admin)]# wget http://download.cirros-cloud.net/0.5.1/cirros-0.5.1-x86_64-disk.img
[[email protected] ~(keystone_admin)]# openstack image create --disk-format qcow2 --container-format bare --public --file cirros-0.5.1-x86_64-disk.img  cirros

Ahora regrese al panel de Horizon y verifique la topología de la red.

Red-Topología-OpenStack-Dashboard

Perfecto, lo anterior confirma que la red privada y externa se han configurado correctamente junto con el enrutador.

Un paso final antes de crear una máquina virtual, actualice el grupo de seguridad predeterminado, agregue reglas de ingreso icmp y ssh, haga clic en «Grupos de seguridad” en la pestaña de red, haga clic en Administrar reglas y luego haga clic en “Añadir regla

Administrar-Seguridad-Grupo-Reglas-ICMP-OpenStack

De manera similar, agregue la regla para ssh

Manage-Security-Group Rules-ssh-OpenStack

Haga clic en Agregar

Ahora se cumplen todos los requisitos para lanzar una instancia openstack. Haga clic en Calcular Tabulador y luego Elegir Instancias opción y haga clic en “Instancia de lanzamiento

VM-Creación-OpenStack

Una vez que la VM se inicie con éxito, obtendremos algo como lo siguiente:

Instancias-Estado-OpenStack-Dashboard

Ahora asocie la IP flotante a la instancia (demo_vm), debajo de «Comportamiento” Pestaña, Elija “Asociar IP flotante

Asociar-Opción-IP-Flotante-Openstack

Ahora elija IP o haga clic en + signo para obtener una IP flotante de una red externa y luego asociarla

Elija-IP-Associate-Port-OpenStack

Una vez que la IP está asociada a la VM, se mostrará la IP flotante en la opción ‘Dirección IP’, el ejemplo se muestra a continuación

Dirección-IP-flotante-Openstack-VM

Ahora intente acceder a este demo_vm usando la ip flotante, use cirros como usuario y ‘gocubsgo’ como contraseña

Access-VM-using-floating-ip-openstack

Genial, la salida anterior confirma que podemos acceder a nuestra instancia a través de una IP flotante. Esto concluye el artículo; Espero que este tutorial ayude a implementar openstack en el sistema CentOS 8. Por favor, no dude en compartir sus opiniones y comentarios.

Leer también: Cómo crear una instancia en OpenStack a través de la línea de comandos

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *