GAF安装部署-微服务架构下的云原生部署

GAF安装部署指南-微服务架构下的云原生部署

从上一篇文章《GAF简介-基于SuperMap GIS基础软件的GIS应用框架》我们知道SuperMap GAF分为社区版和企业版,本篇文章主要介绍如何安装部署GAF,帮助个人用户和企业用户快速上手熟悉相关操作。

一、安装包地址

①企业版

产品包已上传百度网盘,点击下载,提取码:gaf3

企业版GAF分为单机部署(单独部署)和基于iManager K8S(GAF for imanager)部署两个部署版本,两种部署模式均需进行相关许可配置操作。

②社区版

码云Gitee Relase 。

社区版GAF只有单机linux部署版本。单机linux部署完成后,没有许可配置步骤。

  • 注意:企业版的单机部署模式与社区版的单机部署模式高度相似,因此后文的安装步骤主要按照单机linux部署模式和基于iManager K8S部署两种模式详细展开描述,请用户注意区分。

二、安装步骤

2.1 模式一:单机linux部署

2.1.1 系统配置要求

①硬件

最低硬件要求:

  • 处理器:2.6 GHz 或以上
  • 内存:8 GB
  • 硬盘:20 GB
  • 网络适配器:系统安装有网络适配器

硬件推荐配置:

  • 处理器:8核,3.6 GHz 或以上
  • 内存:16 GB 或以上
  • 硬盘:80 GB 或以上
  • 网络适配器:200 M 或以上网络适配器

②软件

操作系统:

Linux操作系统(x86_64,x64,AMD64) :

  • CentOS 7.X

其他软件要求

  • docker (版本 20.xx.xx 及以上)
  • docker-compose (版本 1.29.x 及以上)

2.1.2 安装包目录结构和配置

├── base-data            包含所有数据库表结构和初始化数据
├── bin                  包含一些部署需要的函数
├── conf                 其下的GAF_ENV_CONFIG.env文件为配置文件,包括一些内存限制 数据库账号配置
├── config               基础配置文件
├── data                 一些中间件所需的数据
├── deploy.sh            部署脚本,包含一些部署命令, 通过执行命令 ./deloy.sh
├── docker-compose.yml   docker-compose部署yml定义
├── jobs                 部署过程中一次性任务脚本

其中,config为基础配置文件,内容如下:

#===========[基础配置]===========

# 容器挂载卷在主机的目录路径
GAF_VOL_DIR=/opt/SuperMap/GAF
# 单机容器环境的内网IP地址 (注意,若未修改,部署时自动修改为主机内网ip)
HOSTIP=localhost
# 数据库初始脚本【相对路径】
GAF_BASE_DATA_PATH=base-data

#===========[安装包部署配置]===========

# DOCKER镜像地址
GAF_REGISTRY=registry.cn-hangzhou.aliyuncs.com/supermap-gaf/
# DOCKER镜像TAG地址
GAF_REGISTRY_TAG=3.0.pro-beta

其中,conf目录下的GAF_ENV_CONFIG.env也是配置文件,包括Java启动参数、容器内存限制、数据库配置、SMTP邮箱设置等配置。

#Java启动参数
JAVA_OPTS="-Xms256m -Xmx448m -Djava.security.egd=file:/dev/./urandom"
#核心微服务组件容器内存限制
CORE_MEMORY_LIMIT=1024M
#部分非核心微服务组件容器内存限制
MEMORY_LIMIT=228M
#系统配置  
GAF_ENV_INIT_USERNAME=sys_admin
GAF_ENV_INIT_PASSWORD=123456
#数据库配置
GAF_ENV_DATASOURCE_DBNAME=gaf
GAF_ENV_DATASOURCE_URL=jdbc:postgresql://gaf-postgres:5432/gaf
GAF_ENV_DATASOURCE_DRIVER=org.postgresql.Driver
GAF_ENV_DATASOURCE_PASSWORD=123456
GAF_ENV_DATASOURCE_USERNAME=admin
#许可
GAF_ENV_BSLICENSE_SERVER=gaf-bslicense-server:9183
GAF_ENV_VERIFY=eNoNysEBwCAIA8CVCIjBcRBh/xHaex/tuLca5AISZFRQCuLr5sml0qQjxImTCaIu9wb9vIHJhhF9Kn2YFbopqauvjiFaM0b7D/p0LZnO0QlYPX1b9/RS1ujx3bchw3vCUDNPjN5v1wfX6iql
GAF_ENV_VERIFYFORCLIENT=eNoVjtERRUEExVrCclAOa/VfwrvvNzOZ5JrCyG/VZR0JDjSZil4cuzKiiLRzndqjn5Ygd/5sZAN5LU6u4DSR0TERSB9foJpd+yBJiXiOvQBpnXCnz1TZTXvgcVZuvQUq8xp5Zl0DSuV4tDAO7tDI6Y5YJsh+najX+XXsu1AGidQ8GoDCPLcieHt+RIU6Eg==
#工作流配置
GAF_ENV_GBPM_DATASOURCE_URL=jdbc:postgresql://gaf-postgres:5432/gaf-bpm
#seata配置
GAF_ENV_SEATA_DATASOURCE_URL=jdbc:postgresql://gaf-postgres:5432/gaf-seata
#storage配置
GAF_ENV_STORAGE_DATASOURCE_URL=jdbc:postgresql://gaf-postgres:5432/gaf-storage
#Redis配置
GAF_ENV_REDIS_HOST=gaf-redis-server
GAF_ENV_REDIS_PORT=6379
GAF_ENV_REDIS_PASSWORD=
#链路追踪服务配置
GAF_ENV_ZIPKIN_URL=http://gaf-zipkin:9411
#日志收集服务地址
GAF_ENV_FLUENTD_PORT=24224
GAF_ENV_FLUENTD_HOST=gaf-fluentd-es
#Elastic服务配置
GAF_ENV_ES_HOST=gaf-elasticsearch
GAF_ENV_ES_PORT=9200
#注册中心服务配置
EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE=http://gaf-microservice-rigister:8080/eureka/
#MongoDB数据库配置
GAF_ENV_MONGO_AUTH_DB=admin
GAF_ENV_MONGO_DB=gaf
GAF_ENV_MONGO_HOST=gaf-mongodb
GAF_ENV_MONGO_PASSWORD=123456
GAF_ENV_MONGO_PORT=27017
GAF_ENV_MONGO_USERNAME=admin
#MINIO账号密码
GAF_ENV_MINIO_USERNAME=admin
GAF_ENV_MINIO_PASSWORD=admin123456
#GAF访问地址
GAF_HOST=http://${HOSTIP}
#SMTP邮箱设置 如果有,可设置,用于系统邮件发送。
GAF_ENV_MAIL_HOST=
GAF_ENV_MAIL_PORT=
GAF_ENV_MAIL_USERNAME=
GAF_ENV_MAIL_PASSWORD=
#MQ配置
GAF_ENV_MQ_HOST=gaf-mq
GAF_ENV_MQ_PORT=5672
GAF_ENV_MQ_USERNAME=guest
GAF_ENV_MQ_PASSWORD=guest
#IPORTAL OAUTH
GAF_IPORTAL_PATH=
GAF_IPORTAL_CONFIG_ID=222

2.1.3 部署前准备

Linux CentOS7.5

Docker

安装:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
systemctl enable docker
systemctl start docker

验证:

docker ps

docker-compose

安装:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 或者 sudo curl -L "http://gaf.net.cn/download/gaf/software-package/docker-compose" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

验证:

docker-compose --version

2.1.4 执行脚本命令部署

在安装包下执行./deploy.sh获取帮助信息,如下

Usage:
        GAF应用部署脚本用法: ./deploy.sh [COMMANDS] [OPTIONS]

        COMMANDS命令:
        all                             部署GAF应用

        iserver                         部署iserver并挂载GAF存储

        remove                          删除GAF应用
        create                          部署GAF单个GAF应用
        recreate                        重新线上拉取镜像并部署单个GAF应用

        stop                            停止GAF应用容器
        start                           启动GAF应用容器
        restart                         重启GAF应用容器

        OPTIONS选项:
        -v                              执行删除命令时,如果存在持久化数据即删除,volume

        Example示例:
        ./deploy.sh all                          部署GAF应用
        ./deploy.sh remove && ./deploy.sh all             删除所有已部署的GAF应用,不删除数据,并重新以老数据部署
        ./deploy.sh remove -v && ./deploy.sh all          删除所有已部署的GAF应用并删除数据,完全重新部署
        ./deploy.sh remove -v <service>          删除指定的已部署GAF应用,并删除对应数据
        ./deploy.sh create <service>             部署指定的GAF应用
        ./deploy.sh recreate <service>           重新线上拉取镜像并部署单个GAF应用
        ./deploy.sh stop <service>               停止已部署的GAF应用容器
        ./deploy.sh start <service>              启动指定的GAF应用容器

使用./deploy.sh all 命令部署GAF。

使用./deploy.sh stop停止容器,使用./deploy.sh start 启动容器。

2.2 基于iManager K8S部署

2.2.1 准备 iManager K8S 部署

参考iManager K8S帮助文档,https://help.supermap.com/iManager_K8S/1021/zh/guides/getting-started/

注意,需要为GAF预留16GB的内存

2.2.2 部署配置

获取部署文件GAF.yml , 其中有如下配置,与单机linux部署包配置相似。

  #Java启动参数
  JAVA_OPTS: "-Xms512m -Xmx512m -Djava.security.egd=file:/dev/./urandom"
  #系统配置
  GAF_ENV_INIT_USERNAME: sys_admin
  GAF_ENV_INIT_PASSWORD: 123456
  #许可
  GAF_ENV_BSLICENSE_SERVER: bslicense-server.supermap:9183
  GAF_ENV_VERIFY: eNoNysEBwCAIA8CVCIjBcRBh/xHaex/tuLca5AISZFRQCuLr5sml0qQjxImTCaIu9wb9vIHJhhF9Kn2YFbopqauvjiFaM0b7D/p0LZnO0QlYPX1b9/RS1ujx3bchw3vCUDNPjN5v1wfX6iql
  GAF_ENV_VERIFYFORCLIENT: eNoNzMcRADEIBMGUMMKFg2CVfwh336maHjtuFNM9fFaS0y/ZkTOuNrLzht5dK4eyIkS0a7Xy9pFr8BecWWwEefH04o1z6K2u/y2hH/LM9WWRohZwVPvxxssN/iufZvVgdEcTbaET2jnWrQeWXRdM5YZe2YsZEUAPjR1zFSx0Ul2Mi3D7MYUL6Oc/3P09Xw==
  #数据库配置
  GAF_ENV_DATASOURCE_DBNAME: gaf
  GAF_ENV_DATASOURCE_URL: jdbc:postgresql://gaf-postgres:5432/gaf
  GAF_ENV_DATASOURCE_DRIVER: org.postgresql.Driver
  GAF_ENV_DATASOURCE_PASSWORD: 123456
  GAF_ENV_DATASOURCE_USERNAME: admin
  #工作流配置
  GAF_ENV_GBPM_DATASOURCE_URL: jdbc:postgresql://gaf-postgres:5432/gaf-bpm
  #seata配置
  GAF_ENV_SEATA_DATASOURCE_URL: jdbc:postgresql://gaf-postgres:5432/gaf-seata
  #storage配置
  GAF_ENV_STORAGE_DATASOURCE_URL: jdbc:postgresql://gaf-postgres:5432/gaf-storage
  #Redis配置
  GAF_ENV_REDIS_HOST: gaf-redis-server
  GAF_ENV_REDIS_PORT: 6379
  GAF_ENV_REDIS_PASSWORD:
  #链路追踪服务配置
  GAF_ENV_ZIPKIN_URL: http://gaf-zipkin:9411
  #日志收集服务地址
  GAF_ENV_FLUENTD_PORT: 24224
  GAF_ENV_FLUENTD_HOST: fluentd-es.supermap
  #Elastic服务配置
  GAF_ENV_ES_HOST: elasticsearch.supermap
  GAF_ENV_ES_PORT: 9200
  #注册中心服务配置
  EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE: http://gaf-microservice-rigister:8080/eureka/
  #MongoDB数据库配置
  GAF_ENV_MONGO_AUTH_DB: admin
  GAF_ENV_MONGO_DB: gaf
  GAF_ENV_MONGO_HOST: gaf-mongodb
  GAF_ENV_MONGO_PASSWORD: 123456
  GAF_ENV_MONGO_PORT: 27017
  GAF_ENV_MONGO_USERNAME: admin
  #MINIO账号密码
  GAF_ENV_MINIO_USERNAME: admin
  GAF_ENV_MINIO_PASSWORD: admin123456
  #GAF访问地址,SERVICE_IP会被替代为imanager的服务ip
  GAF_HOST: http://${SERVICE_IP}:31231
  HOSTIP: ${SERVICE_IP}
  #IMGR
  IMGR_PORT: 31100
  IMGR_ADMIN_USERNAME: admin
  IMGR_ADMIN_PASSWORD: admin
  IMGR_NAMESPACE_GAF: ${NAMESPACE}
  IMGR_APPSETID_GAF: ${appsetId}
  IMGR_URI_KEYCLOAK: imanager/dashboard/web/api/keycloak
  IMGR_URI_TOKEN: realms/imanager/protocol/openid-connect/token
  IMGR_URI_APPSET_LIST: imanager/dashboard/web/api/appsets/list
  IMGR_URI_USER: imanager/dashboard/web/api/users
  IMGR_URI_APPSETS_CREATE: imanager/dashboard/web/api/appsets/create
  IMGR_URI_APPSETS_K8S-OBJECTS: imanager/dashboard/web/api/appsets/{appsetId}/k8s-objects
  IMGR_URI_APPSETS_GRAFANA-URL: imanager/dashboard/web/api/appsets/grafanaUrl?appSetId={appsetId}
  IMGR_URI_APPSETS: imanager/dashboard/web/api/appsets/{appsetId}
  #SMTP邮箱设置
  GAF_ENV_MAIL_HOST:
  GAF_ENV_MAIL_PORT:
  GAF_ENV_MAIL_USERNAME:
  GAF_ENV_MAIL_PASSWORD:
  #MQ配置
  GAF_ENV_MQ_HOST: gaf-mq
  GAF_ENV_MQ_PORT: 5672
  GAF_ENV_MQ_USERNAME: guest
  GAF_ENV_MQ_PASSWORD: guest
  #IPORTAL OAUTH
  GAF_IPORTAL_PATH:
  GAF_IPORTAL_CONFIG_ID: 222

2.2.3 模式二:在iManager K8S上部署GAF

①在iManager菜单站点定制下的站点模板,添加编排文件GAF.yml,如下图所示,分组可暂时选择已有的数据库。

GAF安装部署-微服务架构下的云原生部署_第1张图片

②在站点管理创建站点 gaf3beta (可自定义名称),站点类型选择上一步添加的站点模板gaf。点击确定。

GAF安装部署-微服务架构下的云原生部署_第2张图片

③创建后点击站点gaf3beta,如下图所示。

GAF安装部署-微服务架构下的云原生部署_第3张图片

④可查看拓扑图,查看部署情况。若绿点全部亮起,则部署成功。

GAF安装部署-微服务架构下的云原生部署_第4张图片

⑤点击账户按钮获取初始用户密码。

GAF安装部署-微服务架构下的云原生部署_第5张图片

三、许可配置

3.1 许可简介

SuperMap 包含普通许可、云许可、Web 许可等3种许可,这几种许可各有特点,获取和使用方式亦不尽相同,分别适用于不同的应用场景。GAF企业版目前采用Web许可模式。

3.2 Web许可激活

单机部署的企业版GAF,已经部署了Web许可中心,地址是 ${主机ip}:9183。第一次进入,注册账号然后登录,如下图所示。

GAF安装部署-微服务架构下的云原生部署_第6张图片

基于iManager K8S部署的企业版GAF,已经存在了Web许可中心,如下图所示。

GAF安装部署-微服务架构下的云原生部署_第7张图片

许可申请

在Web许可中心中,选择更新激活,下载报告,然后根据提示的操作流程完成许可激活。

GAF安装部署-微服务架构下的云原生部署_第8张图片

注意1:申请试用许可,需要注册 SuperMap Online 账户后即可申请。新申请页面,https://www.supermapol.com/subscription/time-license/object。

注意2:产品系列选择10i(web) , 许可适用产品 可全选, 加密方式选择运行报告(即在Web许可中心下载的*.reportc文件)

GAF安装部署-微服务架构下的云原生部署_第9张图片

注意3:若是试用许可,导入时按套导入即可。

你可能感兴趣的:(GAF,云原生,架构,微服务,gis,kubernetes)