Aggiornamento ad una nuova versione principale

Quando una versione principale di un database è alla fine del suo ciclo di vita (EOL), è una buona idea eseguire l'aggiornamento a una versione principale corrente.

Trova le versioni disponibili di RabbitMQ nella pagina IBM Cloud® Messages for RabbitMQ del catalogo, dal comando del plug-in CLI Cloud Databases ibmcloud cdb deployables-show o tramite l'API Cloud Databases API /deployables endpoint.

Aggiorna la tua nuova distribuzione ripristinando un backup dei tuoi dati nella nuova versione. Il ripristino da un backup ha una serie di vantaggi:

  • La distribuzione originale continua l'esecuzione e il lavoro di produzione può essere ininterrotto.
  • Puoi verificare il nuovo database all'esterno della produzione e agire su ogni incompatibilità dell'applicazione.
  • L'intero processo può essere rieseguito in qualsiasi momento.
  • Un nuovo ripristino riduce la probabilità che le risorse non necessarie della versione precedente vengano portate alla nuova distribuzione.

In alternativa, è anche possibile utilizzare RabbitMQ Shovel per migrare ad un'altra versione.

Aggiornamento nell'interfaccia utente

Eseguire l'aggiornamento a una nuova versione quando si ripristina un backup dalla scheda Backup della Panoramica della distribuzione. Fare clic su Ripristina su un backup per visualizzare una finestra di dialogo in cui è possibile scegliere le opzioni per la nuova distribuzione. Una delle opzioni configurabili è la versione del database, che viene popolata automaticamente con le versioni disponibili per l'aggiornamento. Selezionare una versione e fare clic su Ripristina per avviare il processo di provisioning e ripristino.

Aggiornamento tramite la CLI

Per eseguire l'upgrade e ripristinare dal backup tramite la CLI, utilizza il comando ibmcloud resource service - instance - create:

ibmcloud resource service-instance-create <service-name> <service-id> <service-plan-id> <region>

I parametri service-name, service-id, service-plan-id e region sono tutti obbligatori. Fornisci anche a -p i parametri di versione e ID backup in un oggetto JSON. Se hai bisogno di utilizzare una chiave di protezione della chiave, ridimensionare la distribuzione o assegnare core dedicati, puoi farlo con i parametri facoltativi key_protect_key, members_disk_allocation_mb, members_memory_allocation_mb o members_cpu_allocation_count, insieme ai relativi valori al corpo della richiesta:

ibmcloud resource service-instance-create example-upgrade messages-for-rabbitmq standard us-south \
-p '{"backup_id": "crn:v1:bluemix:public:messages-for-rabbitmq:us-south:a/54e8ffe85dcedf470db5b5ee6ac4a8d8:1b8f53db-fc2d-4e24-8470-f82b15c71717:backup:06392e97-df90-46d8-98e8-cb67e9e0a8e6", "version":3.8}'

Aggiornamento tramite l'API

Completare la procedura necessaria per utilizzare l'API del controller delle risorse prima di utilizzarla per eseguire l'aggiornamento da un backup.

Successivamente, invia all'API una richiesta POST. I parametri name, target, resource_group e resource_plan_id sono tutti obbligatori. Vengono forniti anche version e backup_id. Per utilizzare una chiave di protezione chiave, ridimensionare la distribuzione o allocare core dedicati, configurare i seguenti parametri facoltativi e i relativi valori: key_protect_key, members_disk_allocation_mb, members_memory_allocation_mb o members_cpu_allocation_count.

curl -X POST \
  https://resource-controller.bluemix.net/v2/resource_instances \
  -H 'Authorization: Bearer <>' \
  -H 'Content-Type: application/json' \
    -d '{
    "name": "my-instance",
    "target": "bluemix-us-south",
    "resource_group": "5g9f447903254bb58972a2f3f5a4c711",
    "resource_plan_id": "messages-for-rabbitmq-standard",
    "backup_id": "crn:v1:bluemix:public:messages-for-rabbitmq:us-south:a/54e8ffe85dcedf470db5b5ee6ac4a8d8:1b8f53db-fc2d-4e24-8470-f82b15c71717:backup:06392e97-df90-46d8-98e8-cb67e9e0a8e6",
    "version":3.9
  }'

Aggiornamento mediante RabbitMQ Shovel

È possibile utilizzare una pala per trasferire i messaggi da un cluster corrente a uno nuovo durante un aggiornamento della versione di RabbitMQ. Per ulteriori informazioni, vedi RabbitMQ Shovel.

Risoluzione dei problemi

Se riscontri errori durante l'importazione di definizioni durante un aggiornamento Messages for RabbitMQ, vedi Perché non posso importare le definizioni da Messages for RabbitMQ versione 3.9 alla versione 3.11?.