【问题标题】:Apama Docker Container, passing values from outside the container to config.evt fileApama Docker 容器,将值从容器外部传递到 config.evt 文件
【发布时间】:2019-07-26 09:43:29
【问题描述】:

我有一个使用自定义插件连接到 Kafka Broker 的 Apama 项目。当我们启动 Apama 项目时,我使用 .evt(事件)传入配置值,例如代理 url。我使用 engine_deploy 创建项目的可部署结构,当启动相关器时,我使用 –config 标志来运行已部署的代码版本。

我想创建 Apama 项目的 Docker 映像,以便我可以将 Kafka Broker URL 之类的值作为参数传递到我的 Docker 映像中,并希望在 Docker 映像开始使用时被 .evt(事件)文件获取相同的部署结构。请让我知道实现 Apama Docker 映像参数化的最佳方法是什么。

亲切的问候,

阿德南

【问题讨论】:

  • 您为 apama 使用了哪个 docker 镜像?
  • 我使用 store/softwareag/apama-builder:10.3 作为基础镜像

标签: docker dockerfile apama


【解决方案1】:

我有一种感觉,您可能会混淆概念,但有一些方法可以让两者都发挥作用。

对于您所描述的现代自定义 Apama 应用程序,使用 OS 环境变量(并使用管理插件从 EPL 读取它们)[1] 或关联器属性 YAML 文件和命令行替换可能会更正常-Dkey=value(并使用管理插件的不同方法从 EPL 中读取它们)[2]。 这些是过去几年中最近的(ish)添加。当然,您可以选择保留现有的 evt 配置代码,然后简单地添加一个额外的监视器来读取其他机制之一,并在内部发送事件以及现有侦听器获取的信息。

我们过去也发表过一篇博文[3],展示了如何将“秘密”传递给 Docker 和 Kubernetes,同样的技术也适用于配置(秘密是一种特殊的配置)。

链接:

  1. 读取环境变量: 用于管理插件的 ApamaDoc 以读取“/info”类别: https://documentation.softwareag.com/onlinehelp/Rohan/Apama/v10-3-1/apama10-3-1/ApamaDoc/com/apama/correlator/Component.html#getInfo()

REST API 显示感兴趣的路径是“envp”: https://documentation.softwareag.com/onlinehelp/Rohan/Apama/v10-3-1/apama10-3-1/rest/correlator.html#infoEnvpGet

  1. 读取相关器属性(命令行替换、文件和 ApamaDoc 参考):

https://documentation.softwareag.com/onlinehelp/Rohan/Apama/v10-3-1/apama10-3-1/apama-webhelp/#page/apama-webhelp%2Fre-DepAndManApaApp_starting_the_correlator.html%23

https://documentation.softwareag.com/onlinehelp/Rohan/Apama/v10-3-1/apama10-3-1/apama-webhelp/#page/apama-webhelp%2Fco-DepAndManApaApp_using_properties_files.html%23wwconnect_header

https://documentation.softwareag.com/onlinehelp/Rohan/Apama/v10-3-1/apama10-3-1/ApamaDoc/com/apama/correlator/Component.html#getConfigProperties()

  1. Docker/K8S 秘密和配置博客文章: http://www.apamacommunity.com/passing-secrets-to-the-correlator-with-docker-and-kubernetes/ 产品中还分发了一个示例,位于 samples/docker/applications(秘密示例)

凯夫

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-22
    • 2020-06-23
    • 1970-01-01
    • 1970-01-01
    • 2021-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多