通过 INFINI Console 集中管理极限网关配置

之前有做过介绍实现极限网关(INFINI Gateway) 配置动态加载,这是一个 Gateway 实例的操作,直接在服务器上修改配置文件。如果有多个 Gateway 实例需要调整,登录多台主机修改配置文件就有些繁琐,有没有简便的方法呢?

答案是: 当然有!

INFINI Gateway 有配套的管理页面,那就是 INFINI Console

Gateway 注册到 Console 后,就可以在如下的页面上进行管理。

其中 Config 可以查看到当前 Gateway 的配置。

当然不止有查看功能,也可以在这里修改配置,然后下发给 Gateway。

要实现这一功能,需要有相应的配置。

  1. 需要将下发的配置进行存储(存到 Console 的系统集群索引 .infini_configs 中)
python 复制代码
PUT .infini_configs/_doc/gateway_proxy_yml
{
  "payload": {
    "content": """
entry:
  - name: my_es_entry
    enabled: true
    router: my_router
    max_concurrency: 200000
    network:
      binding: 0.0.0.0:8000

flow:
  - name: simple_flow
    filter:
      - http:
          schema: https
          host: 192.168.0.102:9200

router:
  - name: my_router
    default_flow: simple_flow""",
    "version": 1,
    "name": "gateway_proxy.yml"
  },
  "metadata": {
    "labels": {
      "instance": "_all"
    },
    "category": "app_settings",
    "name": "gateway"
  },
  "id": "gateway_proxy_yml"
}
字段 是否必须 说明
payload.content 具体的 Gateway 配置
payload.version 当前配置的版本,用于确认是否同步配置
payload.name 配置下发后落地的文件名
metadata.labels 配置标签,instance: _all 表明所有 Gateway 实例都可以同步该配置
metadata.category 配置属于应用配置,Gateway 应填写 app_settings
metadata.name 配置属于哪类应用,可选 gateway、agent
id 配置 ID
  1. 配置 Gateway
yaml 复制代码
env:
  CONFIG_SERVER: http://192.168.0.102:9000

path.data: data
path.logs: log
path.configs: config # directory of additional gateway configurations

configs:
  auto_reload: true # set true to auto reload gateway configurations
  #for managed client's setting
  managed: true # managed by remote servers
  panic_on_config_error: false #ignore config error
  interval: "10s"
  servers: # config servers
    - $[[env.CONFIG_SERVER]]
  soft_delete: false
  max_backup_files: 5

api:
  enabled: true
  network:
    binding: 0.0.0.0:2900

配置中心参数详情请查阅文档

  1. 创建额外配置存储目录并启动 Gateway。
bash 复制代码
mkdir config
./gateway-mac-amd64

从日志中,可以看到 Gateway 已经注册到配置管理,获取到 gateway_proxy.yml,然后配置重新加载。

通过 Console 的 Gateway 配置管理页面查看下发的配置:

在页面上调整配置,点击 Save 保存。

注:更新完配置后,需同时增大配置的版本号(MANAGED_CONFIG_VERSION)。

从 Gateway 日志中可以看到,配置文件进行了同步并应用。

相关推荐
车载诊断技术43 分钟前
电子电气架构 --- 汽车面对软件怎么“破局“?
数据库·人工智能·架构·汽车·电子电器框架·汽车面对软件怎么破局·智能电动汽车概述
橙子家1 小时前
Redis 持久化机制简介【Redis 系列之三】
数据库
SecPulse1 小时前
xss注入实验(xss-lab)
服务器·前端·人工智能·网络安全·智能路由器·github·xss
XU磊2601 小时前
告别 ResultSet 的烦恼:使用 Apache DBUtils 和 ArrayList 优化数据管理
java·数据库·mysql·apache·database
master-dragon2 小时前
缓存及其问题解决
数据库·缓存
954L3 小时前
docker安装milvus向量数据库&Attu可视化界面
数据库·docker·milvus·attu
SelectDB3 小时前
MiniMax GenAI 可观测性分析 :基于阿里云 SelectDB 构建 PB 级别日志系统
大数据·数据库·aigc
专注_每天进步一点点3 小时前
Redis客户端Jedis、Lettuce 和 Redisson优缺点总结
数据库·redis·缓存
果冻kk3 小时前
【宇宙回响】从Canvas到MySQL:飞机大战的全栈交响曲【附演示视频与源码】
java·前端·数据库·spring boot·mysql·音视频·html5
踩踩踩从踩3 小时前
Tengine:高性能Web 服务器与反向代理
运维·服务器·前端