入门
安装GIS云套件-Kubernetes环境
用于在 kubernetes 环境下快速部署 GIS 云套件。指南中提供两种云套件的部署方式,常规Linux命令与Helm命令,部署时任选一种即可。
本文档所需文件均可在以下百度网盘中下载:
前提条件
-
已有 kubernetes 环境,版本1.9及以上。如果有多个Kubernetes节点,node节点机器与master节点机器设置的时间一致(误差30秒以内)
如果没有Kubernetes环境,请参考《kubernetes离线安装指南-CentOS篇》或《kubernetes离线安装指南-Ubuntu18.04篇》进行安装.
- 已经下载了 supermap-giscloudsuite-10.2.0-linux-x64.tar.gz 文件
-
规格:
- 处理器数量:4 核+
- 内存:16 GB+(规格越大性能越好)
- 硬盘:200 GB+(200 GB 为GIS云套件基础数据所需大小,不包括业务数据存储)
- 开启内置环境需要的资源要额外预留
- GIS云套件可以用于单机也可以用于多机,多机部署时,需要配置 nfs 服务器
-
NFS Server离线安装包准备(根据使用的操作系统下载对应版本的NFS Server离线安装包,如果使用已有的 NFS Server 或者用于单节点部署可以忽略此步)
- nfs-server-offline-centos-7.5.zip
- nfs-server-offline-ubuntu-18.04.zip
-
镜像包准备(如果可以访问阿里云仓库,则忽略该步)
- supermap-giscloudsuite-registry-10.2.0-linux-x64.tar.gz
- 选择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
安装后nfs的存储位置:/opt/nfs_data。可以通过以下方法验证nfs安装是否成功
mkdir test
mount -t nfs {ip}:/opt/nfs_data test
注意: {ip}是NFS Server所在机器的ip。
镜像仓库安装
开始之前,运行sudo docker version,确保Docker已成功安装,如果可以访问阿里云仓库,可以跳过此步
-
将镜像包放置在机器(可以是安装了Docker的任意机器)的任意目录,如:/home/,使用以下命令解压(若实际包名与示例中的包名不一致,在执行命令时请替换为实际包名):
tar -zxf supermap-giscloudsuite-registry-10.2.0-linux-x64.tar.gz
-
进入解压后目录
cd supermap-giscloudsuite-docker-images
-
在当前目录执行以下命令,进行安装镜像库
sudo chmod +x startup.sh && sudo ./startup.sh
-
验证镜像库安装是否成功
sudo docker pull {ip}:5000/supermap/adminer:latest
其中{ip}为所在主机IP ,如果结果无error,则启动成功
GIS云套件安装与使用
计算机需要开放values.yaml文件中“deploy_keycloak_port”(默认值32221)、“deploy_gateway_port”(默认值是32222)、“deploy_bslicense_ui_port”(默认值是32223)对应的端口,以及6443、8443、2049(使用NFS存储时开放)、8080、9100端口。如果您是使用阿里云ECS服务器,您需要将以上端口添加到安全组规则中。除此以外,还需要确保 3307 和 9183 端口不被占用。
以下所有命令均以管理员权限执行
-
将下载的文件解压(若实际包名与示例中的包名不一致,在执行命令时请替换为实际包名),得到 supermap-giscloudsuite 文件夹
tar -zxf supermap-giscloudsuite-10.2.0-linux-x64.tar.gz
-
进入 supermap-giscloudsuite 文件夹,执行:
sudo vi values.yaml
根据实际情况修改 values.yaml 文件:
注意:
- 符号”:“后面需留一个空格。
- 以下文件只能在启动GIS云套件前设置,如需再次修改,请修改完后重新执行安装脚本./startup.sh。文件带有默认值,修改时直接修改值即可,不需要移除任何配置。
- “必填”项需要根据实际情况填写或修改;“选填”项可以不修改,若“选填”项中有默认值,请保持默认值,不能删除。
# 必填,GIS云套件镜像仓库的地址,用于拉取部署GIS云套件所需镜像。默认为阿里云仓库(外网使用时推荐该地址):registry.cn-beijing.aliyuncs.com。 # 内网仓库配置为<ip>:5000,<ip>为镜像仓库所在机器的IP(镜像仓库安装方法参照前文)。 deploy_registry: registry.cn-beijing.aliyuncs.com # 必填,外部访问Kubernetes时用的IP,可以是任意一台Kubernetes节点机器外部可访问的IP。eg: 192.168.17.110。 deploy_kubernetes_public_ip: # 必填,GIS云套件管理员账户名,用于登录GIS云套件,默认为user_admin,请自行更改。 deploy_ispeco_user_name: user_admin # 必填,GIS云套件管理员密码,用于登录GIS云套件,默认为iserver,请自行更改。 deploy_ispeco_password: iserver # 选填(多机部署时,如果不配置deploy_storage_class_name,此处必填),您的NFS Server地址,用于存储GIS云套件数据,可以是IP或者域名,例如: 192.168.17.150。NFS Server 安装方法请参照前文。 # 使用NFS Server存储时,需在Kubernetes的Node节点机器中安装NFS Client。 deploy_nfs_server: # 选填,NFS Server提供挂载的路径,默认根路径:/。请根据自己安装的NFS Server实际情况来填写路径,如果使用SuperMap提供的NFS离线安装包安装NFS Server,则此处地址填写为:/opt/nfs_data;如果不配置NFS Server,默认使用hostPath数据卷,位于本地/opt/giscloudsuite目录。 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 # 选填, 您的StorageClass名称,用于存储GIS云套件数据。StorageClass与NFS Server均用于GIS云套件数据存储,如果和NFS Server(deploy_nfs_server)同时存在,优先使用NFS Server作为GIS云套件数据存储。 deploy_storage_class_name: # 选填,应用部署的kubernetes命名空间,可保持默认giscloudsuite,或根据实际需求自定义; # 使用Helm命令部署时需单独创建命名空间。 deploy_namespace: giscloudsuite # 选填,GIS云套件服务协议,取值范围:[https|http],默认http。 deploy_service_protocol: http # 选填,镜像拉取策略,取值范围:[Always|Never|IfNotPresent],默认为IfNotPresent; # Always:总是从镜像仓库拉取最新镜像; # Never:使用本地镜像,不从镜像仓库拉取镜像; # IfNotPresent:如果本地有可用镜像,使用本地镜像,否则从镜像仓库拉取。 deploy_image_pull_policy: IfNotPresent # 选填,镜像拉取Secret,用于拉取私有镜像时进行身份认证。例如:image-pull-secret。配置Secret前,需在Kubernetes命名空间下创建与Secret同名的资源,详情请参见GIS云套件->附录->常见问题解答->问题12。 deploy_image_pull_secret: # 选填,镜像仓库中存储镜像的命名空间名称,默认为supermap,支持用户自定义。 deploy_image_namespace: supermap # 选填,keycloak服务类型,取值范围:[NodePort|LoadBalancer],通常保持默认即可; # 如果是阿里云等公有云环境这里填LoadBalancer。 deploy_keycloak_service_type: NodePort # 选填,GIS云套件中单个服务的CPU分配,默认为1核。 deploy_cpu_limit: 1 # 选填,GIS云套件中单个服务的Memory分配,不能小于4Gi,默认为4Gi。 deploy_memory_limit: 4Gi # 选填,指定GIS云套件中iserver_gisapplication的镜像tag。 deploy_gis_app_tag: 10.2.0-amd64 # 选填,Keycloak端口,自定义范围:30000-32767,不包括 31234,默认32221。如果自定义端口,注意不要与其他变量的端口相同。 deploy_keycloak_port: 32221 # 选填,GIS云套件UI访问入口端口,自定义范围:30000-32767,不包括 31234,默认32222。如果自定义端口,注意不要与其他变量的端口相同。 deploy_gateway_port: 32222 # 选填,GIS云套件许可中心端口,自定义范围:30000-32767,不包括 31234,默认32223。如果自定义端口,注意不要与其他变量的端口相同。 deploy_bslicense_ui_port: 32223 # 选填,是否禁用iPortal的相关服务,取值范围:[true|false],默认false; # true:禁用iPortal相关服务; # false:不禁用iPortal相关服务。 deploy_disable_iportal: false # 选填,许可中心是否禁用本地存储,取值范围:[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,详见GIS云套件->附录->常见问题解答->问题15】。 deploy_disable_hbase_nfs_volume: false # 选填,GIS云套件配置域名时必填,GIS云套件域名映射的Kubernetes节点IP(即域名在DNS服务器上配置指向的IP)。默认使用第一个Kubernetes节点IP。 deploy_domain_ip: # 选填,配置GIS云套件访问入口的域名,例如,imanager.iservergateway.com。不配置使用IP加端口访问。 deploy_gateway_domain: # 选填,GIS云套件访问入口域名对应的证书路径,只有配置了GIS云套件域名(deploy_gateway_domain),该变量才会生效。证书应当与values.yaml存放于同一目录下,填写时使用相对路径,比如:gateway/tls.crt。 deploy_gateway_certificate_path: # 选填,GIS云套件访问入口域名对应证书的私钥路径,只有配置了GIS云套件域名(deploy_gateway_domain),该变量才会生效。私钥应当与values.yaml存放于同一目录下,填写时使用相对路径,比如:gateway/tls.key。 deploy_gateway_private_key_path: # 选填,配置访问Keycloak的域名,比如:imanager.keycloak.com。不配置使用IP加端口访问。 deploy_keycloak_domain: # 选填,Keycloak安全中心域名对应的证书路径,只有配置了Keycloak安全中心域名(deploy_gateway_domain),该变量才会生效。证书应当与values.yaml存放于同一目录下,填写时使用相对路径,比如:keycloak/tls.crt。 deploy_keycloak_certificate_path: # 选填,Keycloak安全中心域名对应证书的私钥路径,只有配置了Keycloak安全中心域名(deploy_gateway_domain),该变量才会生效。私钥应当与values.yaml存放于同一目录下,填写时使用相对路径,比如:keycloak/tls.key。 deploy_keycloak_private_key_path: # 选填,设置系统时区。填写系统时区目录(/usr/share/zoneinfo/)下时区文件的相对路径,如Asia/Shanghai、America/New_York,默认为Asia/Shanghai。 deploy_timezone: Asia/Shanghai # 选填,是否禁用metrics_server服务,metrics_server用于Kubernetes资源监控,取值范围:[true|false]。默认false; # true:禁用metrics_server服务; # false:开启metrics_server服务。 deploy_disable_metrics_server: false
修改完成后保存并退出:敲击键盘Esc键,命令行输入:wq后敲击回车键。
-
安装
安装GIS云套件时,可选择常规Linux命令安装,或Helm命令安装,任选其一。
常规Linux命令安装
chmod +x startup.sh && ./startup.sh
Helm命令安装
- 创建命令空间giscloudsuite(可以自定义,需同步修改下文中的命名空间)
kubectl create ns giscloudsuite
- 安装GIS云套件
helm install giscloudsuite ../supermap-giscloudsuite -n giscloudsuite
- 查看GIS云套件是否安装成功
helm list -n giscloudsuite
执行完命令后的进度条仅供参考,实际服务启动情况请参见kubernetes 的 dashboard 界面。
安装完成后,可以通过
http://{ip}:32222
访问GIS云套件页面,通过http://{ip}:32223
访问许可中心(Web版)页面。 {ip}: 为 kubernetes Master 节点的 ip。如果deploy_service_protocol的值为https,则通过https://{ip}:32222
和https://{ip}:32223
访问。登录账号参见 values.yaml 文件中配置的GIS云套件管理员账户信息。
-
配置许可
安装好之后,还需要导入许可才能使用。这里以导入试用许可为例。
首先先去 SuperMap 官网申请试用许可。
访问GIS云套件页面, 在没有许可的情况下会自动跳转到许可中心(Web版)页面(用户名密码请参见文后附录),点击激活更新,参照操作流程导入许可。
导入成功之后,在许可状态可以看见许可信息。
安装完成之后就可以正常使用。
附录
-
运行 shutdown.sh 文件可以删除GIS云套件环境
chmod +x shutdown.sh && ./shutdown.sh
如需彻底删除GIS云套件,请增加-v参数:
chmod +x shutdown.sh && ./shutdown.sh -v
使用Helm命令安装的GIS云套件,删除命令(使用该命令,命名空间与用户创建的环境不会被删除):
helm uninstall giscloudsuite -n giscloudsuite
-
基础服务访问地址({ip}: 为 kubernetes Master 节点的 ip):
服务 地址 GIS云套件 http://{ip}:32222 或 https://{ip}:32222 许可中心 http://{ip}:32223 或 https://{ip}:32223