V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cmai
V2EX  ›  Kubernetes

关于 nodeport 和 kafka 的一个问题

  •  
  •   cmai · 2023-03-10 10:19:46 +08:00 · 1160 次点击
    这是一个创建于 622 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 k8s 里部署了一套 kafka , 需要对他创建外部的访问地址, 所以用的是 nodeport 的方式, 但是问题在于我想让这个端口不是固定的,而 kafka 的配置 KAFKA_CFG_ADVERTISED_LISTENERS ,这里是固定了 IP 和端口去注册到 zk 的, 有没有兄弟可以提供下思路

    3 条回复    2023-03-10 12:17:12 +08:00
    SKYNE
        1
    SKYNE  
       2023-03-10 10:42:52 +08:00   ❤️ 1
    参考: https://artifacthub.io/packages/helm/bitnami/kafka
    他的实现思路是专门启动了一个容器,获取对应的 nodeport 端口,然后将对应的信息写入共享的文件中
    看起来实现还是挺复杂的
    cmai
        2
    cmai  
    OP
       2023-03-10 11:42:42 +08:00
    @SKYNE ok ,我先看下,我们用的 kafka 镜像也是基于这个 bitnami 的

    我们的场景是这样:
    1. 用户在我们这里部署了一套 kafka
    2.用户需要外部访问连接来访问 kafka(本地测试用),并且外部访问连接是有时效性(24H/48H 到期),可以随意创建 /删除外部访问连接

    我们现在解决的两种方案(都有问题)
    1. 用户在部署 kafka 时,就先创建好 nodeport ,当他需要时就开放给他,当到期时就让 nodeport 暂时失效 , 缺点是创建的连接个数在部署时就已经确定了
    2.用户在部署后,创建外部连接时,我们创建 nodeport 的同时,去 zk 里把 kafka 注册的信息修改一下,缺点是 kafka 一旦重启,注册的信息会重置
    SKYNE
        3
    SKYNE  
       2023-03-10 12:17:12 +08:00
    那这场景比较复杂,
    [随意创建 /删除] 可以考虑在初次创建时只能选择是否启用,这样逻辑不就简单点了吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1756 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 00:00 · PVG 08:00 · LAX 16:00 · JFK 19:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.