在 Kubernetes/OpenShift 中运行 Kafka Connect Workers,而无需通过 REST



我想在OpenShift上运行Kafka connect workers。我想使用 OpenShift 来(自动)横向扩展。但是,如果连接器配置通常在启动后通过 REST 调用手动提供给特定工作线程,我不清楚如何传递连接器配置。

因此,问题是是否可以在没有 REST 调用的情况下在启动时向工作线程提供连接器的完整规范。

在没有 REST 调用的启动时

不,不是。请参阅我为其创建的问题。

但是,您只需使用 REST 加载一次连接器配置。辅助角色配置完全由环境变量驱动,缩放辅助角色不需要发布新的连接器配置来缩放它们,除非你确实想要增加tasks.max例如。但是无论如何,您都可以将其作为 Kafka 分区的数量开始,这是您对 Connect 的限制,即使只有一个工作线程。

我个人认为您可以使用一些模板将信息注入kafka pods,例如deploymentConfigstatefulsetdaemonset等。

例如,以下链接解释了一个 ruby 应用程序如何通过注入环境变量来获取 mysql 连接信息。

  • 为外部数据库定义服务

      env:
        -
          name: "MYSQL_USER"
          value: "${MYSQL_USER}" 
        -
          name: "MYSQL_PASSWORD"
          value: "${MYSQL_PASSWORD}" 
        -
          name: "MYSQL_DATABASE"
          value: "${MYSQL_DATABASE}" 
    

像上面的例子一样,你应该启动一些wrapper start scriptbinary of related application,这些或是通过获取连接信息来配置的environment variables

相关内容

  • 没有找到相关文章

最新更新