Comenzar a usar el cliente de línea de comandos de OpenStack

Generalidades

OpenStack es un software de código abierto que te permite crear nubes privadas y públicas. Hay disponible una herramienta de línea de comandos que facilita el trabajo con él. Este artículo explica cómo instalar el cliente de línea de comandos de OpenStack en tu instancia en la nube (en un virtualenv o de forma global), configurarlo con tu archivo openrc y correr comandos básicos.

Instalación

El cliente de línea de comandos de OpenStack se puede instalar de varias maneras. Este artículo muestra cómo instalarlo al correr pip en un virtualenv, así como instalarlo de forma global.

Instalar python-dev

Instala python-dev para que puedas compilar extensiones de Python. Esto es necesario para instalar openstackclient usando pip.

Si usas Python 2:

[user@localhost]$ sudo apt-get install python2.7-dev

Si usas Python 3:

[user@localhost]$ sudo apt-get install python3-dev

Instalar pip

Primero, corre lo siguiente para ver si pip está instalado:

Si usas Python 2

[user@localhost]$ pip -V

Si usas Python 3

[user@localhost]$ pip3 -V

Si no lo está, instálalo con lo siguiente:

Si usas Python 2

[user@localhost]$ sudo apt-get install python-pip

Si usas Python 3

[user@localhost]$ sudo apt-get install python3-pip

Instalar virtualenv

Una forma de instalar la CLI de OpenStack es en un entorno virtual. Ahora que pip está instalado, corre lo siguiente para instalar virtualenv:

[user@localhost]$ sudo apt-get install python-virtualenv

Instalar la CLI de OpenStack

Instalar dentro de un virtualenv

Este es un método seguro, ya que tu instalación se aloja dentro de un entorno virtual y no toca nada más en tu sistema. Para hacerlo, crea un entorno virtual, actívalo e instala la CLI de OpenStack dentro de él.

Si usas Python 2, corre el comando pip. Si usas Python 3, corre el comando pip3.

Este ejemplo crea un nuevo directorio de virtualenv llamado venv en tu directorio principal de usuario.

[user@localhost]$ virtualenv ~/venv
[user@localhost]$ source ~/venv/bin/activate
(venv)user@localhost$ pip install python-openstackclient

Esto instala el cliente en un entorno virtual separado del resto de tu sistema. Para poder usar el cliente, tendrás que activar el entorno virtual usando el comando source anterior.

Instalar de forma global

También puedes instalarlo de forma global en tu sistema usando pip para Python 2.

[user@localhost]$ sudo pip install python-openstackclient

O pip3 para Python 3.

[user@localhost]$ sudo pip3 install python-openstackclient

Es posible que veas el siguiente error al instalar.

Command python setup.py egg_info failed with error code 1

Si es así, corre lo siguiente:

[user@localhost]$ pip install --upgrade setuptools

O si usas Python 3:

[user@localhost]$ pip3 install --upgrade setuptools

Inténtalo de nuevo y deberías poder instalar sin errores.

Configuración

La forma más fácil de configurar el cliente es usar el archivo OpenRC. Revisa el siguiente artículo para obtener instrucciones sobre cómo descargar este archivo:

Para usar el archivo OpenRC, corre:

[user@localhost]$ source openrc.sh

Comandos básicos

El cliente de línea de comandos de OpenStack combina la funcionalidad de todos los demás clientes de línea de comandos específicos de cada servicio de OpenStack, como el cliente nova y el cliente cinder. Estos son algunos comandos básicos útiles:

[user@localhost]$ openstack server list
+--------------------------------------+-------------+--------+--------------------------------------------------------------+--------------+
| ID                                   | Name        | Status | Networks                                                     | Image Name   |
+--------------------------------------+-------------+--------+--------------------------------------------------------------+--------------+
| 4c40d015-33b3-4bc3-ba50-d794356eef4f | mariadb     | ACTIVE | public=2607:f298:5:101d:f816:3eff:feeb:ca8c, 208.113.133.156 | Ubuntu-16.04 |
| bf500ff3-7b37-4d01-a77e-5efc086de5f0 | nextcloud-1 | ACTIVE | public=2607:f298:5:101d:f816:3eff:fef1:9c6a, 208.113.131.81  | Ubuntu-16.04 |
| af01d391-7604-482e-84b9-3ccee872d69f | nextcloud   | ACTIVE | public=2607:f298:5:101d:f816:3eff:fea9:a69f, 208.113.129.184 | Ubuntu-16.04 |
| 72c4271b-d447-444c-b5f6-0af401ca14d2 | wordpress   | ACTIVE | public=2607:f298:5:101d:f816:3eff:fe08:54c5, 208.113.133.184 | Ubuntu-16.04 |
+--------------------------------------+-------------+--------+--------------------------------------------------------------+--------------+

Esto muestra las instancias que tienes en tu proyecto con información básica sobre ellas.

[user@localhost]$ openstack image list --status active
+--------------------------------------+--------------+--------+
| ID                                   | Name         | Status |
+--------------------------------------+--------------+--------+
| e87001f8-475e-403e-830d-24484187da08 | Debian-10    | active |
| 3272eb6f-b9cc-472e-ab0f-972670fc56a4 | Debian-11    | active |
| 40d4bb2e-bf2e-4af7-8b09-3bc6bd83fd65 | Debian-9     | active |
| b20aa3ec-2fd9-4350-80b3-0d590bd5998f | Fedora-33    | active |
| f9ef2681-3083-43ae-83b6-7c3e3be08ee3 | Fedora-34    | active |
| d920b7b4-36a4-4d46-b1f0-70c1bc9c9530 | Fedora-35    | active |
| 03a87e23-77e5-403b-a437-10e0b28b2583 | Ubuntu-14.04 | active |
| 6d73bd0e-1db4-452a-84c6-adaad0bae72a | Ubuntu-18.04 | active |
| 6da7de0c-fb47-4ffc-9f72-58323efcc842 | Ubuntu-20.04 | active |
| 2b2c61c6-324c-47f4-88c1-9ae8a978ddfd | Ubuntu-22.04 | active |
+--------------------------------------+--------------+--------+

Esto muestra las imágenes disponibles para tu proyecto.

[user@localhost]$ openstack volume list
+--------------------------------------+------+--------+------+-----------------------------------+
| ID                                   | Name | Status | Size | Attached to                       |
+--------------------------------------+------+--------+------+-----------------------------------+
| 539dcff1-117b-472a-8cf6-f7069d8a545f |      | in-use | 3    | Attached to Ubuntu22 on /dev/vda  |
+--------------------------------------+------+--------+------+-----------------------------------+

Esto muestra los volúmenes que has creado.

[user@localhost]$ openstack server create --key-name my_key --image Ubuntu-22.04 --flavor 100 awesome_server

Esto crea una instancia de Ubuntu 22.04 con el flavor gp1.subsonic (ID 100) y usa la llave llamada my_key.

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?