Condividere immagini tra progetti Public Cloud

Database di conoscenze

Condividere immagini tra progetti Public Cloud


Icons/System/eye-open Created with Sketch. 208 viste 01.04.2025 Configurazione
Informazioni sulla traduzione

Questa traduzione è stata generata automaticamente dal nostro partner SYSTRAN. I contenuti potrebbero presentare imprecisioni, ad esempio la nomenclatura dei pulsanti o alcuni dettagli tecnici. In caso di dubbi consigliamo di fare riferimento alla versione inglese o francese della guida. Per aiutarci a migliorare questa traduzione, utilizza il pulsante "Contribuisci" di questa pagina.

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.

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:

Questa guida ti mostra come utilizzare il OpenStack Cient.

Procedura

Condividere un'immagine

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

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

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.

Articoli correlati