OpenStack es un software de nube de código abierto que proporciona infraestructura como servicio (IaaS). Se puede instalar en uno o varios nodos.
En este artículo, implementaremos openStack en tres nodos (computación + controlador + red) en CentOS 7.x usando el repositorio RDO y la utilidad packstack. Para la instalación de OpenStack de un solo nodo, consulte lo siguiente:
Cómo instalar OpenStack de un solo nodo en CentOS 7
En el artículo, estoy usando tres máquinas virtuales alojadas en VirtualBox y cada VM tiene una sola interfaz LAN. A continuación se muestran los detalles de la arquitectura:
Detalles del nodo del controlador:
- Nombre de host = controlador.ejemplo.com
- Dirección IP = 192.168.1.30
- SO = CentOS 7.x
- DNS = 192.168.1.11
Los siguientes componentes de OpenStack se instalarán en el nodo del controlador:
- Piedra clave
- Mirada
- rápido
- Ceniza
- Horizonte
- Neutrón
- nova novncproxy
- noviembre
- api nova
- Programador Nova
- Nova-conductor
Detalles del nodo de cálculo:
- Nombre de host = computar.ejemplo.com
- Dirección IP = 192.168.1.31
- SO = CentOS 7.X
- DNS = 192.168.1.11
Los siguientes componentes de OpenStack se instalarán en el nodo de cálculo:
- Cálculo de Nova
- Neutrón – Agente Openvswitch
Detalles del nodo de red:
- Nombre de host = red.ejemplo.com
- Dirección IP = 192.168.1.32
- SO = CentOS 7.x
- DNS = 192.168.1.11
Los siguientes componentes de OpenStack se instalarán en el nodo de red:
- Servidor de neutrones
- Agente DHCP de Neturon
- Neutrón- Agente Openswitch
- Agente neutrón L3
Realice los siguientes pasos para la instalación:
Paso: 1 Actualice los nodos usando el siguiente comando.
Use el siguiente comando en los tres nodos para actualizar todos los paquetes instalados.
# yum -y update ; reboot
Paso:2 Actualice el archivo /etc/hosts y el nombre de host
Establezca el nombre de host en los tres nodos usando el siguiente comando, en caso de que no esté configurado.
# hostnamectl set-hostname 'new_hostname'
Actualice el archivo /etc/hosts si no tiene configurado su DNS local.
192.168.1.30 controller.example.com controller 192.168.1.31 compute.example.com compute 192.168.1.32 network.example.com network
Paso:3 Deshabilite SELinux y Network Manager en los tres nodos.
Use el siguiente comando para deshabilitar SELinux en los tres nodos.
# setenforce 0
Deshabilitado SELinux permanentemente cambiando el parámetro ‘SELINUX=deshabilitado’ en el archivo ‘/etc/sysconfig/selinux‘
Utilice los siguientes comandos para deshabilitar Network Manager en los tres nodos.
# systemctl stop NetworkManager # systemctl disable NetworkManager # reboot
Paso:4 Establezca la autenticación sin contraseña desde el nodo del controlador hasta el nodo de computación y red.
Ejecute los siguientes comandos desde el nodo del controlador.
[[email protected] ~]# ssh-keygen [[email protected] ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected] [[email protected] ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
Revisa ahora :
[[email protected] ~]# ssh compute Last login: Sun Apr 3 00:03:44 2016 from controller.example.com [[email protected] ~]# hostname compute.example.com [[email protected] ~]# [[email protected] ~]# ssh network Last login: Sun Apr 3 00:04:20 2016 from controller.example.com [[email protected] ~]# hostname network.example.com [[email protected] ~]#
Paso:5 Habilite el repositorio RDO e instale la utilidad Packstack
Use el siguiente comando yum para habilitar el repositorio RDO e instalar la utilidad packstack solo en el nodo del controlador.
[[email protected] ~]# yum install -y https://www.rdoproject.org/repos/rdo-release.rpm [[email protected] ~]# yum install -y openstack-packstack
Paso:6 Generar y personalizar el archivo de respuesta
Use el siguiente comando para generar el archivo de respuesta.
[[email protected] ~]# packstack --gen-answer-file=/root/answer.txt [[email protected] ~]#
Edite el archivo de respuesta y especifique la dirección IP del controlador, el cómputo y el nodo de red. Aparte de esto, también especifique las contraseñas de diferentes servicios y deshabilite los componentes como la versión Demo y Ceilometer.
[[email protected] ~]# vi /root/answer.txt ........................................ CONFIG_CONTROLLER_HOST=192.168.1.30 CONFIG_COMPUTE_HOSTS=192.168.1.31 CONFIG_NETWORK_HOSTS=192.168.1.32 CONFIG_PROVISION_DEMO=n CONFIG_CEILOMETER_INSTALL=n CONFIG_HORIZON_SSL=y CONFIG_NTP_SERVERS=<Specify NTP Server IP > CONFIG_KEYSTONE_ADMIN_PW=<Specify New_Password> ..........................................
Nota : En caso de que no tenga un servidor NTP, puede dejar el parámetro NTP como está, pero se recomienda encarecidamente que usemos el servidor ntp para la sincronización de tiempo.
Paso:7 Inicie la instalación usando el comando packstack.
Ahora estamos listos para comenzar la instalación de openstack usando el comando packstack. Ejecute el siguiente comando desde el nodo del controlador.
[[email protected] ~]# packstack --answer-file=/root/answer.txt
Una vez que la instalación se complete con éxito nos aparecerá a continuación:
Después de la instalación, una nueva interfaz ‘br-ex‘ se creará en el nodo de red. Agregue la interfaz de red (enp0s3 o eth0 o puede ser otro nombre) al Abra el puente vSwitch ‘br-ex’ como puerto y asigne la dirección IP de ‘enp0s3’ a ‘br-ex’
[[email protected] ~]# cd /etc/sysconfig/network-scripts/ [[email protected] network-scripts]# cp ifcfg-enp0s3 ifcfg-br-ex [[email protected] network-scripts]# vi ifcfg-enp0s3 DEVICE=enp0s3 HWADDR=08:00:27:37:4C:EF TYPE=OVSPort DEVICETYPE=ovs OVS_BRIDGE=br-ex ONBOOT=yes [[email protected] network-scripts]# vi ifcfg-br-ex DEVICE=br-ex DEVICETYPE=ovs TYPE=OVSBridge BOOTPROTO=static IPADDR=192.168.1.32 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=192.168.1.11 ONBOOT=yes
Reinicie el servicio de red usando el siguiente comando.
[[email protected] network-scripts]# systemctl restart network [[email protected] network-scripts]#
Paso:8 Acceda al panel de control de Openstack.
Ahora intente acceder al panel de control de openstack desde el navegador usando a continuación.
https://192.168.1.30/tablero
Utilice el nombre de usuario como ‘admin’ y la contraseña que especifique en el archivo answer.txt.
Haga clic en ‘Conectar’
Nota: en caso de que obtenga ‘Error: no se puede recuperar la información del límite de volumen’ en el tablero, esto se puede solucionar agregando lo siguiente en el cinder.conf archivo en el nodo del controlador.
[[email protected] ~]# vi /etc/cinder/cinder.conf .................................... [keystone_authtoken] auth_uri = http://<Controller_IP>:5000 auth_url = http://<Controller_IP>:35357 auth_plugin = password project_domain_id = default user_domain_id = default project_name = services username = cinder password = <Cinder_Password> {Search CONFIG_CINDER_KS_PW in answer file} .....................................
Reinicie el servicio de Cinder.
[[email protected] ~]# systemctl restart openstack-cinder-api.service [[email protected] ~]# systemctl restart openstack-cinder-backup.service [[email protected] ~]# systemctl restart openstack-cinder-scheduler.service [[email protected] ~]# systemctl restart openstack-cinder-volume.service
Como podemos iniciar sesión en el tablero, podemos decir que la parte de la instalación está completa. Ahora la siguiente tarea es lanzar una instancia, para eso necesitamos realizar las siguientes tareas.
- Crear proyecto y usuarios
- Asignar Usuarios al Proyecto.
- Crear imagen y sabores
- Definir red interna y externa
- Crear enrutador
- Cree reglas de seguridad para máquinas virtuales o instancias.
Para realizar la tarea anterior, consulte la siguiente URL:
Referencia : – https://www.rdoproject.org/install/packstack/