title | excerpt | updated |
---|---|---|
Configuración del vRack Public Cloud con OpenStack CLI |
Cómo activar y gestionar un vRack Public Cloud utilizando OpenStack CLI |
2025-01-13 |
El vRack OVHcloud es una solución de red privada que permite configurar el direccionamiento entre varios servidores dedicados de OVHcloud. Al mismo tiempo, le permite agregar instancias de Public Cloud a su red privada para crear una infraestructura de recursos físicos y virtuales.
Esta guía explica cómo configurar las instancias de Public Cloud con OpenStack CLI
- Tener un proyecto de Public Cloud.
- Haber iniciado sesión en el área de cliente de OVHcloud.
- Haber creado un usuario de OpenStack (opcional).
- Conocimientos básicos de redes.
Antes de empezar, asegúrese de leer estas guías para configurar correctamente su entorno OpenStack:
- Preparar el entorno para utilizar la API de OpenStack.
- Cargar las variables de entorno necesarias para OpenStack.
- Etapa 1: Activar y gestionar un vRack
- Etapa 2: Crear una red privada en el vRack
- Etapa 3: Integrar una instancia en el vRack
- Desvincular interfaz de red
Warning
El vRack es una infraestructura gestionada a nivel de OVHcloud, por lo que solo podrá administrarla desde el área de cliente de OVHcloud y las APIv6 de OVHcloud.
[!primary] No se aplicará a los proyectos recién creados que se entreguen automáticamente con un vRack. Para ver el vRack una vez creado el proyecto, acceda al menú
Bare Metal Cloud
{.action} y haga clic enNetwork
{.action} en la pestaña de la izquierda. Haga clic enRed privada vRack
{.action} para ver el vRack(s).
Si tiene un proyecto más antiguo y no tiene un vRack, debe contratar uno. Este producto es gratuito y solo tarda unos minutos en estar disponible.
Vaya al menú Bare Metal Cloud
{.action} y haga clic en el botón Contratar
{.action}. En este menú, haga clic en la opción vRack
{.action}.
Será redirigido a otra página para validar el pedido. La operación tardará unos minutos.
Una vez activado el servicio, puede consultarlo en el área de cliente, en la sección Bare Metal Cloud
{.action} > Network
{.action} > Red privada vRack
{.action}. Bajo la denominación «pn-xxxxx».
En la lista de servicios compatibles, seleccione el proyecto que quiera añadir al vRack y haga clic en el botón Añadir
{.action}.
Para activar y gestionar un vRack desde la APIv6 de OVHcloud, haga clic aquí (EN), para consultar la guía específica sobre este método.
Es necesario crear una red privada con una red de área local virtual (VLAN) para que las instancias conectadas al vRack puedan comunicarse entre sí.
En la solución Public Cloud, puede crear hasta 4000 VLAN en un único vRack. Esto significa que puede utilizar cada dirección IP privada hasta 4000 veces. Así, por ejemplo, la IP 192.168.0.10 de la VLAN 2 es diferente de la IP 192.168.0.10 de la VLAN 42.
Esto puede ser útil para segmentar el vRack entre varias redes virtuales.
Para crear la misma red privada, es necesario crear 2 objetos OpenStack: network y subnet.
En el siguiente ejemplo, especificamos el VLAN_ID
en el que queremos que la red sea parte a través de --provider-network-type
y --provider-segment
.
Puede borrar estos parámetros. En ese caso, se utilizará un VLAN_ID
disponible.
openstack network create --provider-network-type vrack --provider-segment 42 OS_CLI_private_network
openstack subnet create --dhcp --network OS_CLI_private_network OS_CLI_subnet --subnet-range 10.0.0.0/16
Puede darse dos situaciones:
- La instancia aún no existe.
- La instancia ya existe y debe añadirla al vRack.
Obtención de la información necesaria
Identificación de las redes públicas y privadas:
openstack network list
+--------------------------------------+------------+-------------------------------------+
| ID | Name | Subnets |
+--------------------------------------+------------+-------------------------------------+
| 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx | MyVLAN-42 | xxxxxxxx-yyyy-xxxx-yyyy-xxxxxxxxxxxx|
| 34567890-12ab-cdef-xxxx-xxxxxxxxxxxx | Ext-Net | zzzzzzzz-yyyy-xxxx-yyyy-xxxxxxxxxxxx|
| 67890123-4abc-ef12-xxxx-xxxxxxxxxxxx | MyVLAN_0 | yyyyyyyy-xxxx-xxxx-yyyy-xxxxxxxxxxxx|
+--------------------------------------+------------+-------------------------------------+
o
nova net-list
+--------------------------------------+------------+------+
| ID | Label | CIDR |
+--------------------------------------+------------+------+
| 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx | MyVLAN-42 | None |
| 34567890-12ab-cdef-xxxx-xxxxxxxxxxxx | Ext-Net | None |
| 67890123-4abc-ef12-xxxx-xxxxxxxxxxxx | MyVLAN_0 | None |
+--------------------------------------+------------+------+
[!primary] Deberá indicar los ID de red correspondientes:
- Ext-Net para tener una IP pública
- El del o de las VLAN necesarias para su configuración
Recuerde también lo siguiente, tal y como se indica en la guía de uso de la API Nova (EN):
- ID o nombre de la llave SSH OpenStack
- ID del tipo de instancia (flavor)
- ID de la imagen deseada (sistema operativo, snapshot, etc.)
Despliegue de la instancia
Con los elementos recuperados anteriormente, es posible crear una instancia incluyéndola directamente en el vRack:
nova boot --key-name SSHKEY --flavor [ID-flavor] --image [ID-Image] --nic net-id=[ID-Network 1] --nic net-id=[ID-Network 2] [instance name]
Ejemplo:
nova boot --key-name my-ssh-key --flavor xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --image yyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy --nic net-id=[id_Ext-Net] --nic net-id=[id_VLAN] NameOfInstance
+--------------------------------------+------------------------------------------------------+
| Property | Value |
+--------------------------------------+------------------------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-AZ:availability_zone | |
| OS-EXT-STS:power_state | 0 |
| OS-EXT-STS:task_state | scheduling |
| OS-EXT-STS:vm_state | building |
| OS-SRV-USG:launched_at | - |
| OS-SRV-USG:terminated_at | - |
| accessIPv4 | |
| accessIPv6 | |
| adminPass | xxxxxxxxxxxx |
| config_drive | |
| created | YYYY-MM-DDTHH:MM:SSZ |
| flavor | [Flavor type] (xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) |
| hostId | |
| id | xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
| image | [Image type] (xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) |
| key_name | [Name of key] |
| metadata | {} |
| name | [Name of instance] |
| os-extended-volumes:volumes_attached | [] |
| progress | 0 |
| security_groups | default |
| status | BUILD |
| tenant_id | zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz |
| updated | YYYY-MM-DDTHH:MM:SSZ |
| user_id | zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz |
+--------------------------------------+------------------------------------------------------+
o
openstack server create --key-name SSHKEY --flavor [ID-flavor] --image [ID-Image] --nic net-id=[ID-Network 1] --nic net-id=[ID-Network 2] [instance name]
Ejemplo:
openstack server create --key-name my-ssh-key --flavor xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --image yyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy --nic net-id=[id_Ext-Net] --nic net-id=[id_VLAN] NameOfInstance
+--------------------------------------+------------------------------------------------------+
| Property | Value |
+--------------------------------------+------------------------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-AZ:availability_zone | |
| OS-EXT-STS:power_state | 0 |
| OS-EXT-STS:task_state | scheduling |
| OS-EXT-STS:vm_state | building |
| OS-SRV-USG:launched_at | - |
| OS-SRV-USG:terminated_at | - |
| accessIPv4 | |
| accessIPv6 | |
| adminPass | xxxxxxxxxxxx |
| config_drive | |
| created | YYYY-MM-DDTHH:MM:SSZ |
| flavor | [Flavor type] (xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) |
| hostId | |
| id | xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
| image | [Image type] (xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) |
| key_name | [Name of key] |
| metadata | {} |
| name | [Name of instance] |
| os-extended-volumes:volumes_attached | [] |
| progress | 0 |
| security_groups | default |
| status | BUILD |
| tenant_id | zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz |
| updated | YYYY-MM-DDTHH:MM:SSZ |
| user_id | zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz |
+--------------------------------------+------------------------------------------------------+
Puede definir la dirección IP de la instancia de su interfaz vRack a nivel de OpenStack.
Para ello, puede añadir un simple argumento a la función "—nic":
--nic net-id=[ID-Network],v4-fixed-ip=[IP_static_vRack]
Por ejemplo:
--nic net-id=[ID-vRack],v4-fixed-ip=192.168.0.42
Verificación de la instancia
A continuación, compruebe que la lista de instancias existentes es correcta para encontrar el servidor creado:
openstack server list
+--------------------------------------+---------------------+--------+--------------------------------------------------+--------------------+
| ID | Name | Status | Networks | Image Name |
+--------------------------------------+---------------------+--------+--------------------------------------------------+--------------------+
| xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx | [Name of instance] | ACTIVE | Ext-Net=[IP_V4], [IP_V6]; MyVrack=[IP_V4_vRack] | [Name-of-instance] |
+--------------------------------------+---------------------+--------+--------------------------------------------------+--------------------+
nova list
+--------------------------------------+--------------------+--------+------------+-------------+--------------------------------------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+--------------------+--------+------------+-------------+--------------------------------------------------+
| xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx | [Name of instance] | ACTIVE | - | Running | Ext-Net=[IP_V4], [IP_V6]; MyVrack=[IP_V4_vRack] |
+--------------------------------------+--------------------+--------+------------+-------------+--------------------------------------------------+
Recuperando la información necesaria
Identificación de las instancias:
openstack server list
+--------------------------------------+--------------+--------+------------------------------------------------------------------------+------------+
| ID | Name | Status | Networks | Image Name |
+--------------------------------------+--------------+--------+------------------------------------------------------------------------+------------+
| 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx | My-Instance | ACTIVE | Ext-Net=xx.xx.xx.xx, 2001:41d0:yyyy:yyyy::yyyy; MyVrack=192.168.0.124 | Debian 9 |
+--------------------------------------+--------------+--------+------------------------------------------------------------------------+------------+
o
nova list
+--------------------------------------+--------------+--------+------------+-------------+----------------------------------------------------------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+--------------+--------+------------+-------------+----------------------------------------------------------------------+
| 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx | My-Instance | ACTIVE | - | Running | Ext-Net=xx.xx.xx.xx,2001:41d0:yyyy:yyyy::yyyy;MyVrack=192.168.0.124 |
+--------------------------------------+--------------+--------+------------+-------------+----------------------------------------------------------------------+
Identificación de las redes públicas y privadas:
openstack network list
+--------------------------------------+------------+-------------------------------------+
| ID | Name | Subnets |
+--------------------------------------+------------+-------------------------------------+
| 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx | MyVLAN-42 | xxxxxxxx-yyyy-xxxx-yyyy-xxxxxxxxxxxx|
| 34567890-12ab-cdef-xxxx-xxxxxxxxxxxx | Ext-Net | zzzzzzzz-yyyy-xxxx-yyyy-xxxxxxxxxxxx|
| 67890123-4abc-ef12-xxxx-xxxxxxxxxxxx | MyVLAN-0 | yyyyyyyy-xxxx-xxxx-yyyy-xxxxxxxxxxxx|
+--------------------------------------+------------+-------------------------------------+
o
nova net-list
+--------------------------------------+------------+------+
| ID | Label | CIDR |
+--------------------------------------+------------+------+
| 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx | MyVLAN-42 | None |
| 34567890-12ab-cdef-xxxx-xxxxxxxxxxxx | Ext-Net | None |
| 67890123-4abc-ef12-xxxx-xxxxxxxxxxxx | MyVLAN-0 | None |
+--------------------------------------+------------+------+
[!primary] Deberá indicar los ID de red correspondientes:
- Ext-Net para tener una IP pública
- El del o de las VLAN necesarias para su configuración
Añadir una interfaz privada
Para asociar una nueva interfaz, puede realizar el siguiente comando:
nova interface-attach --net-id <ID-VLAN> <ID-instance>
por ejemplo,
nova interface-attach --net-id 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx
Compruebe que la acción se ha realizado correctamente:
nova show <ID-instancia>
+--------------------------------------+----------------------------------------------------------+
| Property | Value |
+--------------------------------------+----------------------------------------------------------+
| Ext-Net network | xx.xx.xx.xx, 2001:41d0:xxx:xxxx::xxxx | => su IP pública
| MyVLAN-42 network | 192.168.0.x | => su IP privada
[...]
o
openstack server show <ID-instance>
+--------------------------------------+-------------------------------------------------------------------------+
| Field | Value |
+--------------------------------------+-------------------------------------------------------------------------+
[...]
| addresses | Ext-Net=xx.xx.xx.xx, 2001:41d0:xxx:xxxx::xxxx ; MyVLAN-42=192.168.0.x | => su IP pública ; su IP privada
[...]
Warning
Desvincular una interfaz de red hace que se elimine inmediatamente.
Sin embargo, es importante tener en cuenta que si desvincula la interfaz «Ext-Net» (IP pública), esta dirección se liberará y volverá a poner en circulación. Así que no podrías reasignarla.
Esta acción solo debe realizarse si desea aislar su servidor en el vRack (red privada) o en caso contrario, sacarlo de una o varias VLAN.
Para desvincular una interfaz, es necesario identificar en primer lugar el puerto Neutron que se habrá creado.
Para ello, utilice los siguientes comandos:
neutron port-list
+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------------------+
| id | name | mac_address | fixed_ips |
+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------------------+
| 12345678-abcd-ef01-2345-678910abcdef | | fa:xx:xx:xx:xx:xx | {"subnet_id": "01234567-8901-abscdef12345678910abcd", "ip_address": "192.168.0.x"} |
| 09876543-210a-bcde-f098-76543210abcd | | fa:yy:yy:yy:yy:yy | {"subnet_id": "65432109-abcd-ef09-8765-43210abcdef1", "ip_address": "2001:41d0:xxx:xxxx::xxxx"} |
| | | | {"subnet_id": "abcdef12-3456-7890-abcd-ef1234567890", "ip_address": "YY.YY.YY.YY"} |
+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------------------+
o
openstack port list
+--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------+
| ID | Name | MAC Address | Fixed IP Addresses |
+--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------+
| 12345678-abcd-ef01-2345-678910abcdef | | fa:xx:xx:xx:xx:xx | ip_address='192.168.0.xx', subnet_id='301234567-8901-abscdef12345678910abcd' |
| 09876543-210a-bcde-f098-76543210abcd | | fa:yy:yy:yy:yy:yy | ip_address='2001:41d0:xxx:xxxx::xxxx', subnet_id='65432109-abcd-ef09-8765-43210abcdef1' |
| | | | ip_address='YY.YY.YY.YY', subnet_id='abcdef12-3456-7890-abcd-ef1234567890' |
+--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------+
Una vez identificado el puerto a eliminar, puede ejecutar el siguiente comando:
nova interface-detach <ID_instance> <port_id>
por ejemplo,
nova interface-detach 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx 12345678-abcd-ef01-2345-678910abcdef
Configuración del vRack Public Cloud desde las APIv6 de OVHcloud (EN).
Servidores dedicados - Crear varias VLAN en el vRack.
Si necesita formación o asistencia técnica para implantar nuestras soluciones, póngase en contacto con su representante de ventas o haga clic en este enlace para obtener un presupuesto y solicitar un análisis personalizado de su proyecto a nuestros expertos del equipo de Servicios Profesionales.
Interactúe con nuestra comunidad de usuarios.