入门
安装部署中心
本文档所需文件均可在以下百度网盘中下载:
前提条件
-
已有 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。
-
部署中心需要的资源:
- 处理器核数:4 核+
- 内存:16 GB+
- 硬盘:200 GB+(200 GB 为iManager基础数据所需大小,不包括业务数据存储)
- 通过iManager for Kubernetes创建环境需要的资源要额外预留
-
已经下载了 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
-
镜像包准备(如果可以访问阿里云仓库,则忽略该步)
- 网盘路径:iManager部署包/iManager 11.2.0/iManager for Kubernetes部署包/supermap-imanager-for-kubernetes-11.2.0-linux-x64-registry-all.tar.gz
- 选择Helm部署时,需有Helm环境(可以执行helm命令)
镜像仓库安装
镜像仓库安装之前,运行docker version,确保Docker已成功安装,如果可以访问阿里云仓库,可以跳过此步
-
将镜像包放置在机器(可以是安装了Docker的任意机器)的任意目录,如:/home/,使用以下命令解压(若实际包名与示例中的包名不一致,在执行命令时请替换为实际包名):
tar -zxf supermap-imanager-for-kubernetes-11.2.0-linux-x64-registry-all.tar.gz
-
进入解压后目录
cd supermap-imanager-for-kubernetes-11.2.0-linux-x64-registry-all
-
在当前目录执行以下命令,进行安装镜像库
chmod +x startup.sh && ./startup.sh
-
验证镜像仓库安装是否成功
docker pull <ip>:5000/supermap/scratch:latest-amd64 参数说明: <ip>是所在主机ip
结果无error如下图所示,则启动成功。
部署中心安装与使用
计算机需要开放values.yaml文件中的“deploy_imanager_deployment_center_port”(默认值31111)对应的端口,31100(iManager默认端口)以及6443、9101、2049(使用NFS存储时开放)端口。如果您是使用阿里云ECS服务器,您需要将以上端口添加到安全组规则中。除此以外,还需要确保 3307 和 9183 端口不被占用。
以下所有命令均以管理员权限执行
-
将安装包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
-
进入解压后目录
cd supermap-imanager-for-kubernetes-11.2.0-linux-x64
-
在当前目录执行以下命令
vi values.yaml
根据实际情况修改 values.yaml 文件:
注意:
- 符号”:“后面需留一个空格。
- 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”后敲击回车键。
-
安装部署中心(以下命令均在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
-
使用部署中心
部署中心安装成功后,访问
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:
注意:
- 如果范围配置为“namespace”,在安装iManager时,存储配置处存储方式请选择storageClass。
- 配置“namespace”权限后iManager的部分功能将不可用,包括:(1)概览界面内,Kubernetes节点信息以及CPU统计图表展示;(2)创建站点时不指定命名空间,或指定为不同于“deploy_namespace”项所配置的其他命名空间,站点无法正常使用;(3)站点内服务启动时,无法自动分配至端口范围之内,仅由创建站点时配置的端口来决定;(4)存储管理相关功能。
- 如果范围配置为“custom”,需要确保您的ServiceAccount拥有namespace及以上的权限。如果权限不够将导致iManager部署不成功,请谨慎选配。
- 配置“custom”权限时,部署中心也需要部署在Kubernetes中您的ServiceAccount所在命名空间下,即“deploy_namespace”项配置为ServiceAccount所在的命名空间,并且在安装完成的iManager中创建站点时,需要指定在该命名空间下。