Tutorial
Upgrade Package
The content below is going to introduce how to upgrade SuperMap iManager for Kubernetes and GIS Cloud Suite.
The current version to upgrade: 10.1.x, 10.2.0, 10.2.0a
The latest version available for upgrade: 10.2.1
If the current version to upgrade is 10.1.0 and the version is upgraded from version 10.0.1, please refer to Auxiliary Upgrade first, and continue to follow the content below to upgrade.
Environment Preparation
-
Images registry. If you use Alibaba Cloud registry for iManager for k8s and GIS Cloud Suite, skip this step. Download the image package corresponding to the upgraded version, such as upgrading from 10.1.0 to 10.2.1, you need to prepare the 10.2.1 image package. Take 10.2.1 for example:
Path: iManager部署包/iManager 10.2.1/iManager for Kubernetes部署包/supermap-imanager-for-kubernetes-registry-all-10.2.1-linux-x64.tar.gz
After downloading the image package, copy it to any directory on any machine with Docker service installed and unzip. Enter the unzipped directory, and refer to the
readme.txt
in the directory to synchronize the image package to the original image registry.
Upgrade iManager
- Please read the Notices.
- Download and unzip the official deployment package of the version to be upgraded.
-
Enter the unzipped deployment package, Modify the values.yaml file in the deployment package. The contents of must be the same as the values.yaml field in the original deployment package(The
deploy_*_tag
fields should be same as the content of the new deployment package). For fields exist in the new deployment package but not in the original deployment package, please refer to the deployment guide in the new deployment package to configure.If the service mesh was not enabled in the previous version and you want to enable it in the upgraded version, please execute the following command in the new package unzipped directory.
kubectl label ns <imanager namespace> istio-injection=enabled \ --overwrite chmod +x ./istio.sh && ./istio.sh open
Parameter specification:
<imanager namespace>
is the namespace of iManager for k8s, the default is supermap. -
Enter the
current directory
to create a yamls directory, and put the values.yaml in the official deployment package into the yamls directory, and then execute the following command to start. During the upgrade process, the logs directory will be created in thecurrent directory
, which contains the upgrade log.# Required. The name of the product/solution to be upgraded, imanager is used by default, imanager and giscloudsuite are optional, which represent iManager for k8s and GIS Cloud Suite respectively. export PRODUCT=imanager # Required. k8s master url, obtained by executing kubectl cluster-info, for example: https://172.16.112.150:6443. export KUBERNETES_MASTER_URL=<kubernetes master url> # Required. The current version to upgrade, for example: 10.1.3, 10.2.0. export CURRENT_VERSION=<current version> # Optional. Product architecture to be updated, amd64 is used by default, amd64, arm64 are optional; # Add optional environment variables via the `export ARCH` before executing the script, also the same when upgrading the GIS Cloud Suite. export ARCH=amd64 chmod +x upgrade.sh && ./upgrade.sh
After the upgrade is complete, please visit the homepage of iManager for k8s and check whether the
Storage Management
contains new and unmounted services. The unmounted services can be bound by the “Bind” operation on the page.
Notices
- It requires the user to have the ability to operate the Kubernetes cluster through kubectl and to have access to Docker for upgrading script.
- The
current directory
during the upgrade process refers to the directory containing all the files extracted with the Readme.pdf. - During the upgrade(iManager for k8s or GIS Cloud Suite), related services will be restarted, and the product cannot be accessed and used at this time.
- After upgrading from version 10.1.0 to latest version using upgrade package, In version 10.1.0, the Silence operation record of the alarm rule will be lost. If necessary, it needs to
Silence
again after the upgrade. Versions after 10.1.1(inclusive) are not affected. - After upgrading from version 10.1.0 to latest version using upgrade package, generated reports by Statistical Report will lose the users’ operation data before the upgrade. If necessary, Please download and save reports before upgrading. Versions after 10.1.1(inclusive) are not affected.
Upgrade GIS Cloud Suite
Parameter Specification:
<giscloudsuite namespace>
is the namespace of GIS Cloud Suite.
If you use the GIS Cloud Suite package to deploy, first execute the following command to find the environment variable
KIBANA_BASEPATH
and remove the last quotation mark ” in the corresponding value. For example, the original value is /kibana” and change it to /kibana.kubectl -n <giscloudsuite namespace> \ edit deploy ispeco-dashboard-api
To ensure a smooth upgrade process, please scale the StatefulSet keycloak to 1 before the upgrade. If the keycloak is not StatefulSet kind, no processing is required. You can check whether keycloak is StatefulSet kind by executing the following command.
kubectl -n <giscloudsuite namespace> get statefulset keycloak
If the above command returns a result, you can scale it to 1 by executing the following command.
kubectl -n <giscloudsuite namespace> scale --replicas=1 statefulset/keycloak
When the number of keycloak pods is 1 remaining, execute the following command to upgrade(For specific rules, please refer to Upgrade iManager Step 4).
export PRODUCT=giscloudsuite
export KUBERNETES_MASTER_URL=<kubernetes master url>
export NAMESPACE=<giscloudsuite namespace>
export CURRENT_VERSION=<current version>
chmod +x upgrade.sh && ./upgrade.sh
Appendix
1.Update Service
Updates for the following services are optional, please update as needed.
Update Service Node
You can visit the GIS Cloud Suite details page, click “Modify Image” to modify the image of the corresponding service to the 10.2.1 image, such as updating the service node “gisapp-portal-default-0”
Modify the image name to the format <registry>/<namespace>/<image>:<tag>
.
<registry>
is the address of the upgrade package registry.
<namespace>
is the namespace of the upgrade package.
<image>
is the image corresponding to the service node. See the following table for the image name corresponding to each service node.
<tag>
is the version label of the image, in the format “Version-Architecture”, for example: 10.2.1-amd64
, 10.2.1-arm64
.
See the table below for the prefix and image corresponding to the service node type:
Node Types | Service Name Prefix | Image Name |
---|---|---|
Gisapplication Node | gisapp- | iserver-gisapplication |
Mapping Node | gisapp-mapping- | iserver-gisapplication-mapping |
Data Node | gisapp-data- | iserver-gisapplication-data-analysis |
General Analysis Node | gisapp-analysis- | iserver-gisapplication-data-analysis |
Address Match Analysis Node | gisapp-addressmatchanalysis- | iserver-gisapplication-analysis-address-match |
Spatial Analysis Node | gisapp-spatialanalysis- | iserver-gisapplication-analysis-spatial |
Network Analysis Node | gisapp-networkanalysis- | iserver-gisapplication-analysis-network |
Traffic Transfer Analysis Node | gisapp-trafficanalysis- | iserver-gisapplication-analysis-traffic-transfer |
ArcGIS Geometry Analysis Node | gisapp-geometryanalysis- | iserver-gisapplication-analysis-geometry |
Realspace Node | gisapp-realspace- | iserver-gisapplication-realspace |
Tiles Node | gisapp-tiles- | iserver-gisapplication-tiles |
Dataflow Node | gisapp-dataflow- | iserver-dataflow |
If you use the GIS Cloud Suite package for deployment, you can create a new service node, migrate the services on the original service nodes to the new node, and remove the original nodes.
Update Streaming Service
Please refer to Update Service Node, the service name prefix is iserver-streaming-.
Update Builtin Service
If you need to update the builtin service, disable it and then enable it again.
2.FAQ
-
What if the image on the homepage of iPortal fails to load after GIS Cloud Suite is upgraded?
Answer: Please contact technical support staff to handle it.
-
What if the product information displayed on the page has not changed after the upgrade?
Answer: a. If the product information of iManager has not changed, please check the basic service page. Find the imanager-dashboard-ui service, and click Modify Image to check whether the image is consistent with the current version after the upgrade. If the image version is the same, please refer to Tutorial —> Appendix —> Customize the Product Information to modify the product information.
b. If the product information of GIS Cloud Suite has not changed, please check the GIS Cloud Suite details page,Find the ispeco-dashboard-ui service, and click Modify Image to check whether the image is consistent with the current version after the upgrade. If the image version is the same, please refer to GIS Cloud Suite —> Appendix —> Customize the Product Information of GIS Cloud Suite to modify the information.