教程
GIS桌面创建
站点创建
SuperMap iManager可一键创建GIS桌面,请参照以下步骤:
- 打开iManager左侧导航栏站点管理;
-
点击+ 创建;
-
对GIS桌面进行命名,并选择站点类型为GIS桌面;
高级选项:
- 命名空间:为创建的站点指定命名空间,不指定则由系统分配命名空间。若指定的命名空间不存在时,将自动创建,并在删除站点时一并删除;已存在的命名空间不会被删除。
- iDesktopX外部端口:设置访问iDesktopX的端口号,不设置则使用随机端口。
- FTP外部端口:设置访问FTP的端口号,不设置则使用随机端口。
- FTP数据传输最小端口:设置FTP传输数据的端口范围最小值,不设置则使用随机端口。
- FTP数据传输最大端口:设置FTP传输数据的端口范围最大值,不设置则使用随机端口。
- 启用服务网格:开启服务网格相关功能,可实现服务追踪、服务度量功能。启用服务网格需先将iManager部署包values.yaml文件中deploy_istio_enabled的值改为true,请参见入门->安装部署->安装iManager。
-
资源配额:设置站点可使用的CPU与内存上限。此处的CPU/内存与硬件设施CPU/内存不同,此处CPU/内存为服务节点在Kubernetes环境中占用的CPU/内存,站点总CPU/内存的计算方法为站点内所有服务节点所占CPU/内存的总和。
- CPU(必填):设置该站点可使用的最大CPU核数。
- 内存(必填):设置该站点可使用的最大内存。
- Pod数量:设置该站点可容纳的最大Pod数,Pod为Kubernetes中的最小运行单位,一个Pod可由多个容器组成。
- 默认容器CPU限制:设置单个容器创建时可用的最大CPU核数。
- 默认容器内存限制:设置单个容器创建时可用的最大内存。
注意:
若站点启用了服务网格,每个服务都会自动创建istio-proxy,一个istio-proxy占用2核CPU、1GB内存,站点总CPU/内存的计算方法为站点内所有服务节点所占CPU/内存的总和加上istio-proxy占用的资源。 - 点击确定;
-
在GIS桌面页面查看状态,当状态由正在创建变为正常,则GIS桌面创建成功,如下图。
GIS桌面使用三维场景
在SuperMap iManager创建的GIS桌面上浏览与使用三维场景,需确保某Node节点的机器显卡配有图形处理器(GPU)且docker版本在19.03及以上,并在相关设置后将机器加入Kubernetes集群。以使用英伟达(NVIDIA)显卡为例,请参照以下步骤:
-
安装NVIDIA驱动,可参考NVIDIA官方文档。安装完成后可验证驱动安装是否成功:
nvidia-smi
返回结果可看到驱动版本(Driver Version)、GPU内存使用量(GPU Memory Usage)等信息则安装成功。
- 安装NVIDIA Container Toolkit,使得docker可正常访问装有NVIDIA显卡机器的程序,可参考NVIDIA官方文档。
-
设置NVIDIA作为docker的默认运行时
3.1 备份daemon.json文件,该文件位于/etc/docker/目录下
3.2 在该节点机器上指定NVIDIA为docker默认运行时:
nvidia-ctk runtime configure --runtime=docker
3.3 重启docker:
systemctl daemon-reload && systemctl restart docker
- 将该机器加入Kubernetes集群,可参考入门->安装部署->安装Kubernetes->安装kubernetes-1.20-CentOS篇或Ubuntu篇的“增加node节点”内容。
-
在Kubernetes的Dashboard界面,kube-system命名空间下创建资源
5.1 访问Kubernetes Dashboard,命名空间选择kube-system,点击+创建新资源如下:
apiVersion: apps/v1 kind: DaemonSet metadata: name: nvidia-device-plugin-daemonset namespace: kube-system spec: selector: matchLabels: name: nvidia-device-plugin-ds updateStrategy: type: RollingUpdate template: metadata: labels: name: nvidia-device-plugin-ds spec: tolerations: - key: nvidia.com/gpu operator: Exists effect: NoSchedule priorityClassName: "system-node-critical" containers: - image: registry.cn-beijing.aliyuncs.com/nvidia/k8s-device-plugin:v0.14.3 name: nvidia-device-plugin-ctr env: - name: FAIL_ON_INIT_ERROR value: "false" securityContext: allowPrivilegeEscalation: false capabilities: drop: ["ALL"] volumeMounts: - name: device-plugin mountPath: /var/lib/kubelet/device-plugins volumes: - name: device-plugin hostPath: path: /var/lib/kubelet/device-plugins
5.2 资源创建完成后可查看GPU的分配情况:
kubectl describe node <nodeName> 参数说明: <nodeName>是该节点名称。
-
在创建的GIS桌面站点中,编辑idesktopx服务编排,新增环境变量、资源及挂载等,如下图所示
更新完成后,待镜像启动即可正常访问与使用三维场景。