教程
升级包篇
用于SuperMap iManager for Kubernetes 和 GIS 云套件升级说明。
要升级的当前版本: 10.1.x, 10.2.0, 10.2.0a
可升级至最新版本: 10.2.1
如果要升级的当前版本为 10.1.0,并且该版本是从 10.0.1 版本升级上来的,请先参考辅助升级进行操作,再参考此说明进行升级。
环境准备
-
镜像包。如果 iManager for k8s 和 GIS 云套件使用阿里云镜像仓库可以跳过这一步。下载升级之后版本对应的镜像包,比如从 10.1.0 升级至 10.2.1,则需要准备 10.2.1 镜像包。以 10.2.1 为例:
镜像包位于网盘路径:
iManager部署包/iManager 10.2.1/iManager for Kubernetes部署包/supermap-imanager-for-kubernetes-registry-all-10.2.1-linux-x64.tar.gz
下载镜像包之后,将镜像包拷贝到任意装有 Docker 服务的机器任意目录,解压,进入解压后的目录,参照目录下的
readme.txt
将镜像包同步到原有镜像仓库。
升级iManager
- 阅读 注意事项
- 下载将要升级版本的正式部署包并解压
-
进入解压后的部署包,修改部署包中的 values.yaml 文件。values.yaml 文件内容需要和原来部署包中 values.yaml 字段相同(
deploy_*_tag
字段应该使用新部署包的内容)。对于新部署包中存在而原来部署包中所没有的字段,请参照新部署包中的部署指南进行配置如果之前的版本未开启服务网格,而想要在升级之后的版本开启,请在新部署包解压后目录下执行以下命令开启
kubectl label ns <imanager namespace> istio-injection=enabled \ --overwrite chmod +x ./istio.sh && ./istio.sh open
参数说明:
<imanager namespace>
是 iManager for k8s 所在命名空间,默认是 supermap -
进入
当前目录
下创建 yamls 目录,并将正式部署包中的 values.yaml 放到 yamls 目录下,然后执行以下命令启动。升级过程中会在当前目录
创建 logs 目录,里面包含升级日志# 必填,需升级的产品/解决方案名称,默认使用 imanager,可选 imanager, giscloudsuite,分别表示iManager for k8s 和 GIS 云套件。 export PRODUCT=imanager # 必填,k8s master url,可通过执行 kubectl cluster-info 获得,例如:https://172.16.112.150:6443。 export KUBERNETES_MASTER_URL=<kubernetes master url> # 必填,待升级的当前版本,比如 10.1.3, 10.2.0。 export CURRENT_VERSION=<current version> # 选填,要更新的产品架构,默认使用 amd64,可选 amd64, arm64; # 可选环境变量在执行脚本之前通过 `export` 命令添加,升级 GIS 云套件一致。 export ARCH=amd64 chmod +x upgrade.sh && ./upgrade.sh
升级完成后,请访问 iManager for k8s 主页面,检查
存储管理
中是否包含新增的且未挂载的服务,没有挂载的服务可以通过页面上的“绑定”操作进行绑定
注意事项
- 升级脚本要求操作用户具备通过 kubectl 操作 Kubernetes 集群的能力以及访问 Docker 的能力。
- 升级过程中的
当前目录
指的是包含和Readme.pdf文档一同解压的所有文件的目录。 - 升级(iManager for k8s 或 GIS 云套件)过程中相关服务会重新启动,此时产品无法访问与使用。
- 使用升级包从 10.1.0 版本升级至最新版本后,10.1.0版本中对报警规则的静默操作记录会丢失,如有需要,升级后需再次静默。10.1.1(含)之后的版本升级不受影响。
- 使用升级包从 10.1.0 版本升级至最新版本后,统计报表 生成的报表会丢失升级之前的用户操作数据,如有需要,请在升级前下载报表保存。10.1.1(含)之后的版本升级不受影响。
升级GIS云套件
参数说明:
<giscloudsuite namespace>
是 GIS 云套件所在命名空间
如果是使用 GIS 云套件包部署,先执行以下命令找到环境变量
KIBANA_BASEPATH
并去掉对应值的最后一个引号 “。比如原来的值是 /kibana” 修改为 /kibana。kubectl -n <giscloudsuite namespace> \ edit deploy ispeco-dashboard-api
为保证升级过程顺利,升级前请将 StatefulSet keycloak 伸缩成 1,如果 keycloak 不是 StatefulSet 类型,则不需要处理。可以通过执行下面命令查看 keycloak 是否为 StatefulSet
kubectl -n <giscloudsuite namespace> get statefulset keycloak
如果上述命令有结果返回,则可以通过执行下面命令伸缩成 1
kubectl -n <giscloudsuite namespace> scale --replicas=1 statefulset/keycloak
待 keycloak pod 数量剩余 1 个时,执行下面命令升级(具体规则请参照 升级iManager第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
附录
1.更新服务
以下服务的更新可选,请根据需要进行更新。
更新服务节点
访问 iManager for k8s 的 GIS 云套件详情页面,点击“修改镜像”修改对应服务的镜像为 10.2.1 镜像,例如:更新服务节点”gisapp-portal-default-0”。
将镜像名修改为 <registry>/<namespace>/<image>:<tag>
格式
<registry>
为升级包仓库地址
<namespace>
为升级包使用的命名空间
<image>
为服务节点对应的镜像,各个服务节点对应的镜像名参见下面表格
<tag>
为镜像的版本标签,格式为 “版本-架构”,例如:10.2.1-amd64
, 10.2.1-arm64
服务节点类型对应的前缀和镜像列表:
服务节点类型 | 服务名称前缀 | 镜像名称 |
---|---|---|
通用节点 | gisapp- | iserver-gisapplication |
地图节点 | gisapp-mapping- | iserver-gisapplication-mapping |
数据节点 | gisapp-data- | iserver-gisapplication-data-analysis |
通用分析节点 | gisapp-analysis- | iserver-gisapplication-data-analysis |
地址匹配分析节点 | gisapp-addressmatchanalysis- | iserver-gisapplication-analysis-address-match |
空间分析节点 | gisapp-spatialanalysis- | iserver-gisapplication-analysis-spatial |
网络分析节点 | gisapp-networkanalysis- | iserver-gisapplication-analysis-network |
交通换乘分析节点 | gisapp-trafficanalysis- | iserver-gisapplication-analysis-traffic-transfer |
ArcGIS几何分析节点 | gisapp-geometryanalysis- | iserver-gisapplication-analysis-geometry |
三维节点 | gisapp-realspace- | iserver-gisapplication-realspace |
瓦片节点 | gisapp-tiles- | iserver-gisapplication-tiles |
数据流节点 | gisapp-dataflow- | iserver-dataflow |
如果使用 GIS 云套件包进行部署,可以创建新的服务节点,把原来服务节点上的服务迁移到到新节点,移除原来节点。
更新流数据服务
参考更新服务节点即可,服务名称前缀为:iserver-streaming-。
更新内置服务
如您需要更新内置服务,禁用后重新开启即可。
2.常见问题解答
-
云套件升级后,iPortal主页面图片加载失败怎么办?
答:请联系技术支持人员协调处理。
-
如果升级之后查看页面,发现页面上展示的产品信息没有变化怎么办?
答: a. 如果是 iManager 的产品信息未变更,请查看基础服务页面,找到 imanager-dashboard-ui 服务,点击修改镜像查看镜像是否和升级后的当前版本一致。如果镜像版本一致,请参考帮助文档教程 —> 附录 —> 定制iManager产品信息 修改产品信息即可。
b. 如果是 GIS 云套件信息未变更,请访问 iManager for k8s 的 GIS 云套件详情页面,找到 ispeco-dashboard-ui 服务,点击修改镜像查看镜像是否和升级后的当前版本一致。如果镜像版本一致,那么参考帮助文档GIS云套件 —> 附录 —> 定制GIS云套件产品信息 修改即可。