Offline Upgrade of Middleware - RocketMQ Module¶
This page explains how to install or upgrade the Middleware - RocketMQ module after downloading it from the Download Center.
Info
The term mcamel mentioned in the following commands or scripts is the internal development code name for the middleware module.
Loading Images from Installation Package¶
You can load the images in one of the following two ways. When a mirror repository exists in the environment, it is recommended to choose the method of using chart-syncer to synchronize the images to the mirror repository as it is more efficient and convenient.
Synchronize Images to Mirror Repository using chart-syncer¶
-
Create load-image.yaml .
Note
The parameters in this YAML file are all required. You need to have a private container registry and modify the relevant configurations.
If the current environment has a chart repo installed, chart-syncer also supports exporting the chart as a tgz file.
load-image.yamlsource: intermediateBundlesPath: mcamel-offline # The relative path to execute the __charts-syncer__ command, not the relative path between this YAML file and the offline package. target: containerRegistry: 10.16.10.111 # Change it to your container registry URL containerRepository: release.daocloud.io/mcamel # Change it to your container registry repo: kind: HARBOR # It can also be any other supported Helm Chart repository type url: http://10.16.10.111/chartrepo/release.daocloud.io # Change it to your chart repo URL auth: username: "admin" # Your container registry username password: "Harbor12345" # Your container registry password containers: auth: username: "admin" # Your container registry username password: "Harbor12345" # Your container registry password
If the current environment does not have a chart repo installed, chart-syncer also supports exporting the chart as a tgz file and storing it in the specified path.
load-image.yamlsource: intermediateBundlesPath: mcamel-offline # The relative path to execute the __charts-syncer__ command, not the relative path between this YAML file and the offline package. target: containerRegistry: 10.16.10.111 # Change it to your container registry URL containerRepository: release.daocloud.io/mcamel # Change it to your container registry repo: kind: LOCAL path: ./local-repo # Local path to the chart containers: auth: username: "admin" # Your container registry username password: "Harbor12345" # Your container registry password
-
Run the image synchronization command.
Load Directly from Docker or containerd¶
Unpack and load the image files.
-
Extract the tar archive.
tar -xvf mcamel-rocketmq_0.1.0_amd64.tar cd mcamel-rocketmq_0.1.0_amd64 tar -xvf mcamel-rocketmq_0.1.0.bundle.tar
After successful extraction, you will have three files:
- hints.yaml
- images.tar
- original-chart
-
Load the images from the local directory to Docker or containerd.
Note
Docker or containerd image loading operation needs to be performed on each node. After loading is complete, you need to tag the image to keep the registry and repository consistent with the installation.
Upgrade¶
There are two ways to upgrade. You can choose the corresponding upgrade method based on the pre-requisite operations:
-
Check if the helm repository exists.
If the result is empty or shows the following prompt, proceed to the next step. Otherwise, skip the next step.
-
Add the helm repository.
-
Update the helm repository.
-
Choose the version you want to install (it is recommended to install the latest version).
-
Back up the
--set
parameters.Before upgrading the version, it is recommended to execute the following command to back up the
--set
parameters of the old version. -
Run
helm upgrade
.Before upgrading, it is recommended to replace the
global.imageRegistry
field in mcamel-rocketmq.yaml with the address of the container registry you are currently using.
-
Back up the
--set
parameters.Before upgrading the version, it is recommended to execute the following command to back up the
--set
parameters of the old version. -
Run
helm upgrade
.Before upgrading, it is recommended to replace the
global.imageRegistry
field in mcamel-rocketmq.yaml with the address of the container registry you are currently using.