V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
xiaoshouchen
V2EX  ›  程序员

阿里云的 ACK 服务有很多暗坑,请大家谨慎选择

  •  
  •   xiaoshouchen · 2023-09-12 09:36:46 +08:00 · 4639 次点击
    这是一个创建于 467 天前的主题,其中的信息可能已经有所发展或是发生改变。
    1. OSS 作为 PV 挂载给集群的时候,如果对于 OSS 中的文件进行 PHP 的函数 ZipArchive::addFromString 修改压缩文件的时候,文件就会变成 0 字节。
    2. 他们官方文档中的最佳实践 https://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/user-guide/best-practices-for-using-deployment-for-temporary-storage?spm=a2c4g.11186623.0.0.28ee2c7dCcn3kx 存在 bug ,提了工单之后,说是已经弃用,准备推新的服务,旧的就不维护了。
    35 条回复    2023-09-13 10:11:33 +08:00
    chenk008
        1
    chenk008  
       2023-09-12 09:51:47 +08:00
    想了解一下,第二点是什么 bug 呢?
    Judoon
        2
    Judoon  
       2023-09-12 09:53:39 +08:00
    oss 的话,为什么不直接用 oss 的 sdk 去调用,而要挂载成 pv 呢?

    如果是为了用存储,为什么不考虑用云盘或者云文件系统?
    zsj1029
        3
    zsj1029  
       2023-09-12 09:53:47 +08:00 via iPhone
    能用 AWS 的,最后都会用 aws ,同理 js 能写的最终都会拿 js 写
    jiangzm
        4
    jiangzm  
       2023-09-12 09:55:07 +08:00
    ack 不维护了?不会吧
    xiaoshouchen
        5
    xiaoshouchen  
    OP
       2023-09-12 09:58:38 +08:00
    @jiangzm 我没说清楚,不好意思,不是 ACK 不维护,这个是他们的重点业务,当然是维护的。就是通过 storageClass 获取临时 PV 节点有问题,有时候创建新的 pod 的时候,PV 节点会挂载失败。
    xiaoshouchen
        6
    xiaoshouchen  
    OP
       2023-09-12 09:59:51 +08:00
    @Judoon 直接用 SDK 也会用到,各有各的需求吧。阿里云首先是提供 OSS 作为 PV 的,那么就应该提供稳定可靠的服务吧。
    defunct9
        7
    defunct9  
       2023-09-12 10:00:15 +08:00
    还有个坑,就是自己托管的 ACK ,主节点三个,二个 Ingress 节点,想把 Ingress 放到资源富裕的 master node 上是不可以的,因为前置的负载均衡 clb 不支持,那就必须拿出 5 个节点来,浪费。
    dropdatabase
        8
    dropdatabase  
       2023-09-12 10:02:59 +08:00
    @defunct9 细说前置的负载均衡 clb 不支持?
    Reficul
        9
    Reficul  
       2023-09-12 10:05:25 +08:00
    第二点不是原生 GenericEphemeralVolume 的行为么,社区已经 GA 了还能有啥问题。
    defunct9
        10
    defunct9  
       2023-09-12 10:11:08 +08:00
    @dropdatabase 这个就说来话长了。我们 ingress 的节点资源比较少,然后之前其他 pod 的调度没弄好,直接把 pod 调度到 ingress 节点了,然后就目睹了一个 ingress 节点的崩溃,然后山河一片红。之后我把 ingress 都调度到 master 上了,然后去 LB 那里修改死活不生效,改了 2 回不生效,然后不报错,然后就开工单去阿里了,得到的回复是 clb 不能在 master 上,那就是说你必须付出 3 个 master+2 个 ingress 的节点=5 个节点的代价,早知道走全托了。
    xabcstack
        11
    xabcstack  
       2023-09-12 10:19:22 +08:00
    阿里云已经完蛋,全面转头华为云
    dropdatabase
        12
    dropdatabase  
       2023-09-12 10:20:42 +08:00
    @defunct9 你说的这个问题是不是:
    A 机器(有多个服务)发起 http 请求,流量走到 CLB (端口是 4 层监听,不是 7 层)又回到 A 机器上,这时请求会卡住不响应。
    57L49t45Jo9IJvge
        13
    57L49t45Jo9IJvge  
       2023-09-12 10:22:47 +08:00
    我们遇到一个问题 业务走 ingress 上传 贼慢 而且 max_body_size 不生效 ,自建 ecs nginx 反代 无此问题,询问工单说是我们业务问题 ,无解。。。。
    perfectlife
        14
    perfectlife  
       2023-09-12 10:32:40 +08:00
    @defunct9 我感觉这个锅不是阿里云的,是服务的亲和性调度没做好吧,clb 默认肯定不管这些的,clb->node:port ,取决的还是你 pod 调度的问题,可以 ingress 节点设置污点和标签,默认不允许所有 pod 调度,然后单独给 ingress 的 deployment 文件增加污点容忍配置,并用标签选择器选择 ingress 节点调度。
    defunct9
        15
    defunct9  
       2023-09-12 10:46:27 +08:00
    @perfetlife 这锅必定是阿里云的,为啥 ingress 不可以放到 master 上面。
    defunct9
        16
    defunct9  
       2023-09-12 10:47:29 +08:00
    @dropdatabase 不是,就是节省节点的意思。
    winglight2016
        17
    winglight2016  
       2023-09-12 11:02:50 +08:00
    @defunct9 你们用的是阿里云的 k8s 吗?我们的 ingress 是相当于集群组件,并不能自己管理底层资源
    defunct9
        18
    defunct9  
       2023-09-12 11:07:07 +08:00 via iPhone
    @winglight2016 why not ?都说了是 ack 了,集群组件?!,我另一个 ingress 还是 traefic 呢。奇怪的思想
    o562dsRcFqYl375i
        19
    o562dsRcFqYl375i  
       2023-09-12 11:52:21 +08:00
    阿里云:也没多少嘛,就两三个
    anubu
        20
    anubu  
       2023-09-12 12:27:25 +08:00
    印象中,ACK 可免费使用,CCE 和 TKE 没有免费使用。
    GopherDaily
        21
    GopherDaily  
       2023-09-12 13:14:59 +08:00
    国内暂时没有比 ACK 更好的 k8s 托管服务。

    OSS 之类的挂载不是 ACK ,使用前自己注意影响面。
    你用 S3 也是要看他具体挂载和驱动的
    OceanBreeze
        22
    OceanBreeze  
       2023-09-12 13:39:27 +08:00
    @GopherDaily 为啥我觉得腾讯云 tke 更好用呢
    luomao
        23
    luomao  
       2023-09-12 13:40:00 +08:00
    @xiaoshouchen 我记得阿里云文档中强调过如果涉及到写入场景不建议使用 oss 作为 PV
    perfectlife
        24
    perfectlife  
       2023-09-12 13:45:24 +08:00
    @defunct9 #15 这和 ack 没关系,kubernetes 就是这么设计的,master 节点默认有 node-role.kubernetes.io/master:NoSchedule 的污点,为了 master 组件的稳定,不允许运行业务容器,非要调度到 master 上一般就两种办法,要么删除 master 上的污点,要么就是 yaml 文件里加污点容忍。
    chf007
        26
    chf007  
       2023-09-12 15:02:06 +08:00
    @anubu 哪有免费使用,要收费的
    GopherDaily
        27
    GopherDaily  
       2023-09-12 15:14:28 +08:00
    @OceanBreeze
    就我个人经历来说:
    - 我没有用过 TKE ,所以没办法直接评判,不过托管 k8s 本身不是一个非常有难度的事情
    - 腾讯云的问题是在 ECS/RDS/OSS/LB 等方面的全面落后
    - 会出一些非常离谱的低级操作,比如突然告诉某个功能在某个区域要下线了,比如 RDS 在非使用方原因的情况下挂了

    以上体验来此某 B 轮公司迁移到腾讯云的经历
    xiaoshouchen
        28
    xiaoshouchen  
    OP
       2023-09-12 15:17:05 +08:00
    @luomao 肯定不可能只读不写,我用的场景确实是极少写,大部分读。只是极少写都出错,一周写个几百 M 也不过分吧。
    zhoulouzi
        29
    zhoulouzi  
       2023-09-12 15:49:22 +08:00
    VKE 功能单一你也可以认为只提供标准一套
    anubu
        30
    anubu  
       2023-09-12 16:16:49 +08:00
    @chf007 可以参考 ACK 文档,基础版是免费的。https://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/product-overview/billing-overview

    注意:这里说的免费是指容器托管服务本身,不是指负载均衡或服务器节点等云产品免费。即使用 ACK 基础版你可以得到一个几乎免费的控制平面,TKE 和 CCE 都是收费的。说几乎免费是控制平面的 API 需要一个内部 LB ,之前是免费的,后来好像要收费了。
    defunct9
        31
    defunct9  
       2023-09-12 16:55:58 +08:00 via iPhone
    @perfectlife 我都把 ingress 调度到 master 上面去了,看清楚别人发言再回答。
    aapeli
        32
    aapeli  
       2023-09-12 18:14:00 +08:00   ❤️ 1
    @defunct9 master 不能作为 lb 的 backend ,可能是为了稳定性吧,防止 ingress 打爆带宽导致 master 异常.
    HowToMakeLove
        33
    HowToMakeLove  
       2023-09-12 18:32:24 +08:00
    感觉阿里云虚标啊,说的秒级启动容器,根本不是
    OceanBreeze
        34
    OceanBreeze  
       2023-09-13 09:41:35 +08:00
    @GopherDaily 就我个人经历来说,阿里云的控制面板设计乱七八糟,体验极差。和腾讯云不是一个级别的。

    tke 比 ack 好用多了。
    GopherDaily
        35
    GopherDaily  
       2023-09-13 10:11:33 +08:00
    @OceanBreeze 嗯,看上去经历差蛮多的,我们很少用控制台
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2800 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 14:36 · PVG 22:36 · LAX 06:36 · JFK 09:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.