入门

安装部署中心

系统配置要求

  1. Kubernetes环境:

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

  1. 推荐硬件配置:

    • 处理器核数:4 核+
    • 内存:16 GB+
    • 硬盘:200 GB+(200 GB 为iManager基础数据所需大小,不包括业务数据存储)
    • 通过iManager for Kubernetes创建环境需要的资源要额外预留

开放端口

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

下载安装包

安装包均可从以下地址下载:

需下载的安装包包括:

  1. 镜像仓库安装包(如果可以访问阿里云仓库,则无需下载镜像仓库安装包):

    • 网盘路径:iManager部署包/iManager 11.3.0/iManager for Kubernetes部署包/supermap-imanager-for-kubernetes-11.3.0-linux-x64-registry-all.tar.gz
  2. 部署中心安装包:supermap-imanager-for-kubernetes-11.3.0-linux-x64.tar.gz

    • 网盘路径:iManager部署包/iManager 11.3.0/iManager for Kubernetes部署包/supermap-imanager-for-kubernetes-11.3.0-linux-x64.tar.gz

安装镜像仓库

如果您的网络环境可以访问阿里云仓库,则可以忽略此步骤。

  1. 镜像仓库安装之前,运行docker version,确保Docker已成功安装
  2. 将镜像仓库安装包放置在计算机(可以是安装了Docker的任意机器)的任意目录,如:/home/,使用以下命令解压:

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

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

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

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

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

    install_registry

安装部署中心

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

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

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

    cd supermap-imanager-for-kubernetes-11.3.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同名的资源,详情请参见教程->附录->常见问题解答->问题7。
     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同名的资源,详情请参见教程->附录->常见问题解答->问题7;
     # ARM平台不支持服务网格功能。
     # true:安装服务网格功能,在可视化部署时可以启用/不开启服务网格;
     # false:不安装服务网格功能。
     deploy_istio_enabled: false
  4. 修改完成后保存并退出:按键盘Esc键后,命令行输入“:wq”后按键盘回车键。
  5. 安装部署中心(以下命令均在supermap-imanager-for-kubernetes文件夹中执行)

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

常规Linux命令安装

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

注意事项:

如果出现Kubernetes cluster unreachable,请查看教程->附录->常见问题解答 问题1

Helm命令安装

Helm 是 Kubernetes 的包管理器环境,可以帮助您轻松便捷地部署和管理应用程序,Helm需单独安装和配置,详细请参阅Helm官方网站

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

kubectl create ns supermap

(2) 安装部署中心

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

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

./helm list -n supermap

使用部署中心

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

<ip>为 kubernetes Master 节点的 ip;

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

停用/启用部署中心

您可以在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中创建站点时,需要指定在该命名空间下。