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

有用过 spring cloud kubernetes 的 v 友吗 想交流一下使用经验

  •  
  •   kd9yYw2RyhQwAwzn · 2023-09-13 10:32:32 +08:00 · 1698 次点击
    这是一个创建于 466 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前公司有一套 springcloud 项目部署在 k8s 上 版本是 2.1.3.RELEASE Greenwich.SR3 JDK1.8

    服务发现的中间件用的是 nacos ,稍微有点不满意的地方是当节点发生异常重启后 nacos 集群会发生脑裂,翻看了好多 issues 也没有找到一个好的解决方案 又受限于 springboot 跟 cloud 的版本 不能升级 nacos

    最近将服务发现由 nacos 切换到了 spring cloud kubnernetes 在测试环境部署发现用着还可以 所以想咨询一下大家有没有用到过这个 有没有什么暗坑

    14 条回复    2023-09-13 20:31:10 +08:00
    liminany1
        1
    liminany1  
       2023-09-13 11:30:36 +08:00 via Android
    nacos 不是多节点自动负载均衡的吗?
    yimiaoxiehou
        2
    yimiaoxiehou  
       2023-09-13 11:41:50 +08:00
    @liminany1 nacos 有 bug ,宕机重启有一定几率集群出故障
    yimiaoxiehou
        3
    yimiaoxiehou  
       2023-09-13 11:42:20 +08:00
    kubnernetes 的负载均衡是基于 dns 的,理论上没啥问题
    anubu
        4
    anubu  
       2023-09-13 11:46:23 +08:00
    同样的结构,请教一下配置是如何处理的。我们的环境 Nacos 同时作为配置中心,想清理掉 Nacos ,还不清楚配置要如何处理,如果还要部署其它配置中心,清理 Nacos 的意义就不太大了。
    liminany1
        5
    liminany1  
       2023-09-13 12:01:49 +08:00 via Android
    不太明白你的问题点在哪里?
    nacos 有 bug ,然后 nacos 会挂掉,然后导致其他应用节点出问题? 这样的话应用肯定会短暂挂起,但应用本身应该有重连机制吧?

    我说的是 nacos 可以有多个节点,一个挂另一个生效,对应用那边使用的是域名应该是无感知的呀?不会受影响
    liminany1
        6
    liminany1  
       2023-09-13 12:04:36 +08:00 via Android
    @anubu 配置那就要移动应用代码端了,容器的话配置可以配环境变量,会覆盖配置文件里面的配置。
    kd9yYw2RyhQwAwzn
        7
    kd9yYw2RyhQwAwzn  
    OP
       2023-09-13 13:11:09 +08:00
    @liminany1 nacos 的节点重启后 会存在集群节点之前数据不同步的问题 这样就导致 nacos 集群中每个节点的 service 实例数量不一致 进而导致服务间调用会出现没有实例的问题 并且除了逐个重启之外没啥别的办法
    kd9yYw2RyhQwAwzn
        8
    kd9yYw2RyhQwAwzn  
    OP
       2023-09-13 13:11:43 +08:00
    @anubu 配置打算继续用 nacos 了
    agzou
        9
    agzou  
       2023-09-13 13:57:29 +08:00   ❤️ 1
    spring cloud k8s 也可以作为配置中心,新增一个和服务同名的的 config map 就可以了,我们用来替换 nacos ,服务发现没什么问题,但是作为配置中心,配置刷新似乎有点问题,修改配置没有自动刷新,需要手动重启,这个问题也没有仔细取查,暂不影响。
    winglight2016
        10
    winglight2016  
       2023-09-13 14:37:25 +08:00
    都部署在 k8s 上了,还用 nacos 干吗?我们自己基于 etcd 开发了一个配置中心,也没费多少功夫
    kd9yYw2RyhQwAwzn
        11
    kd9yYw2RyhQwAwzn  
    OP
       2023-09-13 15:27:25 +08:00
    @winglight2016 历史包袱太重了 公司也没重构的打算 服务发现的话 你们用了什么方案呀
    me1onsoda
        12
    me1onsoda  
       2023-09-13 16:27:31 +08:00
    都 k8s 了,还搞 spring cloud 这套垃圾?
    tudou1514
        13
    tudou1514  
       2023-09-13 18:16:20 +08:00
    k8s 的话可以不要服务发现,你可以理解 svc 就是服务发现
    winglight2016
        14
    winglight2016  
       2023-09-13 20:31:10 +08:00
    @kd9yYw2RyhQwAwzn k8s 里的 service 地址是固定的,不再需要服务发现了,前面的回复已经说了,用了 k8s,spring cloud 已经没什么价值了

    反过来看,还在用 spring cloud 的情况下,就不要用 k8s ,免得互相冲突
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   946 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:21 · PVG 03:21 · LAX 11:21 · JFK 14:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.