教程

升级包篇

用于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

  1. 阅读 注意事项
  2. 下载将要升级版本的正式部署包并解压
  3. 进入解压后的部署包,修改部署包中的 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

  4. 进入当前目录下创建 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 主页面,检查 存储管理 中是否包含新增的且未挂载的服务,没有挂载的服务可以通过页面上的“绑定”操作进行绑定

注意事项

  1. 升级脚本要求操作用户具备通过 kubectl 操作 Kubernetes 集群的能力以及访问 Docker 的能力。
  2. 升级过程中的 当前目录 指的是包含和Readme.pdf文档一同解压的所有文件的目录。
  3. 升级(iManager for k8s 或 GIS 云套件)过程中相关服务会重新启动,此时产品无法访问与使用。
  4. 使用升级包从 10.1.0 版本升级至最新版本后,10.1.0版本中对报警规则的静默操作记录会丢失,如有需要,升级后需再次静默。10.1.1(含)之后的版本升级不受影响。
  5. 使用升级包从 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”。

modifyimage

将镜像名修改为 <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.常见问题解答

  1. 云套件升级后,iPortal主页面图片加载失败怎么办?

    答:请联系技术支持人员协调处理。

  2. 如果升级之后查看页面,发现页面上展示的产品信息没有变化怎么办?

    答: a. 如果是 iManager 的产品信息未变更,请查看基础服务页面,找到 imanager-dashboard-ui 服务,点击修改镜像查看镜像是否和升级后的当前版本一致。如果镜像版本一致,请参考帮助文档教程 —> 附录 —> 定制iManager产品信息 修改产品信息即可。

    b. 如果是 GIS 云套件信息未变更,请访问 iManager for k8s 的 GIS 云套件详情页面,找到 ispeco-dashboard-ui 服务,点击修改镜像查看镜像是否和升级后的当前版本一致。如果镜像版本一致,那么参考帮助文档GIS云套件 —> 附录 —> 定制GIS云套件产品信息 修改即可。