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