Ricerca nel sito web

Assegna un indirizzo IP mobile a un'istanza in OpenStack


Vuoi assegnare a un'istanza OpenStack un indirizzo IP mobile dalla tua rete pubblica?. Quando un'istanza virtuale viene creata in OpenStack, le viene automaticamente assegnato un IP fisso nella rete a cui è assegnata. Questo indirizzo IP è permanentemente associato all'istanza finché l'istanza non viene terminata.

OpenStack ti offre anche la possibilità di utilizzare un indirizzo IP mobile creato dalla sottorete della rete esterna. Un “IP mobile” è un indirizzo IP che può essere aggiunto dinamicamente a un'istanza virtuale in esecuzione. L'associazione dell'IP mobile può essere modificata in qualsiasi momento indipendentemente dallo stato dell'istanza in questione.

Ecco il processo che utilizzerai per creare un indirizzo IP mobile in OpenStack e assegnarlo a un'istanza.

Passaggio 1: crea un'istanza su una rete privata

Per prima cosa crea un'istanza virtuale dalla dashboard di OpenStack Horizon o dalla CLI in una rete privata.

Ho due reti: pubblica e privata. L'istanza verrà creata nella sottorete privata.

$ openstack network list
+--------------------------------------+---------+--------------------------------------+
| ID                                   | Name    | Subnets                              |
+--------------------------------------+---------+--------------------------------------+
| b94431cb-08cf-42ea-be61-55f5cf459276 | private | 57601b99-ea64-41a8-a927-fbd591ae3f2b |
| f7ccac3b-73eb-49bf-a4ec-af750216b819 | public  | 7536e4a8-6aa8-45dc-aed6-1a98afcf416d |
+--------------------------------------+---------+--------------------------------------+

$ openstack subnet list
+--------------------------------------+----------------+--------------------------------------+----------------+
| ID                                   | Name           | Network                              | Subnet         |
+--------------------------------------+----------------+--------------------------------------+----------------+
| 57601b99-ea64-41a8-a927-fbd591ae3f2b | private_subnet | b94431cb-08cf-42ea-be61-55f5cf459276 | 10.10.1.0/24   |
| 7536e4a8-6aa8-45dc-aed6-1a98afcf416d | public_subnet  | f7ccac3b-73eb-49bf-a4ec-af750216b819 | 96.220.99.8/29 |
+--------------------------------------+----------------+--------------------------------------+----------------+

Creerò un'istanza chiamata testfloating dal modello Ubuntu 22.04.

openstack server create \
 --image Ubuntu-22 \
 --key-name jmutai \
 --flavor m1.small \
 --security-group  7fffea2a-b756-473a-a13a-219dd0f1913a  \
 --network private  \
 testfloating

La creazione della VM può essere eseguita dalla dashboard di OpenStack.

Dopo la creazione, conferma che il server è in esecuzione.

$ openstack server show testfloating
+-------------------------------------+----------------------------------------------------------+
| Field                               | Value                                                    |
+-------------------------------------+----------------------------------------------------------+
| OS-DCF:diskConfig                   | MANUAL                                                   |
| OS-EXT-AZ:availability_zone         | nova                                                     |
| OS-EXT-SRV-ATTR:host                | server1.computingforgeeks.com                            |
| OS-EXT-SRV-ATTR:hypervisor_hostname | server1.computingforgeeks.com                            |
| OS-EXT-SRV-ATTR:instance_name       | instance-0000002e                                        |
| OS-EXT-STS:power_state              | Running                                                  |
| OS-EXT-STS:task_state               | None                                                     |
| OS-EXT-STS:vm_state                 | active                                                   |
| OS-SRV-USG:launched_at              | 2019-09-22T07:13:40.000000                               |
| OS-SRV-USG:terminated_at            | None                                                     |
| accessIPv4                          |                                                          |
| accessIPv6                          |                                                          |
| addresses                           | private=10.10.1.185                                      |
| config_drive                        |                                                          |
| created                             | 2019-09-22T07:13:35Z                                     |
| flavor                              | m1.small (1)                                             |
| hostId                              | da0a05ef20a03e97f301563551bab9b669ef04adbce232d941519946 |
| id                                  | a731e48d-d3b5-4fcf-8fc7-f8f280b51b44                     |
| image                               | Ubuntu-18 (7bd462ad-cc11-4d89-8b85-9aab0cfe114b)         |
| key_name                            | jmutai                                                   |
| name                                | testfloating                                             |
| progress                            | 0                                                        |
| project_id                          | 06bcc3c56ab1489282b65681e782d7f6                         |
| properties                          |                                                          |
| security_groups                     | name='default'                                           |
| status                              | ACTIVE                                                   |
| updated                             | 2019-09-22T07:13:40Z                                     |
| user_id                             | 336acbb7421f47f8be4891eabf0c9cc8                         |
| volumes_attached                    |                                                          |
+-------------------------------------+----------------------------------------------------------+

Passaggio 2: riserva un indirizzo IP mobile dal pool di reti esterne.

È necessario prenotare un indirizzo IP mobile dal pool di sottoreti di rete esterna. Questa operazione può essere eseguita dal dashboard Web o dalla CLI.

Dalla CLI:

openstack floating ip create --project admin --subnet public_subnet public

Dove :

  • admin è il progetto del proprietario. L'IP mobile creato sarà disponibile per l'associazione in questo progetto.
  • public_subnet è il nome della sottorete su cui desideri creare l'IP mobile.
  • pubblico è il nome della rete da cui assegnare l'IP mobile.

Visualizza tutte le opzioni digitando:

$ openstack floating ip create --help

Dalla dashboard:

Accedi al dashboard come utente con il ruolo Membro. La navigazione verso:

Progetto > Rete > IP mobili

Fare clic sul pulsante “ASSEGNARE IP AL PROGETTO” . Nella nuova finestra, seleziona un pool, fornisci una descrizione e fai clic su "ALLOCATE IP".

Passaggio 3: associa l'indirizzo IP mobile riservato all'istanza.

Una volta riservato l'indirizzo IP mobile, possiamo associarlo a un'istanza.

Dalla CLI:

$ openstack floating ip list
$ openstack server list
$ openstack server add floating ip <server> <ip-address>

# Example:
$ openstack server add floating ip testfloating 96.220.99.11

Dalla dashboard:

Opzione 1: Progetto > Rete > IP mobili > Seleziona IP > Associa

Scegli un IP mobile, un'istanza e una porta da associare.

Opzione 2: Progetto > Calcolo > Istanze

In azioni, seleziona "ASSOCIA IP FLOATING "

Seleziona un indirizzo IP e fai clic su "ASSOCIA ".

Disassociare un indirizzo IP mobile

Per dissociare l'indirizzo IP, utilizzare uno dei seguenti metodi:

CLI:

$ openstack server remove floating ip <server> <ip-address>

Dashboard:

  • Progetto > Rete > IP mobili > DISASSOCIA
  • Progetto > Calcolo > Istanze > Azioni > DISASSOCIA IP MOBILE

Questo è tutto su come associare un indirizzo IP mobile a un'istanza in esecuzione su OpenStack.

Altre guide OpenStack:

Come creare un'istanza OpenStack con un indirizzo IP fisso/statico

Come creare progetti, utenti e ruoli OpenStack

Come migrare un'istanza OpenStack da un host di calcolo a un altro

Come ridimensionare l'istanza OpenStack/la macchina virtuale

Come configurare le istanze/VM OpenStack per l'avvio automatico dopo il riavvio del calcolo Nova

Come creare volumi Cinder OpenStack e collegarli a un'istanza VM

Articoli correlati: