Offline Upgrade of Middleware - Kafka Module¶
This page explains how to install or upgrade the middleware - kafka module after downloading it from the Download Center.
Info
The term mcamel used in the following commands or scripts is an internal development codename for the middleware module.
Loading Images from the Installation Package¶
You can load the images using one of the following methods. It is recommended to use chart-syncer to sync the images to your container registry when it is available, as it is more efficient and convenient.
Syncing Images to Container Registry using chart-syncer¶
-
Create load-image.yaml file.
Note
All parameters in this YAML file are required. You need to have a private container registry and modify the relevant configuration.
If you already have a chart repo installed in your environment, 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 this to your container registry URL containerRepository: release.daocloud.io/mcamel # Change this 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 this to the 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 you don't have a chart repo installed in your environment, 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 this to your container registry URL containerRepository: release.daocloud.io/mcamel # Change this 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 command to sync the images.
Directly Loading with Docker or containerd¶
Unpack and load the image files.
-
Extract the tar archive.
tar -xvf mcamel-kafka_0.8.1_amd64.tar cd mcamel-kafka_0.8.1_amd64 tar -xvf mcamel-kafka_0.8.1.bundle.tar
After successful extraction, you will get 3 files:
- hints.yaml
- images.tar
- original-chart
-
Load the images to Docker or containerd from local.
Note
Docker or containerd image loading operation needs to be performed on each node. After loading, tag the images to match the registry and repository used during installation.
Upgrade¶
There are two ways to perform the upgrade. You can choose the corresponding upgrade method based on the preconditions:
-
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.
-
Select the version you want to install (recommended to install the latest version).
-
Back up the
--set
parameters.Before upgrading to a new 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 update the
global.imageRegistry
field in the mcamel-kafka.yaml file with the current container registry address.
-
Back up the
--set
parameters.Before upgrading to a new 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 update the bak.yaml file by replacing
global.imageRegistry
with your current container registry address.