入门

安装部署中心

本文档所需文件均可在以下百度网盘中下载:

前提条件

  1. 已有 kubernetes 环境,支持版本1.17及以上,建议使用版本1.20及以上(如需使用网盘提供的longhorn-xxx-deploy包部署Longhorn,需确保Kubernetes环境版本1.18及以上;如需使用网盘提供的kubernetes-serverless-xxx-deploy包部署Serverless环境,需确保Kubernetes环境版本1.20及以上),且Kubernetes node节点机器与master节点机器设置的时间一致(误差30秒以内)

    如果没有kubernetes环境,请参考安装Kubernetes

  2. 部署中心需要的资源:

    • 处理器核数:4 核+
    • 内存:16 GB+
    • 硬盘:200 GB+(200 GB 为iManager基础数据所需大小,不包括业务数据存储)
    • 通过iManager for Kubernetes创建环境需要的资源要额外预留
  3. 已经下载了 supermap-imanager-for-kubernetes-11.2.0-linux-x64.tar.gz 文件

    • 网盘路径:iManager部署包/iManager 11.2.0/iManager for Kubernetes部署包/supermap-imanager-for-kubernetes-11.2.0-linux-x64.tar.gz
  4. 镜像包准备(如果可以访问阿里云仓库,则忽略该步)

    • 网盘路径:iManager部署包/iManager 11.2.0/iManager for Kubernetes部署包/supermap-imanager-for-kubernetes-11.2.0-linux-x64-registry-all.tar.gz
  5. 选择Helm部署时,需有Helm环境(可以执行helm命令)

镜像仓库安装

镜像仓库安装之前,运行docker version,确保Docker已成功安装,如果可以访问阿里云仓库,可以跳过此步

  1. 将镜像包放置在机器(可以是安装了Docker的任意机器)的任意目录,如:/home/,使用以下命令解压(若实际包名与示例中的包名不一致,在执行命令时请替换为实际包名):

    tar -zxf supermap-imanager-for-kubernetes-11.2.0-linux-x64-registry-all.tar.gz
  2. 进入解压后目录

    cd supermap-imanager-for-kubernetes-11.2.0-linux-x64-registry-all
  3. 在当前目录执行以下命令,进行安装镜像库

    chmod +x startup.sh  && ./startup.sh
  4. 验证镜像仓库安装是否成功

    docker pull <ip>:5000/supermap/scratch:latest-amd64
    
    参数说明:
    <ip>是所在主机ip

    结果无error如下图所示,则启动成功。

    install_registry

部署中心安装与使用

计算机需要开放values.yaml文件中的“deploy_imanager_deployment_center_port”(默认值31111)对应的端口,31100(iManager默认端口)以及6443、9101、2049(使用NFS存储时开放)端口。如果您是使用阿里云ECS服务器,您需要将以上端口添加到安全组规则中。除此以外,还需要确保 3307 和 9183 端口不被占用。

以下所有命令均以管理员权限执行

  1. 将安装包supermap-imanager-for-kubernetes-11.2.0-linux-x64.tar.gz放置在Kubernetes master节点所在主机的任意目录,使用以下命令解压(若实际包名与示例中的包名不一致,在执行命令时请替换为实际包名):

    tar -zxf supermap-imanager-for-kubernetes-11.2.0-linux-x64.tar.gz
  2. 进入解压后目录

    cd supermap-imanager-for-kubernetes-11.2.0-linux-x64
  3. 在当前目录执行以下命令

    vi values.yaml

    根据实际情况修改 values.yaml 文件:

    注意:

    1. 符号”:“后面需留一个空格。
    2. values.yaml文件只能在启动部署中心前设置,如需再次修改,请修改完后重新执行安装脚本./startup.sh。文件带有默认值,修改时直接修改值即可,不需要移除任何配置。Helm命令更新配置,在supermap-imanager-for-kubernetes文件夹中执行“helm upgrade imanager-deployment-center. -n supermap”。
     # iManager镜像仓库的地址,用于拉取部署中心和iManager所需镜像。默认为阿里云仓库(外网使用时推荐该地址):registry.cn-beijing.aliyuncs.com;
     # 内网仓库配置为<ip>:5000,<ip>为镜像仓库所在机器的IP(镜像仓库安装方法参照前文)。
     deploy_registry: registry.cn-beijing.aliyuncs.com
    
     # Kubernetes主节点URL,默认使用https://kubernetes.default.svc,通常保持默认即可;
     # 如果是阿里云等公有云环境,可通过kubectl cluster-info命令获取,例如,https://192.168.17.110:6443。
     deploy_kubernetes_master_url: https://kubernetes.default.svc
    
     # iManager服务部署到kubernetes的命名空间,可保持默认值supermap,或根据实际需求自定义;
     # 使用Helm命令部署时需单独创建命名空间。
     deploy_namespace: supermap
     
     # 镜像仓库中存储镜像的命名空间名称,默认为supermap,支持用户自定义。
     deploy_image_namespace: supermap
     
     # 镜像拉取Secret,用于拉取私有镜像时进行身份认证。默认为:image-pull-secret。
     # 如果您配置的是私有仓库,在您配置镜像拉取Secret值时,需在Kubernetes中iManager所在命名空间下创建与Secret同名的资源,详情请参见教程->附录->常见问题解答->问题6。
     deploy_image_pull_secret: image-pull-secret
    
     # 部署中心端口,自定义范围:30000-32767,不包括31234,默认31111。
     deploy_imanager_deployment_center_port: 31111
    
     # 是否安装服务网格(Istio),用于在iManager中可使用服务网格功能,包括灰度发布、访问控制、服务度量、服务追踪功能,取值范围:[true|false]。默认false;
     # 如果您配置的是私有仓库,安装并选择启用服务网格功能,需在Kubernetes中istio-system所在命名空间下创建与Secret同名的资源,详情请参见教程->附录->常见问题解答->问题6。
     # true:安装服务网格功能,在可视化部署时可以启用/不开启服务网格;
     # false:不安装服务网格功能。
     deploy_istio_enabled: false

    修改完成后保存并退出:敲击键盘Esc键,命令行输入“:wq”后敲击回车键。

  4. 安装部署中心(以下命令均在supermap-imanager-for-kubernetes文件夹中执行)

    安装部署中心时,可选择常规Linux命令安装,或Helm命令安装,任选其一。

常规Linux命令安装(如果出现Kubernetes cluster unreachable,请查看教程->附录->常见问题解答 第12条)

chmod +x startup.sh && ./startup.sh

Helm命令安装

(1)创建命令空间supermap(可以自定义,需同步修改下文中的命名空间)

kubectl create ns supermap

(2) 安装部署中心

chmod +x ./helm
./helm install imanager-deployment-center. -n supermap

(3) 查看部署中心是否安装成功

./helm list -n supermap
  1. 使用部署中心

    部署中心安装成功后,访问http://<ip>:31111,即可进入部署中心页面,可视化安装iManager

<ip>为 kubernetes Master 节点的 ip;

31111为部署中心默认端口,如修改了values.yaml中deploy_imanager_deployment_center_port的值,此处需替换为实际端口。

  1. 停用/启用部署中心

    您可以在kubernetes master主机上通过以下命令停用或启用部署中心:

    停用:

    kubectl scale deployment imanager-deployment-center --replicas=0 -n<ns>

    启用:

    kubectl scale deployment imanager-deployment-center --replicas=1 -n<ns>

    其中,<ns>为部署中心所在的命名空间。

    为保证系统安全,建议您在部署完成GIS云套件、SuperMap iManager之后停用部署中心。需进行卸载、重置密码等操作时再次启用。

部署中心卸载

如果部署中心已部署了iManager,卸载部署中心之前,请先前往部署中心,将iManager卸载后,再执行下列操作;

如果选择以“卸载但保留数据”模式卸载了iManager,卸载部署中心时将会删除iManager保留的数据及创建的站点。

常规Linux命令卸载

chmod +x shutdown.sh && ./shutdown.sh

Helm命令卸载

./helm uninstall imanager-deployment-center -n supermap

附录

1.配置Kubernetes集群权限

在没有Kubernetes集群权限的环境中,您可以通过配置权限来确保集群中的资源安全以及操作的有效管理。具体在 values.yaml 文件中deploy_istio_enabled之后增加配置项:

  # 集群权限范围,取值范围:[cluster|namespace|custom]。集群(cluster)为拥有所有权限,命名空间(namespace)为仅能在“deploy_namespace”项中配置的命名空间下操作使用,自定义(custom)为您自己提供的服务账号(ServiceAccount)所具备的权限;
  # 配置为custom时需要同时配置“deploy_service_account_name”,即自行创建的ServiceAccount。
  deploy_service_account_scope: 

  # ServiceAccount名称,当权限范围值配置为“custom”时必填。
  deploy_service_account_name: 

注意:

  1. 如果范围配置为“namespace”,在安装iManager时,存储配置处存储方式请选择storageClass
  2. 配置“namespace”权限后iManager的部分功能将不可用,包括:(1)概览界面内,Kubernetes节点信息以及CPU统计图表展示;(2)创建站点时不指定命名空间,或指定为不同于“deploy_namespace”项所配置的其他命名空间,站点无法正常使用;(3)站点内服务启动时,无法自动分配至端口范围之内,仅由创建站点时配置的端口来决定;(4)存储管理相关功能。
  3. 如果范围配置为“custom”,需要确保您的ServiceAccount拥有namespace及以上的权限。如果权限不够将导致iManager部署不成功,请谨慎选配。
  4. 配置“custom”权限时,部署中心也需要部署在Kubernetes中您的ServiceAccount所在命名空间下,即“deploy_namespace”项配置为ServiceAccount所在的命名空间,并且在安装完成的iManager中创建站点时,需要指定在该命名空间下。