Guides
Install iManager
This guide is used for deploying iManager on Kubernetes. There are two ways when you installing iManager, they are using Linux command and Helm command, choose either one is good.
All the packages introduced below can be downloaded from the link:
https://pan.baidu.com/s/1lWLyyT1jAbADGuxEG3m4gA
Password: ge4d
Requirement
-
The Kubernetes environment v1.9 or higher. Please make sure the time of node machines are the same as master machine(The time difference should be less than 30 seconds)
If you do not have Kubernetes environment, please refer to Deployment Guide > Install Kubernetes > CentOS(Ubuntu) to install.
-
Resources requirement:
- Number of processors: 4 Cores+
- Memory: 16 GB+
- Disk: 200 GB+(200 GB is the minimum reserved size, not including industry data)
- The environments which are created by iManager need extra resources
-
The
supermap-imanager-for-kubernetes-10.2.0-linux-x64.tar.gz
packagePath: iManager部署包/iManager 10.2.0/iManager for Kubernetes部署包/supermap-imanager-for-kubernetes-10.2.0-linux-x64.tar.gz
-
The NFS Server installation package(Download the version of the NFS Server package according to your system. If you already have NFS Server, skip this step)
Path(CentOS): iManager部署包/软件工具包/NFS Server离线安装包/nfs-server-offline-centos-7.5.zip
Path(Ubuntu): iManager部署包/软件工具包/NFS Server离线安装包/nfs-server-offline-ubuntu-18.04.zip
-
Images preparation(If you use Alibaba Cloud registry, skip this step)
Path:iManager部署包/iManager 10.2.0/iManager for Kubernetes部署包/supermap-imanager-for-kubernetes-registry-all-10.2.0-linux-x64.tar.gz
- If you choose Helm command to install iManager, you need to install helm package
Install NFS Server
The example below is installing on CentOS, it is almost the same as install on Ubuntu. If you have NFS Server, skip this step.
- Unzip the
nfs-server-offline-centos-7.5.zip
package on the local machine -
Copy the
supermap-nfs-server
folder to any of the Kubernetes machineEnter the
supermap-nfs-server
folder:cd supermap-nfs-server
Execute:
sudo chmod +x install.sh && ./install.sh
The path of the NFS storage directory is: /opt/nfs_data
Execute the command to verify if the NFS has installed:
mkdir test
mount -t nfs <ip>:/opt/nfs_data test
Notes:
<ip>
is the machine IP where you installed the NFS on.
Install iManager Image Repository
If you install iManager on the extranet, skip this step and set Alibaba cloud registry.
Before installing the image registry, execute the command sudo docker version
to make sure you have installed Docker.
Notes:
It is better to use a new and clean machine to install the image registry.
-
Put the image package in any directory and unzip(If the name of your package is not the same as below, replace the package name in the command to your package name):
tar -zxf supermap-imanager-for-kubernetes-registry-all-10.2.0-linux-x64.tar.gz
-
Enter the directory that you unzipped:
cd supermap-imanager-docker-images
-
Install image registry:
sudo chmod +x startup.sh && sudo ./startup.sh
-
Verify. Execute the following command, if no error prompts, you have successful installed image registry. Replace the IP below by the actual IP of your machine.
sudo docker pull IP:5000/supermap/tiny-tools:latest
Install iManager
You need to open the port of “deployimanagerport”(the port is 31100 by default) in the values.yaml file, and open the port 6443, 9100, and 2049(open 2049 when using NFS for data storage). If you use Alibaba Cloud ECS Server, add the ports to safety group rules. What is more, please make sure the port 3307 and 9183 is available.
Execute all the commands by administrator permission:
-
Put the
supermap-imanager-for-kubernetes-10.2.0-linux-x64.tar.gz
package in any directory of Kubernetes master machine, and unzip(If the name of your package is not the same as below, replace the package name in the command to your package name):tar -zxf supermap-imanager-for-kubernetes-10.2.0-linux-x64.tar.gz
-
Enter the directory that you unzipped:
cd supermap-imanager-for-kubernetes
-
Execute the command to set iManager configurations:
sudo vi values.yaml
-
Modify the parameters:
Notes:
- The following configurations could only be set before starting, if you need any change, please execute
./startup.sh
after modifying. The Helm command to update the configuration, please execute ‘helm upgrade imanager ../supermap-imanager-for-kubernetes -n supermap’. - The configurations have default values, do not delete any configuration when modifying.
- The “Required” variables need to be modified by your actual environment. The “Optional” variables can keep in default, please do not delete the default values.
# Required. The iManager image registry address. The default address is Alibaba cloud registry: registry.cn-beijing.aliyuncs.com. If you install iManager on the extranet, we recommended to keep in default. # If you install iManager on the intranet, please refer to Install iManager Image Registry above to install the registry, and fill the blank by the format <IP>:5000, <IP> is the machine IP on which you installed the registry, for example, 192.168.17.133:5000. deploy_registry: registry.cn-beijing.aliyuncs.com # Required. The external IP which is used for visiting Kubernetes. The IP cloud be any one of the Kubernetes node machines. For example, 192.168.17.110. deploy_kubernetes_public_ip: # Required. The administrator account name, used for logging iManager, the account name is admin by default, modify the account name by your requirement. deploy_imanager_user_name: admin # Required. The administrator account password, used for logging iManager, the account password is admin by default, modify the account password by your requirement. deploy_imanager_password: admin # Required(Optional if you have configured deploy_storage_class_name). Your NFS Server address, NFS Server is using for iManager data storage, the address could be IP or domain name, for example, 192.168.17.150. Please refer to Install NFS Server above to install NFS Server. # If you are going to use NFS Server for data storage, it is necessary to install NFS Client on the node machines of Kubernetes. deploy_nfs_server: # Required. The mount path of NFS Server, the default mount path is /. Fills in the actual mount path of your NFS Server. If you installed NFS Server by the package we provided, fills in the mount path as: /opt/nfs_data. deploy_nfs_path: / # Optional. The URL of Kubernetes master node, the value is https://kubernetes.default.svc by default, keep in default if your environment is private cloud. # It is required to configure if your environment is public cloud, execute the command 'kubectl cluster-info' to get the URL, for example, https://192.168.17.110:6443. deploy_kubernetes_master_url: https://kubernetes.default.svc # Optional. The Kubernetes node IP which is mapped by GIS Cloud Suite domain name(the IP that configured in DNS Server), required to configure if your GIS Cloud Suite has a domain name. The value is using the first Kubernetes node IP by default. deploy_domain_ip: # Optional. The name of your StorageClass, used for storing the data of iManager. StorageClass and NFS Server(deploy_nfs_server) are used for storing iManager data, if you configured both of them, the data will be stored in NFS Server. deploy_storage_class_name: # Optional. The Kubernetes namespace, the value is supermap by default, you can define a name by your requirement. # It is required to create a namespace by the command when using Helm Command to install iManager. deploy_namespace: supermap # Optional. The image pull policy, choose one of these:[Always|Never|IfNotPresent], the value is IfNotPresent by default. # Always: Pull the latest images from registry. # Never: Use local images and nerver pull the images from registry. # IfNotPresent: Use local images first. If local images are unavailable, pull the images from registry. deploy_image_pull_policy: IfNotPresent # Optional. The image pull secret, used for identity authentication when pulling private images. You need to create a resource with the same name as the Secret in the namespace of Kubernetes. Please refer Tutorial > Appendix > FAQ Question 6 to see how to create the resource. deploy_image_pull_secret: # Optional. The name of namespace which stores images in registry, the default name is 'supermap', you can define the name by the requirement. deploy_image_namespace: supermap # Optional. The service type of iManager, fills in [NodePort|LoadBalancer], generally keep in default. # If your environment is public cloud, the value here is: LoadBalancer. deploy_service_type: NodePort # Optional. The service protocol of iManager, fills in [http|https], the value is http by default. deploy_imanager_service_protocol: http # Optional. Disable the log function of iManager or not, fills in [true|false], the value is false by default. # true: Disable the log function of iManager. # false: Do not disable the log function of iManager. deploy_disable_log: false # Optional. Disable the alarm fuction of iManager or not, fills in [true|false], the default is false. # true: Disable the alarm function of iManager. # false: Do not disable the alarm function of iManager. deploy_disable_alert: false # Optional. The number of CPUs of a service in iManager, the number is 2 by default. deploy_cpu_limit: 2 # Optional. The memory of a service in iManager, the memory should be larger than or equal to 4Gi, the memory is 4Gi by default. deploy_memory_limit: 4Gi # Optional. The image tag of iServer in iManager. deploy_iserver_tag: 10.2.0-amd64 # Optional. The image tag of iPortal in iManager. deploy_iportal_tag: 10.2.0-amd64 # Optional. The image tag of iDesktop in iManager. deploy_idesktop_tag: 10.2.0-amd64 # Optional. The image tag of iserver_gisapplication in iManager. deploy_gis_app_tag: 10.2.0-amd64 # Optional. The port of iManager, select the range between 30000-32767, except 31234, the default is 31100. If you define a port, make sure the port is different to others port setting. deploy_imanager_port: 31100 # Optional. Whether the license center is going to disable local storage, fills in [true|false], the value is false by default. When the value is true, you must configure either deploy_nfs_server or default_storage_class_name. # true: License center do not use local storage. # false: License center use local storage. deploy_disable_bslicense_local_volume: false # Optional. HBase capability optimization, fills in [true|false]. If you would not use HBase environment, keep in default. If you want to optimize built-in HBase, set the value to true, and refer Question 9 in Tutorial > Appendix > FAQ to create PV. deploy_disable_hbase_nfs_volume: false # Optional. The WeChat Work application's Token, required to configure when using Wechat alarm. Please refer to SuperMap iManager Documentation to configure the Wechat Work alarm. deploy_weixin_token: # Optional. The WeChat Work Company ID, required to configure when using Wechat alarm. deploy_weixin_corp_id: # Optional. The WeChat Work application's EncodingAESKey, required to configure when using Wechat alarm. deploy_weixin_encoding_aes_key: # Optional. The WeChat Work Department ID, required to configure when using Wechat alarm. deploy_weixin_to_party: # Optional. The WeChat Work application's AgentId, required to configure when using Wechat alarm. deploy_weixin_agent_id: # Optional. The WeChat Work application's Secret, required to configure when using Wechat alarm. deploy_weixin_api_secret: # Optional. The webhook of Dingtalk, required to configure when using Dingtalk alarm. Please refer to SuperMap iManager Documentation to configure the Dingtalk alarm. deploy_dingtalk_webhook: # Optional. The secret of Dingtalkk, required to configure when using Dingtalk alarm. deploy_dingtalk_secret: # Optional. The time zone of the system. Fill in the relative path in the directory /usr/share/zoneinfo/, such as Asia/Shanghai and America/New_York. deploy_timezone: Asia/Shanghai # Optional. Disable metrics server or not, metrics server is used for monitoring the resources of Kubernetes, fills in [true|false]. The value is false by default. # true: Disable the metrics server. # false: Do not disable metrics server. deploy_disable_metrics_server: false # Optional. Enable Service Mesh(Istio) or not, fills in [true|false], the value is true by default. # If you use the ARM package, the Service Mesh is unavailable and the variable does not exist. # true: Enable Service Mesh. # false: Disable Service Mesh. deploy_istio_enabled: true # Optional. Enable ingressageteway and egressgateway in Service Mesh(Istio) or not, fills in [true|false], the value is true by default. Takes effect only if deploy_istio_enabled is true. # If you use the ARM package, the Service Mesh is unavailable and the variable does not exist. # true: Enable ingressageteway and egressgateway. # false: Disable ingressageteway and egressgateway. deploy_istio_enable_ingress_egress: true # Optional. Enable kiali and tracing in Service Mesh(Istio) or not, fills in [true|false], the value is true by default. Takes effect only if deploy_istio_enabled is true. # If you use the ARM package, the Service Mesh is unavailable and the variable does not exist. # true: Enable kiali and tracing. # false: Disable kiali and tracing. deploy_istio_enable_kiali_tracing: true # Optional. The service type of ingressgateway in Service Mesh(Istio), fills in [NodePort|LoadBalancer], generally keep in default. Takes effect only if both deploy_istio_enabled and deploy_istio_enable_ingress_egress are true. # If you use the ARM package, the Service Mesh is unavailable and the variable does not exist. # If your environment is public cloud, the value here is: LoadBalancer. deploy_istio_ingress_service_nodetype: NodePort
- The following configurations could only be set before starting, if you need any change, please execute
- Save and quit the file.
-
Install iManager(Executing the following command in supermap-imanager-for-kubernetes directory):
There are two ways to install iManager, Linux command and Helm command, choose either of them.
Using Linux Command
sudo chmod +x startup.sh && ./startup.sh
Using Helm Command
6.1 Create a namespace which is named ‘supermap’(you can define the name of namespace, do not forget to change ‘supermap’ in next two steps to your defined name)
kubectl create ns supermap
6.2 Install iManager
helm install imanager ../supermap-imanager-for-kubernetes -n supermap
6.3 Check if iManager is installed successfully
helm list -n supermap
Visit iManager UI by the address
http://<ip>:31100 .
Replace<ip>
by the Master node IP of Kubernetes. If the value ofdeploy_imanager_service_protocol
ishttps
, the access address should behttps://<ip>:31100
.
The login account please refer to the administrator account information in values.yaml
Activate License
Click on Update on the License Center page, and follow the Operation Steps to activate the license (If you do not have the license, please apply the trial license on SuperMap official website).
Check the License Status after activating the license.
Appendix
1.Delete iManager
If you want to delete iManager environment, execute:
chmod +x shutdown.sh && ./shutdown.sh
If you want to completely delete iManager environment, execute:
chmod +x shutdown.sh && ./shutdown.sh -v
Using Helm command to delete iManager(the namespace and related environments will not be deleted):
helm uninstall imanager -n supermap