Kong 以无数据库模式重启

Kong reboot in DB-less mode

在 docker 容器中以无 DB 模式使用 Kong。试图弄清楚我们是否可以将它用作我工作的公司的网关。我目前将一个本地文件夹安装到我的 docker 容器上,并在它启动时将 kong.yaml 文件的路径传递给 kong。当我需要更新配置时,我对 /config 端点执行 POST

到目前为止一切都很好。

但是,我担心的是,我应该如何处理 Kong 重启?我拥有的配置将在来自 PostGre 数据库的单独微服务中生成。

Kong 将 运行 作为我们 Kubernetes 集群中的 Ingress 控制器。我可以做的一件事是公开一个端点,该端点根据我在 PostGre 中的数据生成 kong.yml 配置文件。 Kong 可以在启动时达到这一点。我想我可以让它成为它的启动命令的一部分。

无论如何,这看起来有点像 hack。我想知道,是否有任何最佳实践。我敢肯定其他人之前也遇到过这个问题:-)

谢谢!

回答

在 Kubernetes 上配置 Kong 是通过 Kubernetes 本机资源(例如 Ingress)和 Kong Custom Resources(例如 KongConsumer、KongPlugin、KongIngress)完成的。

Kong Ingress Controller 将根据通过 Kubernetes API 服务器对这些资源的更改进行所有必要的更改。

附加信息

我强烈建议您完成这些 guides。它们内容全面且具有很高的教育意义。

确保密切关注来自 Kong Ingress Controller pod 的日志,因为这会告诉您它是否已根据这些资源成功协调更改。

也可以随意查看这个 project 我们通过集群上的 REST API 微服务管理 Kong CR。