部署中心下载与安装

获取安装包

获取软件的方式有如下几种:

从网盘需下载的安装包包括:

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

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

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

SuperMap iManager 产品包(部署中心包)有AMD(x64)、ARM两个版本,需要对应具体架构安装使用,以AMD架构安装为例,安装流程详见以下操作步骤。

安装部署中心

安装前请检查安装机器是否满足产品安装的最低软硬件配置要求。如果满足,请按照以下步骤完成安装,包括:镜像仓库安装(可选)阶段和部署中心安装阶段。

注意事项:

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

镜像仓库安装

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

镜像仓库支持在Docker和Containerd环境下安装。如果使用Containerd作为Kubernetes环境运行时,当镜像仓库协议为HTTP协议,请参考附录3进行相关配置。

  1. 镜像仓库安装之前,运行docker version,确保Docker已成功安装;如果您使用Containerd作为Kubernetes环境运行时,运行nerdctl -n k8s.io info,确保Containerd已成功安装。

  2. 将镜像仓库安装包放置在计算机(可以是安装了Docker或Containerd的任意机器)的任意目录,如:/home/,使用以下命令解压:

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

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

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

注意事项:

  1. 镜像仓库默认使用端口号5000,您也可以使用命令修改端口: chmod +x startup.sh && ./startup.sh --port <port>

    其中,<port>是修改后的端口

  2. 镜像仓库默认开启了安全认证,在安装镜像仓库时,您设置完成用户名(username)和密码(password)之后将执行启动脚本。如果没有需求,您也可以安装不开启安全认证的镜像仓库,使用如下命令: chmod +x startup.sh && ./startup.sh --no-auth

  3. 镜像库默认开启了HTTPS协议,在启动镜像仓库之前,将证书文件放在根目录的images/certs目录下,将证书文件重命名为registry.crt,证书私钥文件重命名为registry.key。如未提供证书文件,在启动时会在images/certs目录下生成自生成证书文件。如没有需求,您也可以安装不开启HTTPS协议的镜像仓库,使用以下命令: chmod +x startup.sh && ./startup.sh --insecure

  1. 验证镜像仓库安装是否成功

5.1 对于开启了HTTPS协议,并且使用自生成证书的镜像仓库,需要先进行以下配置

Docker环境请按照以下步骤依次执行:

mkdir -p /etc/docker/certs.d/<ip>:5000

cp images/certs/registry.crt /etc/docker/certs.d/<ip>:5000/ca.crt

systemctl restart docker

Containerd运行时下请按照以下步骤依次执行:

mkdir -p /etc/containerd/certs.d/<ip>:5000

cp images/certs/registry.crt /etc/containerd/certs.d/<ip>:5000/ca.crt

编辑Containerd配置文件,位于/etc/containerd/config.toml。定位至 [plugins."io.containerd.grpc.v1.cri".registry],添加以下内容:

[plugins."io.containerd.grpc.v1.cri".registry]
          [plugins."io.containerd.grpc.v1.cri".registry.configs]
            [plugins."io.containerd.grpc.v1.cri".registry.configs."<ip>:5000".tls]
              ca_file = "/etc/containerd/certs.d/<ip>:5000/ca.crt"

重启Containerd服务:systemctl restart containerd

5.2 对于未使用HTTPS协议的镜像仓库,您需要先进行以下配置

Docker环境请按照以下步骤依次执行:

编辑/etc/docker/daemon.json文件(如果 配置项insecure-registries 已存在,且值为 0.0.0.0/0,则可跳过后续步骤),添加以下内容:

{
          "insecure-registries": ["<ip>/0"],
          // 其他配置...
}

重启Docker:systemctl restart containerd

Containerd运行时请按照以下步骤依次执行:

编辑Containerd配置文件,位于/etc/containerd/config.toml。定位至 [plugins."io.containerd.grpc.v1.cri".registry],添加以下内容:

[plugins."io.containerd.grpc.v1.cri".registry]
          [plugins."io.containerd.grpc.v1.cri".registry.configs]
            [plugins."io.containerd.grpc.v1.cri".registry.configs."<ip>:5000".tls]
              insecure_skip_verify = true

重启Containerd服务:systemctl restart containerd

5.3 对于开启了安全认证的镜像仓库,您需要先登录镜像仓库

Docker环境命令请执行:

docker login <ip>:5000 -u <username> -p <password>

Containerd运行时下请执行:

nerdctl -n k8s.io login <ip>:5000 -u <username> -p <password>

5.4 拉取镜像验证

Docker环境命令请执行:

docker pull <ip>:5000/supermap/scratch:latest-amd64

Containerd运行时下请执行:

nerdctl -n k8s.io pull <ip>:5000/supermap/scratch:latest-amd64

注意事项:

  1. <ip>是所在主机IP,5000为镜像仓库默认端口,如有修改,请以实际值替换;<username>和<password>分别是您安装镜像仓库时设置的用户名和密码。
  2. 上述Containerd运行时下执行命令的适用条件:通过超图提供的“Kubernetes离线安装包”安装的Kubernetes环境中可使用。
  3. 如果是在ARM环境下部署,请将镜像tag“latest-amd64”更改为“latest-arm64”。

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

install_registry

部署中心安装

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

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

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

    cd supermap-imanager-for-kubernetes-2025u1-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”。
    3. 在没有Kubernetes集群权限的环境中,可以通过配置权限来确保集群中的资源安全以及操作的有效管理,在values.yaml文件中deploy_istio_enabled之后增加相关配置项。需注意以下几点:

    3.1 如果范围配置为“namespace”,在安装iManager时,存储配置处存储方式请选择storageClass

    3.2 配置“namespace”权限后iManager的部分功能将不可用,包括:(1)概览界面内,Kubernetes节点信息以及CPU统计图表展示;(2)创建站点时不指定命名空间,或指定为不同于“deploy_namespace”项所配置的其他命名空间,站点无法正常使用;(3)站点内服务启动时,无法自动分配至端口范围之内,仅由创建站点时配置的端口来决定;(4)存储管理相关功能。

    3.3 如果范围配置为“custom”,需要确保您的ServiceAccount拥有namespace及以上的权限。如果权限不够将导致iManager部署不成功,请谨慎选配。

    3.4 配置“custom”权限时,部署中心也需要部署在Kubernetes中您的ServiceAccount所在命名空间下,即“deploy_namespace”项配置为ServiceAccount所在的命名空间,并且在安装完成的iManager中创建站点时,需要指定在该命名空间下。

      # 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:安装服务网格功能,在安装iManager时则可以启用/不开启服务网格;
      # false:不安装服务网格功能。
      deploy_istio_enabled: false
      # 集群权限范围,按需选配,取值范围:[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:
    
  4. 修改完成后保存并退出:按键盘Esc键后,命令行输入:wq后按键盘回车键。

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

    SuperMap提供了两种安装方式,您可以根据实际情况来选择常规Linux命令安装,或Helm命令安装,任选其一。

常规Linux命令安装

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

注意事项:

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

Helm命令安装

Helm 是 Kubernetes 的包管理器环境,可以帮助您轻松便捷地部署和管理应用程序,选择Helm部署时,需有Helm环境(可以执行helm命令)。Helm单独安装和配置,详细请参阅Helm官方网站

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

kubectl create ns supermap

(2)安装部署中心

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

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

./helm list -n supermap

卸载部署中心

SuperMap提供了两种卸载方式,您可以根据实际情况来进行卸载。

注意事项:

如果部署中心已部署了iManager,卸载部署中心之前,请先前往部署中心,将iManager卸载后,再执行下列操作;如果选择以“卸载但保留数据”模式卸载了iManager,卸载部署中心时将会删除iManager保留的数据及创建的站点。

常规Linux命令卸载

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

Helm命令卸载

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

附录

1.使用部署中心

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

其中<ip>为 kubernetes Master 节点的 ip;

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

2.停用/启用部署中心

您可以在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之后停用部署中心。需进行卸载、重置密码等操作时再次启用。

3.镜像仓库安装使用Containerd作为Kubernetes环境运行时,当镜像仓库协议为HTTP协议需增加相应配置

通过iManager镜像仓库安装包,启动的镜像仓库协议为HTTP协议。为保证Containerd运行时下可顺利拉取镜像,需通过以下命令在每台Kubernetes节点机器上增加配置:

      mkdir -p /etc/containerd/certs.d/<registry_addr>
      cat > /etc/containerd/certs.d/<registry_addr>/hosts.toml <<EOF
server = "https://<registry_addr>"
[host."http://<registry_addr>"]
  capabilities = ["pull", "resolve", "push"]
  skip_verify = true
EOF

其中,<registry_addr>为您实际的镜像仓库地址,例如:registry.ispeco.com