Skip to content

Latest commit

 

History

History
165 lines (124 loc) · 11 KB

File metadata and controls

165 lines (124 loc) · 11 KB
title excerpt updated
Condividere immagini tra progetti Public Cloud
Scopri come condividere immagini tra progetti Public Cloud con OpenStack
2025-04-01

Obiettivo

In alcuni casi potrebbe essere necessario condividere un’immagine Instance Backup o un’immagine Volume Backup tra più progetti Public Cloud.

OpenStack ti permette di condividere un'immagine tra più progetti, anche se non appartengono allo stesso account.

Questa funzionalità offre numerose possibilità ma comporta anche dei rischi. È quindi importante comprenderne i principi.

Ad esempio, se si desidera condividere un'immagine di un progetto A con un progetto B (nello stesso account o in un account diverso), vengono applicate le regole seguenti:

  • Le immagini possono essere condivise solo all'interno della stessa area. Ad esempio, un'immagine creata nel progetto A nell'area GRA11 sarà disponibile solo per il progetto B all'interno della stessa area GRA11.
  • L'immagine rimane fisicamente attaccata al progetto A. Il progetto B dispone solo di un'autorizzazione di accesso a questa immagine.
  • Se il Progetto A elimina l'accesso all'immagine (eliminazione dell'ACL, eliminazione dell'immagine, eliminazione del progetto per fatture non pagate, ecc.), le istanze che vengono eseguite da questa immagine sul Progetto B potrebbero non funzionare a causa di problemi di migrazione o di ricostruzione.

È quindi importante tenerlo a mente prima di intraprendere questa configurazione.

Per maggiori informazioni, consulta la documentazione ufficiale OpenStack{.external}.

Questa guida ti mostra come condividere immagini tra uno o più progetti, preservandone la configurazione e lo stato.

Prerequisiti

Prima di seguire questi passaggi, ti consigliamo di consultare questa guida:

Avrai anche bisogno di:

[!primary]

Questa guida ti mostra come utilizzare il OpenStack Cient{.external}.

Procedura

Condividere un'immagine

Per elencare le immagini esistenti, eseguire innanzitutto il comando seguente:

$ openstack image list --private
| 9a0fbdc5-1f4a-4a1c-ad46-8d404a1313ba | pfsense |

Warning

Per condividere un'immagine, è necessario innanzitutto renderla visibile in condivisione (shared visibility).

$ openstack image set --shared <Image_UUID>

È possibile eseguire il comando seguente per elencare le immagini che possono essere condivise con un altro progetto:

$ openstack image list --shared
9a0fbdc5-****-****-****-8d404a1313ba 	pfsense

Aggiungere un progetto a un'immagine

Lo step successivo consiste nell’aggiungere l’UUID di un altro progetto come membro dell’immagine. Nel nostro esempio qui sotto, aggiungiamo l’UUID del « Progetto B ».

$ openstack image add project 9a0fbdc5-1f4a-4a1c-ad46-8d404a1313ba <UUID_Project_B>
+------------+--------------------------------------+
| Field      | Value                                |
+------------+--------------------------------------+
| created_at | 2020-01-27T13:26:52Z                 |
| image_id   | 9a0fbdc5-1f4a-4a1c-ad46-8d404a1313ba |
| member_id  | <UUID_Project_B>                      |
| schema     | /v2/schemas/member                   |
| status     | pending                              |
| updated_at | 2020-01-30T15:18:00Z                 |
+------------+--------------------------------------+

Una volta effettuata questa operazione, verifica la richiesta per il progetto B:

$ openstack image member list <Image_UUID>
+--------------------------------------+----------------------------------+----------+
| Image ID | Member ID | Status |
+--------------------------------------+----------------------------------+----------+
| 9a0fbdc5-1f4a-4a1c-ad46-8d404a1313ba | <UUID_Project_B> | pending |
+--------------------------------------+----------------------------------+----------+

Se la richiesta di condivisione è in stato pending, è necessario accettarla:

$ openstack image set --accept 9a0fbdc5-1f4a-4a1c-ad46-8d404a1313ba
+--------------------------------------+----------------------------------+----------+
| Image ID                             | Member ID                        | Status   |
+--------------------------------------+----------------------------------+----------+
| 9a0fbdc5-1f4a-4a1c-ad46-8d404a1313ba | eff99684d8294dbe8c2d4dd7407073f1 | accepted |
+--------------------------------------+----------------------------------+----------+

Una volta accettata la richiesta di condivisione, assicurati di poter visualizzare e accedere all'immagine:

$ openstack image show 9a0fbdc5-1f4a-4a1c-ad46-8d404a1313ba
+------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field            | Value                                                                                                                                                                                  |
+------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| checksum         | 1b19c9e5bdd36b9010de0164dd8b245e                                                                                                                                                       |
| container_format | bare                                                                                                                                                                                   |
| created_at       | 2018-05-08T15:38:50Z                                                                                                                                                                   |
| disk_format      | raw                                                                                                                                                                                    |
| file             | /v2/images/9a0fbdc5-1f4a-4a1c-ad46-8d404a1313ba/file                                                                                                                                   |
| id               | 9a0fbdc5-1f4a-4a1c-ad46-8d404a1313ba                                                                                                                                                   |
| min_disk         | 0                                                                                                                                                                                      |
| min_ram          | 0                                                                                                                                                                                      |
| name             | pfsense                                                                                                                                                                                |
| owner            | 35c9ee22e5c84c1097a5652b0abcbab3                                                                                                                                                       |
| properties       | direct_url='swift+config://ref1/glance/9a0fbdc5-1f4a-4a1c-ad46-8d404a1313ba', locations='[{'url': 'swift+config://ref1/glance/9a0fbdc5-1f4a-4a1c-ad46-8d404a1313ba', 'metadata': {}}]' |
| protected        | False                                                                                                                                                                                  |
| schema           | /v2/schemas/image                                                                                                                                                                      |
| size             | 10737418240                                                                                                                                                                            |
| status           | active                                                                                                                                                                                 |
| tags             |                                                                                                                                                                                        |
| updated_at       | 2018-05-08T15:53:57Z                                                                                                                                                                   |
| virtual_size     | None                                                                                                                                                                                   |
| visibility       | private                                                                                                                                                                                |
+------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

Controllare i membri dell'immagine

Per visualizzare tutti i progetti che hanno accesso all'immagine, dal progetto di origine (in questo caso il progetto A), è possibile eseguire questo comando:

$ openstack image member list 9a0fbdc5-1f4a-4a1c-ad46-8d404a1313ba
+--------------------------------------+----------------------------------+----------+
| Image ID                             | Member ID                        | Status   |
+--------------------------------------+----------------------------------+----------+
| 9a0fbdc5-1f4a-4a1c-ad46-8d404a1313ba | <project C>                      | pending  |
| 9a0fbdc5-1f4a-4a1c-ad46-8d404a1313ba | <project B>                      | accepted |
+--------------------------------------+----------------------------------+----------+

Rimuovere un membro da un'immagine o annullare la condivisione di un'immagine

Nel progetto di origine (progetto A) è possibile eliminare un membro della condivisione:

$ openstack image remove project <image> <UUID_Project_To_Delete>

Per saperne di più

Trasferire il backup di un’istanza tra datacenter.

Contatta la nostra Community di utenti.