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

K8S API 网关用哪个比较好? ALB ingress controller 还是 APISIX 还是 KONG

  •  1
     
  •   aljun · 249 天前 · 3202 次点击
    这是一个创建于 249 天前的主题,其中的信息可能已经有所发展或是发生改变。

    楼主目前有一个 EKS ,想要提供 API 服务,目前走的默认的 aws ingress controller ( https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.6/)

    但看了看 APISIX ,KONG 等方案貌似有完善的监控和控制方案,而且速度看上去还可以

    想问问各位目前大家线上走的是什么方案呢?

    有没有其他什么推荐呢?

    65 条回复    2023-08-30 11:59:49 +08:00
    darksheep9527
        1
    darksheep9527  
       249 天前
    插眼 apisix 据说性能更好 另外文档有中文 kong 似乎一眼看过去没找到中文文档
    aljun
        2
    aljun  
    OP
       249 天前
    @darksheep9527 关键是能解决多少问题,我倒不介意文档语言(当然文档写得好,写的全面很重要)
    darksheep9527
        3
    darksheep9527  
       249 天前
    @aljun #2

    解决多少问题上面
    我个人经验技术浅薄也不清楚你需求不太发表的了建议
    看评论区其他大佬补充了

    不过个人使用来看一点感受就是
    apisix 的 issue 响应速度还挺快的
    他们还有专门的看板来标记 issue 的状态是 in projess 还是 done 这样 这个我个人觉得算是挺不错的优点

    但是从社区反馈来看 apisix 有个缺点就是 apisix 的 dashboard 没有太跟的上 apisix 的更新
    lopssh
        4
    lopssh  
       249 天前 via Android
    apisx
    aljun
        5
    aljun  
    OP
       249 天前
    @darksheep9527 dashboard 其实是很重要的一个点,kong 如何?
    aljun
        6
    aljun  
    OP
       249 天前
    @lopssh 优势是?
    Casbin
        7
    Casbin  
       249 天前
    API 网关用 CasWAF: https://github.com/casbin/caswaf 自带 dashboard Web UI ,所有操作均可用 dashboard 实现。自带单点登录和鉴权
    darksheep9527
        8
    darksheep9527  
       249 天前
    @aljun #5 刚刚打开 apisix-dashboard 的 issue 列表看了一眼 好多 bug label lol
    aljun
        9
    aljun  
    OP
       249 天前
    @Casbin k8s 好用吗?
    aljun
        10
    aljun  
    OP
       249 天前
    @darksheep9527 所以靠谱不。。。?
    tramm
        11
    tramm  
       249 天前
    Apinto
    specture
        12
    specture  
       249 天前   ❤️ 1
    没有深度使用,但是从近期测试评估来看,apisix 的代码质量有很长的路要有。给人的感觉是 feature 很多,插件很多,但是 bug 也很多。近期遇到的 openid-connect 的 bug ,go-plugin-runner 的 bug 调了很久,最后一看 issue 都是还是 open 中的 bug... kong 没有仔细评估过
    salmon5
        13
    salmon5  
       249 天前
    别用 kong ,相当坑
    bingfengfeifei
        14
    bingfengfeifei  
       249 天前
    我们在用 APISIX 做二次开发,还没有上线。
    但是就本地轻度使用就遇到了很多 BUG 。
    1.一条 HTTP 流量二次进入插件的问题,甚至重启,删除插件都解决不了,清空 ETCD 重新建立才解决,应该是某个流程有泄漏。
    2.HTTPS 流量,一段时间后全部 500 ,应该是 3.4.0 最新版本引入的,ISSUE 上面已经有跟踪了,但是一个多月了没有解决。目前是回退版本规避
    3.解耦部署出现 ETCD 更新后,数据平面不同步的问题,偶现。

    用起来的感受就是特性很多,就是会出现一些非必现莫名其妙的问题。

    我还用过国产的 k8s 网络插件 kube-ovn ,感觉也是同样的路数,特性非常喜人,但是基本盘,稳定性会出现莫名其妙的致命问题。
    hui9000
        15
    hui9000  
       249 天前
    最近也有这类需求,关注一下
    artnowben
        16
    artnowben  
       249 天前
    nginx 开发门槛很高,国内能做好 nginx 的人不多。

    可以看下 bfe ingress ,稳定性应该不用担心
    orangeD
        17
    orangeD  
       249 天前
    @salmon5 kong 有啥坑啊?
    darksheep9527
        18
    darksheep9527  
       249 天前
    @specture 哈哈哈哈 最近也在折腾 openid-connect 你遇到的是什么坑啊
    chaleaochexist
        19
    chaleaochexist  
       249 天前
    @darksheep9527 #3
    我补充下 3 楼
    kong 的 dashboard 是付费的...
    tudou1514
        20
    tudou1514  
       249 天前
    推荐 apisix 、higress
    AmaQuinton
        21
    AmaQuinton  
       249 天前
    推荐 kong ,挺好用的
    leopoldthecuber
        22
    leopoldthecuber  
       249 天前
    Kong 官方的免费 dashboard: https://github.com/Kong/kong-manager
    aljun
        23
    aljun  
    OP
       249 天前
    @tramm 这个有哪些采用了吗?
    aljun
        24
    aljun  
    OP
       249 天前
    @specture 有很多坑吗?感觉这种核心的路径有坑是不是很难修?
    aljun
        25
    aljun  
    OP
       249 天前
    @bingfengfeifei 那岂不是非常坑,而且这种核心路径的坑是不是很难修复?
    aljun
        26
    aljun  
    OP
       249 天前
    @leopoldthecuber 上面不是说付费的吗?
    ljf
        27
    ljf  
       249 天前
    apisix ,gloo
    zed1018
        28
    zed1018  
       249 天前
    emm ,就没有人用 traefik 吗
    leopoldthecuber
        29
    leopoldthecuber  
       249 天前
    @aljun 上周之前还是只有企业版才有 dashboard ,现在社区版也有了
    aljun
        30
    aljun  
    OP
       249 天前
    @ljf 不是说 bug 很多吗?
    aljun
        31
    aljun  
    OP
       249 天前
    @AmaQuinton 赞,bug 多吗?
    cdlnls
        32
    cdlnls  
       249 天前
    用过几天的 apisix ,可能是我使用方式有问题(没有在 k8s 中运行,使用的单机部署),总感觉并不是很靠谱,有些插件有些奇怪的问题。
    wzcloud
        33
    wzcloud  
       249 天前 via iPhone
    要不试一下 higress ,阿里去年开源的……
    看官方介绍可以对接 istio
    phantomzz
        34
    phantomzz  
       249 天前
    请教下大家,k8s 中部署 apisix ,Prometheus 如何发现 apisix 的 metrics endpoint ?
    winglight2016
        35
    winglight2016  
       249 天前
    我们在用 apisxis ,它的 dashboard 有巨大 bug ,根本没法用,所以自己开发了路由配置模块

    我们就是因为免费的 kong 没有 dashboard ,所以选了 apisix ,结果还是没用到。企业内部,可能还是自己开发专用 dashboard 比较方便,功能太多反而难以管理生产权限
    jonyJJ
        36
    jonyJJ  
       249 天前
    不要用 apisix ,很多坑,建议 kong 配合社区的 dashboard ,或者用 higress
    GeekGao
        37
    GeekGao  
       249 天前
    apisix 可以,用了两年了
    vmlinz
        38
    vmlinz  
       249 天前 via iPhone
    直接 traefik 吧,简单稳定
    momo24672
        39
    momo24672  
       249 天前
    k8s + kong-ingress 好用的
    四年生产经验
    aljun
        40
    aljun  
    OP
       249 天前
    @cdlnls 能查到这些问题怎么解决吗?
    aljun
        41
    aljun  
    OP
       249 天前
    @wzcloud 阿里的我有点怕。。。
    aljun
        42
    aljun  
    OP
       249 天前
    @momo24672 遇到坑能查到解决方案吗?
    salmon5
        43
    salmon5  
       249 天前
    @orangeD kong 2-3 年生产经验,碰到高 CPU 高内存的 bug ,另外它的集群模式我个人觉得设计有点 dirty ,反正我是不太喜欢 kong
    aljun
        44
    aljun  
    OP
       249 天前
    @salmon5 平常安稳吗?出问题好查吗?
    momo24672
        45
    momo24672  
       249 天前
    @aljun kong 的社区应该还是比较强的,选型的时候避开国产框架可以少踩坑。
    DeadLion
        46
    DeadLion  
       249 天前
    在用 apisix , 更新的很频繁,但是质量确实跟不上,不敢追新,dashboard 跟 apisix 的版本匹配问题也是个迷。。。

    不要随意升级,之前 2.15.x 小版本升级,结果遇到破坏性升级导致插件开关失效,issue 上看发现是分支合并的问题,本来应该是合并到 3.x 版本上的变更,被合并到 2.15.x 了。。。。

    核心功能用下来倒是没啥问题
    AmaQuinton
        47
    AmaQuinton  
       249 天前
    @aljun #31 生产上用的,不是最新版,但很稳定,没发现什么重大 bug
    killva4624
        48
    killva4624  
       249 天前
    @leopoldthecuber #22 哇去,我们常年用 konga
    tudou1514
        49
    tudou1514  
       249 天前
    @phantomzz 自己写一个 ServiceMonitor
    aragakiyuii
        50
    aragakiyuii  
       249 天前 via iPhone
    traefik ,但是没有 dashboard
    aljun
        51
    aljun  
    OP
       249 天前
    @aragakiyuii 看不少人推荐这个,有什么好处呢?
    iiusky
        52
    iiusky  
       249 天前
    traefik 配合 k8s 才是 yyds 不配合 k8s 很难高效使用
    aljun
        53
    aljun  
    OP
       249 天前
    @iiusky 目前是 k8s
    stephenxiaxy
        54
    stephenxiaxy  
       248 天前
    apisix 吧
    nicoljiang
        55
    nicoljiang  
       248 天前
    不要用 apisix 其他不好说。
    aljun
        56
    aljun  
    OP
       248 天前
    @nicoljiang 为什么呢?
    nicoljiang
        57
    nicoljiang  
       248 天前
    @aljun #14 楼有提到。
    然后我自己有限的两周不严谨试用:
    1. 发现有些插件总是会出现一点小小的不按预期工作(比如改写 resp 流、复制流 什么的);
    2. 然后 etcd 崩了两次(不确定是 etcd 自己的问题,还是 apisix 使用的问题);
    3. 基本功能也有问题,并且还不一定会解决(例如 https://github.com/apache/apisix/issues/4794
    4. 底层基于 Nginx ,但 Nginx 本身为高性能短连接设计,用在长连接不知道会出现什么问题(比如说遇到略长时间的 PUT 就会莫名其妙超时)
    tms
        58
    tms  
       248 天前
    目前用的 contour ,或者拿 envoy 自己魔改。
    SaberJack
        59
    SaberJack  
       248 天前
    必须 apisx
    specture
        60
    specture  
       247 天前
    @darksheep9527 提示类似于"the error request to the redirect_uri path, but there's no session state found",但是尝试了各种方法都没法 work. 认证服务也尝试了各种.一看 issue 好几个类似的都 open 着
    specture
        61
    specture  
       247 天前
    @salmon5 哪些坑啊?稳定性如何?
    darksheep9527
        62
    darksheep9527  
       247 天前
    @specture 我也遇到过 emmm 但是没做好记录 出现场景和解决办法
    darksheep9527
        63
    darksheep9527  
       247 天前
    @specture
    回忆了一下
    可能是在跳转到的登录界面停留了太久会出现
    不确定是一直不登录 还是 debug 太久导致的

    一个猜想 和 nginx 的 session 策略有关?
    set $session_storage 这些对应的?
    specture
        64
    specture  
       247 天前
    @darksheep9527 我这边遇到的情况是都没有跳转到登录页
    GT1
        65
    GT1  
       241 天前
    1.可以看看 apisix ,istio ,higress 的文档逻辑。另外 apisix 不是上商业版了吗,有使用过的吗。
    2. 再说一个,看看 istio 与 apisix 的 GitHub 。
    21,180 commits ; Releases 306
    3,964 commits ; Releases 50

    细节还很多,还要加油。主流程跑通了。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2848 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 12:26 · PVG 20:26 · LAX 05:26 · JFK 08:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.