K8S API 网关用哪个比较好? ALB ingress controller 还是 APISIX 还是 KONG - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
aljun
V2EX    程序员

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

< href="Javascript:" Onclick="upVoteTopic(967226);" class="vote">
  •  1  
  •   aljun 2023-08-22 00:50:24 +08:00 5070 次点击
    这是一个创建于 786 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    有没有其他什么推荐呢?

    66 条回复    2024-07-21 19:49:20 +08:00
    darksheep9527
        1
    darksheep9527  
       2023-08-22 00:52:42 +08:00
    插眼 apisix 据说性能更好 另外文档有中文 kong 似乎一眼看过去没找到中文文档
    aljun
        2
    aljun  
    OP
       2023-08-22 00:53:55 +08:00
    @darksheep9527 关键是能解决多少问题,我倒不介意文档语言(当然文档写得好,写的全面很重要)
    darksheep9527
        3
    darksheep9527  
       2023-08-22 01:05:24 +08:00
    @aljun #2

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

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

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

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

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

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

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

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

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

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

    细节还很多,还要加油。主流程跑通了。。。
    kunlunhq
        66
    kunlunhq  
       2024-07-21 19:49:20 +08:00
    @tudou1514 apisix 、higress 这俩哪个更适合生产环境?有优劣比较?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5091 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 09:19 PVG 17:19 LAX 02:19 JFK 05:19
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86