应用分享 | Gravitee-Gateway API网关

快速安装方式

gravitee-gateway 应用已分享到Rainbond公有应用市场,通过市场同步即可一键安装。

应用制作时的部署步骤

  • 第一步:确定部署方式,gravitee-gateway官方提供Docker镜像,基于镜像安装即可。

  • 第二步:分析第三方服务依赖,经过查看官方文档可知其依赖两个服务,分别是:
    1: mongo服务,默认连接地址127.0.0.1:27017
    2: elasticsearch服务,默认连接地址127.0.0.1:9200
    正好,这两个服务已存在于Rainbond公有云市场中,一键安装即可。

  • 第三步:Rainbond平台部署
    1. 通过应用市场安装Mongo服务
    2. 通过应用市场安装elasticsearch服务
    3. 通过Docker镜像安装gravitee-gateway, 镜像名称:graviteeio/gateway:latest
    注意:镜像比较大,如果检测时获取失败只需要重新检测即可。检测通过后选择 先创建不启动,随即进入服务管理页面,调整内存为1G, 建立依赖 上述两个服务,完成设置后构建并启动。

等候服务构建完成,服务已经可以正常工作,访问默认域名即可得到如下结果:

Rainbond平台运行组件拓扑:

2 Likes

经测试,单独gravitee-gateway部署正常。但该应用是有5个镜像组成
elasticsearch-6 正常部署
mongodb-org-4 正常部署
graviteeio-gateway正常部署
graviteeio-management-api 部署失败
graviteeio-management-ui 正常部署

继上个版本发布后,我们继续为 Gravitee-Gateway增加组件 graviteeio-management-api,graviteeio-management-ui 。运行效果如下:


操作步骤:

添加组件graviteeio-management-api

我们同样采用基于镜像的方式创建服务,按照上诉描述的在Rainbond上创建服务的基本流程进行,这里我们再重述一遍:

  1. 分析graviteeio-management-api的依赖服务情况和配置方式
    经过查询文档和配置文件可知,management-api 依赖mongoDB和elasticsearch, 当然肯定是与之前安装的gateway组件使用相同的两个依赖服务。
    同时我们分析配置文件,查询后有一个关键点需要修改,那就是elasticsearch的服务地址和账号密码。默认的配置文件是未启用账号密码验证的,服务地址默认的也是127.0.0.1:9300,这个地址与我们创建的elasticsearch服务信息不符。 elasticsearch正确的访问地址应该是127.0.0.1:9200。基于上诉问题我们需要做两个设置:
    1.1 设置已经安装服务elasticsearch的端口别名属性,将9200端口的别名更改为GRAVITEEIO_ELASTIC


    1.2 准备一个management-api默认配置文件,并将其下面展示的两个配置片段修改,其他部分根据你的需要修改了。
    注意:其他部分省略了

         analytics:
             type: elasticsearch
             elasticsearch:
                 endpoints:
                     - http://${ds.elastic.host}:${ds.elastic.port}
                 index: gravitee
                 security:
                     username: ${ds.elastic.username}
                     password: ${ds.elastic.password}
         ds:
             mongodb:
                dbname: gravitee
                host: ${GRAVITEEIO_MONGODB_HOST:localhost}
                port: ${GRAVITEEIO_MONGODB_PORT:27017}
            elastic:
                host: ${GRAVITEEIO_ELASTIC_HOST:localhost}
                port: ${GRAVITEEIO_ELASTIC_PORT:9300}
                username: ${ELASTICSEARCH_USERNAME:elastic}
                password: ${ELASTICSEARCH_PASSWORD:MagicWord}
    

1.3 基于镜像创建服务 graviteeio/management-api:1.23.0 创建后先不启动,添加存储配置:
其中配置文件内容用上面我们准备的内容:


添加服务依赖:

1.4 完成设置后构建启动。

添加组件graviteeio-management-ui

这个组件比较简单,它只依赖graviteeio-management-api 服务,创建后最关键的一点是设置api的地址,且地址必须是公网可访问的地址。
1.1 基于镜像创建服务 “graviteeio/management-ui:1.23.0”
1.2 设置环境变量设置API访问地址

直接基于应用市场安装。

最新的应用已分享Rainbond应用市场,同步后一键安装即可。