You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Insomnia生成的OpenAPI YAML配置到K8s部署的Kong OSS?

配置Insomnia生成的OpenAPI YAML到Kubernetes上的Kong OSS

核心结论:无需容器化OpenAPI文件

OpenAPI属于配置文件范畴,不需要打包成镜像或创建Deployment,直接通过以下两种主流方案即可完成配置:


方案1:通过Kubernetes自定义资源(CRD)直接配置

Kong在K8s集群部署完成后,会自动安装一系列CRD(如KongService、KongRoute、KongPlugin),你可以通过这些资源映射OpenAPI定义:

  • 手动转换:将OpenAPI中的接口规则、后端服务信息,分别映射为KongService(指向你的业务服务)和KongRoute(配置路径、HTTP方法等),编写成YAML后执行kubectl apply -f <file.yaml>完成部署。
  • 自动转换:使用Kong CLI的kong openapi ingress generate命令,将你的OpenAPI YAML直接转换成带Kong专属注解的K8s Ingress资源,再通过kubectl apply部署。

方案2:使用decK CLI同步配置

decK是Kong官方的配置管理工具,无需部署到K8s集群内部,只要你的本地/远程机器能访问K8s API Server和Kong Admin API即可操作:

  1. 安装decK到本地机器(或任意可连通目标集群的机器)
  2. 初始化配置文件:执行deck init生成kong.yaml
  3. 导入OpenAPI定义:执行deck file add openapi --spec your-openapi.yaml,工具会自动将OpenAPI格式转换成decK兼容的配置结构
  4. 连通Kong Admin API:可通过端口转发临时暴露服务(kubectl port-forward service/kong-admin 8001:8001),或者直接使用集群内的Kong Admin Service地址(如果机器能访问集群网络)
  5. 同步配置:执行deck sync,decK会自动将配置推送到Kong实例,保持集群内Kong配置与本地定义一致

decK的替代方案

如果不想使用decK,还有两种可选方式:

  • KongGatewayConfiguration CRD:创建一个KongGatewayConfiguration资源,将OpenAPI YAML内容填入spec.openapi字段,执行kubectl apply部署后,Kong Ingress Controller会自动同步配置到Kong。
  • 直接调用Admin API:用curl等工具将OpenAPI YAML提交到Kong Admin API的/services/{service-name}/spec端点(需先创建对应Service),但这种方式无版本控制,仅适合测试场景。

内容的提问来源于stack exchange,提问作者yeshwanth b

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 09:07:33