入门

安装iManager

用于在 kubernetes 环境下快速部署 iManager。指南中提供两种iManager的部署方式,常规Linux命令与Helm命令,部署时任选一种。

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

前提条件

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

    如果没有kubernetes环境,请参考《kubernetes离线安装指南-CentOS篇》或《kubernetes离线安装指南-Ubuntu18.04篇》进行安装。

  2. 部署iManager for Kubernetes需要的资源:

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

    • 网盘路径:iManager部署包/iManager 11.1.1/iManager for Kubernetes部署包/supermap-imanager-for-kubernetes-11.1.1-linux-x64.tar.gz
  4. NFS Server离线安装包准备(根据使用的操作系统下载对应版本的NFS Server离线安装包。如果使用已有的 NFS Server 则忽略该步)

    • 网盘路径(CentOS 7.5系统,同样适用于CentOS 7.6及7.9环境):iManager部署包/软件工具包/NFS Server离线安装包/nfs-server-offline-centos-7.5.zip
    • 网盘路径(Ubuntu 18.04系统):iManager部署包/软件工具包/NFS Server离线安装包/nfs-server-offline-ubuntu-18.04.zip
  5. 镜像包准备(如果可以访问阿里云仓库,则忽略该步)

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

NFS Server安装

此处以CentOS系统为例,Ubuntu系统安装方法类似。如果已有 NFS 服务器,可以跳过此步

  • 在本机解压nfs-server-offline-centos-7.5.zip,得到supermap-nfs-server文件夹;
  • 拷贝supermap-nfs-server文件夹到任意一台机器 ,然后根据以下命令操作:

    进入supermap-nfs-server文件夹:

    cd supermap-nfs-server

    执行安装脚本:

    sudo chmod +x install.sh && ./install.sh

    如下图所示安装完成。

    installnfs_finished

    安装后nfs的存储位置:/opt/nfs_data

    可以通过以下方法验证nfs安装是否成功

    mkdir test
    mount -t nfs <ip>:/opt/nfs_data test
    
    参数说明:
    <ip>是NFS Server所在机器的ip

    执行上述命令后,可进入该“test”目录,创建一个文件,例如:使用以下指令:vim test.txt,可任意输入字符后保存并退出:敲击键盘Esc键,命令行输入“:wq”后敲击回车键。再进入/opt/nfs_data 目录,通过以下指令:ll或ls -l,显示如下图即说明NFS Server成功安装。

    installnfs_suc

    非root用户可以通过以下方法验证nfs安装是否成功

    service nfs status

    结果如下图则安装成功:

    nfs-status-active

如果NFS Server、Ceph等存储环境无法使用时,也可安装Longhorn存储

镜像仓库安装

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

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

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

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

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

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

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

    install_registry

iManager安装与使用

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

iManager按需部署包values.yaml文件中,禁用服务后影响的功能说明请参见iManager按需部署服务说明

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

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

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

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

    vi values.yaml

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

    注意:

    1. 符号”:“后面需留一个空格。
    2. values.yaml文件只能在启动iManager前设置,如需再次修改,请修改完后重新执行安装脚本./startup.sh。文件带有默认值,修改时直接修改值即可,不需要移除任何配置。Helm命令更新配置,在supermap-imanager-for-kubernetes文件夹中执行“helm upgrade imanager . -n supermap”。
    3. “必填”项需要根据实际情况填写或修改;“选填”项可以不修改,若“选填”项中有默认值,请保持默认值,不能删除。
    4. “必填”项参数为前5项和deploy_disable_bslicense、deploy_disable_imanager_database、deploy_disable_imanager_gateway_redis、deploy_disable_keycloak、deploy_disable_keycloak_postgresql几项必需参数及其相应参数(当这几项参数值为True即需要配置外部服务时,部分相应参数也是“必填”项)。
    5. values.yaml文件中默认注释的内容部分,可根据实际情况对指定节点亲和性和节点容忍进行设置。配置规则详情可参考Kubernetes官方文档
     # 必填,iManager镜像仓库的地址,用于拉取部署iManager所需镜像。默认为阿里云仓库(外网使用时推荐该地址):registry.cn-beijing.aliyuncs.com;
     # 内网仓库配置为<ip>:5000,<ip>为镜像仓库所在机器的IP(镜像仓库安装方法参照前文)。
     deploy_registry: registry.cn-beijing.aliyuncs.com
    
     # 必填,外部访问Kubernetes时用的IP,可以是任意一台Kubernetes节点机器外部可访问的IP,例如,192.168.17.110。
     deploy_kubernetes_public_ip:
    
     # 必填,iManager管理员账户名,用于登录iManager,默认为admin,建议执行安装脚本前进行更改。
     deploy_imanager_user_name: admin
    
     # 必填(deploy_storage_class_name的值非空时选填),您的NFS Server地址,NFS Server用于存储iManager数据,可以是IP或者域名,例如: 192.168.17.150。NFS Server 安装方法请参照前文。
     # 使用NFS Server存储时,需在Kubernetes的Node节点机器中安装NFS Client。
     deploy_nfs_server:
    
     # 必填,NFS Server提供挂载的路径,默认根路径(/)。实际请根据自己安装的NFS情况来填写,如果使用SuperMap提供的NFS离线安装包安装NFS,则此处地址填写为:/opt/nfs_data。
     deploy_nfs_path: /
    
     # 选填,Kubernetes主节点URL,默认使用https://kubernetes.default.svc,通常保持默认即可;
     # 如果是阿里云等公有云环境,此配置项必填,可通过kubectl cluster-info命令获取, 例如,https://192.168.17.110:6443。
     deploy_kubernetes_master_url: https://kubernetes.default.svc
    
     # 选填,是否禁用iManager的Ingress控制器,禁用将不能设置域名,取值范围:[true|false]。默认为false;
     # 如果Kubernetes版本为1.19以下,将不支持Ingress功能,需禁用Ingress控制器;
     # true:禁用Ingress控制器;
     # false:开启Ingress控制器。
     deploy_disable_ingress: false
    
     # 选填,iManager创建的GIS云套件配置域名时必填,GIS云套件域名映射的Kubernetes节点IP(即域名在DNS服务器上配置指向的IP)。默认使用第一个Kubernetes节点IP。
     deploy_domain_ip:
    
     # 选填, 您的StorageClass名称,用于存储iManager数据。StorageClass与NFS Server均用于iManager数据存储,如果和NFS Server(deploy_nfs_server)同时存在,优先使用NFS Server作为iManager数据存储。
     deploy_storage_class_name:
    
     # 选填,iManager服务部署到kubernetes的命名空间,可保持默认值supermap,或根据实际需求自定义;
     # 使用Helm命令部署时需单独创建命名空间。
     deploy_namespace: supermap
    
     # 选填,镜像拉取策略,取值范围:[Always|Never|IfNotPresent]。默认为IfNotPresent;
     # Always:总是从镜像仓库拉取最新镜像;
     # Never:使用本地镜像,不从镜像仓库拉取镜像;
     # IfNotPresent:如果本地有可用镜像,使用本地镜像,否则从镜像仓库拉取。
     deploy_image_pull_policy: IfNotPresent
    
     # 选填,镜像拉取Secret,用于拉取私有镜像时进行身份认证。默认为:image-pull-secret。
     # 如果您配置的是私有仓库,在您配置镜像拉取Secret值时,需在Kubernetes中iManager所在命名空间下创建与Secret同名的资源,详情请参见教程->附录->常见问题解答->问题6。
     deploy_image_pull_secret: image-pull-secret
    
     # 选填,镜像仓库中存储镜像的命名空间名称,默认为supermap,支持用户自定义。
     deploy_image_namespace: supermap
    
     # 选填,iManager服务类型,取值范围:[NodePort|LoadBalancer],通常保持默认即可;
     # 如果是阿里云等公有云环境这里填LoadBalancer。
     deploy_service_type: NodePort
    
     # 选填,iManager服务协议,取值范围:[https|http],默认http。
     deploy_imanager_service_protocol: http
    
     # 选填,iManager中单个服务的CPU分配,默认为2核。
     deploy_cpu_limit: 2
    
     # 选填,iManager中单个服务的Memory分配,不能小于4Gi,默认为4Gi。
     deploy_memory_limit: 4Gi
    
     # 选填,指定iManagaer创建的iServer镜像tag。
     deploy_iserver_tag: 11.1.1-amd64
    
     # 选填,指定iManager创建的iPortal镜像tag。
     deploy_iportal_tag: 11.1.1-amd64
    
     # 选填,指定iManager创建的iDesktop镜像tag。
     deploy_idesktop_tag: 11.1.1-amd64
    
     # 选填,指定iManager中iserver_gisapplication的镜像tag。
     deploy_gis_app_tag: 11.1.1-amd64
    
     # 选填,iManager端口,自定义范围:30000-32767,不包括31234,默认31100。如果自定义端口,注意不要与其他配置项的端口相同。
     deploy_imanager_port: 31100
    
     # 选填,许可中心是否禁用本地存储,取值范围:[true|false]。默认为false。为true时,必须配置deploy_nfs_server或default_storage_class_name;
     # true:许可中心不使用本地存储;
     # false:许可中心使用本地存储。
     deploy_disable_bslicense_local_volume: false
    
     # 选填,用于HBase性能优化,取值范围:[true|false],默认false【如您没有使用HBase的需求,可以不做修改;如您需要优化内置HBase性能,请将该值设为true,详见教程->附录->常见问题解答->问题9】。
     deploy_disable_hbase_nfs_volume: false
    
     # 选填,是否禁用iManager微信告警及远程控制功能,禁用将不能配置微信告警,取值范围:[true|false]。默认为false;
     # true:禁用微信告警及远程控制功能;
     # false:开启微信告警及远程控制功能。
     deploy_disable_weixin_hook: false
    
     # 选填,企业微信接收消息token,使用微信告警功能时必填。企业微信告警配置请参见教程->报警服务->企业微信告警->创建企业微信告警。
     deploy_weixin_token:
    
     # 选填,企业微信的企业ID,使用微信告警功能时必填。
     deploy_weixin_corp_id:
    
     # 选填,企业微信接收消息EncodingAESKey,使用微信告警功能时必填。
     deploy_weixin_encoding_aes_key:
    
     # 选填,企业微信接收消息的部门id,使用微信告警功能时必填。
     deploy_weixin_to_party:
    
     # 选填,企业微信接收消息的应用id,使用微信告警功能时必填。
     deploy_weixin_agent_id:
    
     # 选填,企业微信接收消息的应用secret,使用微信告警功能时必填。
     deploy_weixin_api_secret:
    
     # 选填,是否禁用iManager钉钉告警功能,禁用将不能配置钉钉告警,取值范围:[true|false]。默认为false;
     # true:禁用钉钉告警功能;
     # false:开启钉钉告警功能。
     deploy_disable_web_hook: false
    
     # 选填,钉钉接收消息的webhook,使用钉钉告警功能时必填。钉钉告警配置请参见教程->报警服务->钉钉告警->创建钉钉告警。
     deploy_dingtalk_webhook:
    
     # 选填,钉钉接收消息的secret,使用钉钉告警功能时必填。
     deploy_dingtalk_secret:
    
     # 选填,设置系统时区。填写系统时区目录(/usr/share/zoneinfo/)下时区文件的相对路径,如Asia/Shanghai、America/New_York,默认为Asia/Shanghai。
     deploy_timezone: Asia/Shanghai
    
     # 选填,是否开启服务网格(Istio)功能,取值范围:[true|false]。默认true;
     # 如果是ARM版,不支持Istio功能,没有该参数;
     # 如果您配置的是私有仓库,并开启服务网格功能,需在Kubernetes中istio-system所在命名空间下创建与Secret同名的资源,详情请参见教程->附录->常见问题解答->问题6。
     # true:开启服务网格功能;
     # false:禁用服务网格功能。
     deploy_istio_enabled: true
    
     # 选填,是否开启服务网格(Istio)中的ingressgateway(入口网关)和egressgateway(出口网关),取值范围:[true|false]。默认true。该配置项只有当deploy_istio_enabled为true时生效;
     # 如果是ARM版,不支持Istio功能,没有该参数;
     # true:开启ingressgateway和egressgateway;
     # false:禁用ingressgateway和egressgateway。
     deploy_istio_enable_egress: true
    
     # 选填,是否开启服务网格(Istio)中的Kiali和Tracing服务,这两个服务用于服务追踪,取值范围:[true|false]。默认true。该配置项只有当deploy_istio_enabled为true时生效;
     # 如果是ARM版,不支持Istio功能,没有该参数;
     # true:开启Kiali和Tracing服务;
     # false:禁用Kiali和Tracing服务。
     deploy_istio_enable_kiali_tracing: true
    
     # 选填,是否启用无服务器(Serverless)异步调用函数,系统有Dapr环境时可启用。取值范围:[true|false]。默认为空;
     # true:启用无服务器异步函数;
     # false:禁用无服务器异步函数;
     # 如果该配置为空,系统会根据用户环境自动识别并填充。
     deploy_async_function_enabled: 
    
     # 选填,是否启用无服务器(Serverless)同步调用函数,系统有Knative环境时可启用。取值范围:[true|false]。默认为空;
     # true:启用无服务器同步函数;
     # false:禁用无服务器同步函数;
     # 如果该配置为空,系统会根据用户环境自动识别并填充。
     deploy_sync_function_enabled:
    
     # 必填,是否禁用iManager许可中心服务,取值范围:[true|false]。默认为false;
     # true:禁用许可中心;
     # false:开启许可中心;
     # 如果禁用,需配置外部已有的许可中心服务。
     deploy_disable_bslicense: false
    
     # 禁用iManager许可中心时必填,需配置的许可中心后端主机名。
     deploy_bslicense_server_host:
    
     # 禁用iManager许可中心时必填,需配置的许可中心后端端口号。
     deploy_bslicense_server_port:
    
     # 选填,需配置的许可中心客户端主机名。
     deploy_bslicense_ui_host:
    
     # 选填,需配置的许可中心客户端端口号。
     deploy_bslicense_ui_port:
    
     # 必填,是否禁用存储iManager相关信息的业务数据库,取值范围:[true|false]。默认为false;
     # true:禁用iManager业务数据库;
     # false:开启iManager业务数据库;
     # 如果禁用,需配置外部已有的数据库服务。
     deploy_disable_imanager_database: false
    
     # 选填,配置已有数据库服务的数据库类型。可配置为mariadb和postgresql,默认为mariadb;
     # 在iManager中完成创建数据库环境后,可配置由iManager创建的MySQL或PostgreSQL数据库服务。
     deploy_imanager_database_type: mariadb
    
     # 禁用iManager业务数据库时必填,需配置的外部数据库服务的主机名。
     deploy_imanager_database_host:
    
     # 禁用iManager业务数据库时必填,需配置的外部数据库服务的端口号。
     deploy_imanager_database_port:
    
     # 禁用iManager业务数据库时必填,需配置的外部数据库账户的用户名。
     deploy_imanager_database_username:
    
     # 禁用iManager业务数据库时必填,需配置的外部数据库账户的密码。
     deploy_imanager_database_password:
    
     # 选填,是否禁用iManager的Web客户端数据库管理工具,取值范围:[true|false]。默认为false;
     # true:禁用iManager数据库的Web客户端;
     # false:开启iManager数据库的Web客户端。
     deploy_disable_imanager_phpmyadmin: false
    
     # 选填,iManager数据库Web客户端的主机名。
     deploy_imanager_phpmyadmin_host:
    
     # 选填,iManager数据库Web客户端的端口号。
     deploy_imanager_phpmyadmin_port:
    
     # 必填,是否禁用iManager网关的Redis,用于网关session存储的数据库服务。取值范围:[true|false]。默认为false;
     # true:禁用iManager网关的Redis;
     # false:开启iManager网关的Redis;
     # 如果禁用,需配置外部已有的Redis服务。
     deploy_disable_imanager_gateway_redis: false
    
     # 禁用iManager网关的Redis时必填,需配置的外部Redis服务的主机名。
     deploy_imanager_gateway_redis_host:
    
     # 禁用iManager网关的Redis时必填,需配置的外部Redis服务的端口号。
     deploy_imanager_gateway_redis_port:
    
     # 禁用iManager网关的Redis时必填,需配置的外部Redis服务的用户名。
     deploy_imanager_gateway_redis_username:
    
     # 禁用iManager网关的Redis时必填,需配置的外部Redis服务的密码。
     deploy_imanager_gateway_redis_password:
    
     # 必填,是否禁用iManager用户中心,用于iManager用户管理,实现安全统一。取值范围:[true|false]。默认为false;
     # true:禁用iManager用户中心;
     # false:开启iManager用户中心;
     # 如果禁用,需配置外部已有的Keycloak服务。
     # 如果配置外部Keycloak服务,而许可中心bslicense使用iManager内置服务时,许可中心无法正常访问,解决方案详情请参见GIS云套件->附录->常见问题解答->问题17;
     # 如果配置外部Keycloak服务,部署iManager后访问iManager的Keycloak时时,显示“Internal Server Error”,解决方案详情参见教程->附录->常见问题解答->问题18。
     deploy_disable_keycloak: false
    
     # 禁用iManager用户中心时必填,需配置的外部Keycloak服务的主机名。
     deploy_keycloak_host:
    
     # 禁用iManager用户中心时必填,需配置的外部Keycloak服务的端口号。
     deploy_keycloak_port:
    
     # 禁用iManager用户中心时必填,需配置的外部Keycloak服务的管理员用户名。
     deploy_keycloak_admin_username:
    
     # 禁用iManager用户中心时必填,需配置的外部Keycloak服务的管理员密码。
     deploy_keycloak_admin_password:
    
     # 必填,是否禁用Keycloak的数据库服务,用于存储Keycloak的数据和信息。取值范围:[true|false]。默认为false;
     # true:禁用Keycloak的数据库;
     # false:开启Keycloak的数据库;
     # 如果禁用,需配置外部已有的数据库服务来存储Keycloak信息。
     deploy_disable_keycloak_postgresql: false
    
     # 禁用Keycloak的数据库时必填,需配置的外部keycloak数据库主机名。
     deploy_keycloak_postgresql_host:
    
     # 禁用Keycloak的数据库时必填,需配置的外部keycloak数据库端口号。
     deploy_keycloak_postgresql_port:
    
     # 禁用Keycloak的数据库时必填,需配置的外部keycloak数据库用户名。
     deploy_keycloak_postgresql_username:
    
     # 禁用Keycloak的数据库时必填,需配置的外部keycloak数据库密码。
     deploy_keycloak_postgresql_password:
    
     # 选填,是否禁用iManager的日志收割功能,取值范围:[true|false]。默认为false;
     # true:禁用iManager日志收割功能;
     # false:开启iManager日志收割功能。
     deploy_disable_fluentd_es: false
    
     # 选填,是否禁用iManager的Elasticsearch服务,用于存储日志和访问统计记录。取值范围:[true|false]。默认为false;
     # true:禁用iManager的Elasticsearch;
     # false:开启iManager的Elasticsearch。
     deploy_disable_elasticsearch: false
    
     # 选填,需配置的外部Elasticsearch主机名。
     deploy_elasticsearch_host:
    
     # 选填,需配置的外部Elasticsearch的TCP协议端口号,用于Elasticsearch集群之间通讯端口号。
     deploy_elasticsearch_tcp_port:
    
     # 选填,需配置的外部Elasticsearch的暴露ES RESTful接口端口号,用于Elasticsearch节点和外部通讯使用。
     deploy_elasticsearch_rest_port:
    
     # 选填,是否禁用iManager内置的展示日志和访问统计服务,用于可视化Elasticsearch中的数据。取值范围:[true|false]。默认为false;
     # true:禁用iManager展示日志和访问统计功能;
     # false:开启iManager展示日志和访问统计功能。
     deploy_disable_kibana: false
    
     # 选填,需配置的外部Kibana主机名。
     deploy_kibana_host:
    
     # 选填,需配置的外部Kibana的端口号。
     deploy_kibana_port:
    
     # 选填,需配置的外部Kibana的应用程序路径contextpath。
     deploy_kibana_context_path:
    
     # 选填,是否禁用iManager内置的数据库监控和自动发现服务。取值范围:[true|false]。默认为false;
     # true:禁用iManager数据库监控和服务发现功能;
     # false:开启iManager数据库监控和服务发现功能。
     deploy_disable_consul_server: false
    
     # 选填,需配置的外部Consul服务的主机名。
     deploy_consul_server_host:
    
     # 选填,需配置的外部Consul服务的端口号。
     deploy_consul_server_port:
    
     # 选填,是否禁用iManager内置的监控系统服务,用于监控资源负载。取值范围:[true|false]。默认为false;
     # true:禁用iManager监控系统功能;
     # false:开启iManager监控系统功能。
     deploy_disable_prometheus: false
    
     # 选填,是否禁用iManager告警功能,取值范围:[true|false]。默认为false;
     # true:禁用告警功能;
     # false:开启告警功能。
     deploy_disable_alert: false
    
     # 选填,是否禁用iManager节点监控功能。取值范围:[true|false]。默认为false;
     # true:禁用iManager节点监控功能;
     # false:开启iManager节点监控功能。
     deploy_disable_prometheus_node_exporter: false     
    
     # 选填,是否禁用metrics_server服务,metrics_server用于Kubernetes资源监控,可支撑动态伸缩功能。取值范围:[true|false]。默认false;
     # 如果您配置的是私有仓库,并开启metrics_server服务,需在Kubernetes中kube-system所在命名空间下创建与Secret同名的资源,详情请参见教程->附录->常见问题解答->问题6;
     # true:禁用metrics_server服务;
     # false:开启metrics_server服务。
     deploy_disable_metrics_server: false
     
     # 选填,是否禁用监控指标的度量类库功能,用于监控容器状态,取值范围:[true|false]。默认false;
     # true:禁用Kubernetes状态信息监控功能;
     # false:开启Kubernetes状态信息监控功能。
     deploy_disable_kube_state_metrics: false
    
     # 选填,是否禁用iManager的URL监控功能,取值范围:[true|false]。默认false;
     # true:禁用URL监控功能;
     # false:开启URL监控功能。     
     deploy_disable_blackbox_exporter: false
    
     # 选填,是否禁用iManager的Kubernetes证书过期监控功能,取值范围:[true|false]。默认false;
     # true:禁用Kubernetes证书过期监控功能;如果禁用并要配置外部已有的ssl_exporter服务,需将该服务部署在iManager所在机器的某个命名空间下,否则监控的Kubernetes证书将不属于该iManager环境,而是ssl_exporter服务所在机器的;
     # false:开启Kubernetes证书过期监控功能。
     deploy_disable_ssl_exporter: false
    
     # 选填,需配置的外部ssl_exporter服务所在的主机名。
     deploy_ssl_exporter_host:
    
     # 选填,需配置的外部ssl_exporter服务的端口号。
     deploy_ssl_exporter_port:
    
     # 选填,是否禁用iManager内置的分析与监控平台,用于展示监控负载信息。取值范围:[true|false]。默认false;
     # 如果禁用内置的分析与监控平台,并配置为外部Grafana服务,在无痕模式访问概览页面负载图无法正常显示时,需允许浏览器使用三方Cookie,即关闭“阻止第三方Cookie”按钮;
     # true:禁用iManager用于展示监控负载信息的仪表盘;
     # false:开启iManager用于展示监控负载信息的仪表盘。
     deploy_disable_grafana: false
    
     # 选填,需配置的外部Grafana主机名。
     deploy_grafana_host:
    
     # 选填,需配置的外部Grafana的端口号。
     deploy_grafana_port:
    
     # 选填,需配置的外部Grafana的应用程序路径contextpath。
     deploy_grafana_contetxt_path:
    
     # 选填,是否禁用Grafana的PostgreSQL数据库服务,用于存储Grafana数据。取值范围:[true|false]。默认为false;
     # true:禁用Grafana的数据库;如果禁用并配置外部PostgreSQL数据库服务,需先在PostgreSQL中创建“Grafana”数据库。
     # false:开启Grafana的数据库。
     deploy_disable_grafana_postgresql: false
    
     # 选填,需配置的外部用于存储Grafana信息的数据库主机名。
     deploy_grafana_postgresql_host:
    
     # 选填,需配置的外部用于存储Grafana信息的数据库端口号。
     deploy_grafana_postgresql_port:
    
     # 选填,需配置的外部用于存储Grafana信息的数据库用户名。
     deploy_grafana_postgresql_username:
    
     # 选填,需配置的外部用于存储Grafana信息的数据库密码。
     deploy_grafana_postgresql_password:
    
     # 选填,是否禁用iManager命令行和查看容器日志功能。取值范围:[true|false]。默认为false;
     # true:禁用命令行和查看容器日志功能;
     # false:开启命令行和查看容器日志功能。
     deploy_disable_k8s_dashboard: false
    
     # 选填,需配置的外部提供命令行和查看容器日志服务的主机名。
     deploy_k8s_dashboard_host:
    
     # 选填,需配置的外部提供命令行和查看容器日志服务的端口号。
     deploy_k8s_dashboard_port:
    
     #affinity:
     # nodeAffinity:
     #    requiredDuringSchedulingIgnoredDuringExecution:
     #      nodeSelectorTerms:
     #        - matchExpressions:
     #            - key: kubernetes.io/hostname
     #              operator: Exists
     #tolerations:
     #  - key: "key1"  #能容忍的污点key
     #    operator: "Equal"  #Equal等于,表示key=value;Exists不等于,表示将会忽略value值
     #    value: "value1"  #值
     #    effect: "NoExecute"  #策略
     #    tolerationSeconds: 3600  #用于描述当Pod需要被驱逐时可以在Pod上继续保留运行的时间,注意只有effect: "NoExecute"才能设置,否则报错

    备注:

    1. 系统默认使用的密码是Supermap1997,请及时修改。
    2. 长期使用同一密码是密码被破解的主要原因。在安全性要求极高的环境中,默认的管理员密码,应自行修改并定期更新。
    3. 如果密码过于简单,则可能被恶意用户解密和暴力破译,窃取重要信息及盗用资源,存在安全风险。更新密码时请尽量设置得复杂。

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

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

    安装iManager时,可选择常规Linux命令安装,或Helm命令安装,任选其一。

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

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

    Helm命令安装

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

    kubectl create ns supermap

    3.2 安装iManager

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

    3.3 查看iManager是否安装成功

    ./helm list -n supermap

    helmlist

    执行完命令后的进度条仅供参考,实际服务启动情况请参见 kubernetes 的 dashboard 界面
    安装完成后,可以通过 http://<ip>:31100 访问 iManager 页面 ,如果deploy_imanager_service_protocol的值为https,就通过: https://<ip>:31100 访问 iManager 页面 . <ip>为 kubernetes Master 节点的 ip.

    登录账号参见 values.yaml 文件中配置的iManager管理员账户信息

  5. 配置许可

    安装好 iManager 之后,还需要导入许可才能使用。这里以导入试用许可为例。

    首先去 SuperMap 官网申请试用许可或购买正式许可。

    访问iManager 页面,在没有许可的情况下会自动跳转到许可中心(Web版)页面,点击激活更新,参照操作流程导入许可

    activatelic

    导入成功之后,在许可状态可以看见许可信息

    licensestatus1

    安装完成之后就可以正常使用 iManager

附录

1.删除iManager环境

运行 shutdown.sh 文件可以删除 iManager 环境:

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

如需彻底删除iManager,即删除iManager创建的相关环境等,请增加-v参数:

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

使用Helm命令安装的iManager,删除命令(使用该命令,命名空间与用户创建的环境不会被删除):

./helm uninstall imanager -n supermap