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

如何劝领导不要搭建备用 k8s 集群

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

    业务要容器化上 k8s ,部门领导非要搞两套,一主一备,如何劝他不要搭建备用的一套。他还要两个集群同时都用,类似于数据库双主

    70 条回复    2024-07-03 21:19:47 +08:00
    povsister
        1
    povsister  
       237 天前   ❤️ 8
    你说他是外行吧,他懂容器懂 k8s ,你说他是内行吧,他要搞两套 k8s 做主备。
    我建议你按他说的做
    coderxy
        2
    coderxy  
       237 天前
    2 套做多活容灾, 没啥问题吧。 你为啥要阻止他呢?
    9
        3
    9  
       237 天前
    k8s 是独立的吧,不存在一主一备。搞 2 个没什么问题,这个跟数据库双主不一样
    vkillwucy
        4
    vkillwucy  
       237 天前 via Android
    有备无患嘛,搞搞不就有 kpi 了?
    cz5424
        5
    cz5424  
       237 天前 via iPhone   ❤️ 1
    说明你们项目还小,几十台机器乘以 2 这个费用就可能审批不过🥲
    zizon
        6
    zizon  
       237 天前
    同时用有什么问题?

    真要升级风险也小.
    anubu
        7
    anubu  
       237 天前   ❤️ 1
    还是要分场景,不要无脑抵制。多地区多云都是真实存在的场景。比如阿里云 ACK 主用,腾讯云 TKE 备用。有技术有预算就多活,没技术没预算就热备或者冷备,真要用的时候能拉起来就行。
    mengzhuo
        8
    mengzhuo  
       237 天前
    其实他怕的是容灾问题
    你跟他说,每个 etcd 节点都部署在不同的机房就可以
    WDFWL
        9
    WDFWL  
       237 天前 via Android
    给你送小目标你都不要?
    DefoliationM
        10
    DefoliationM  
       237 天前
    我觉得直接一个集群不是更好管理,主备各弄一个 master 就行了,当然至少需要 3 个 master ,三个分开就行了。
    ysicing
        11
    ysicing  
       237 天前
    同一个云,同一个地域,同一个可用区么😂
    sakilascott
        12
    sakilascott  
       237 天前 via Android
    一套生产一套灰度,版本升级验证啥的,不发灰度验证吗?
    version
        13
    version  
       237 天前
    当然要两套了..备用的程序服务可以只部署单实例....避免 k8s 更新出现立马处理不了的问题..大部分都不是 k8s 专家.都是摸石头过河.大厂降本增效都出了几次事故了..越复杂架构.恢复排查时间久..有备用方案快切起码能保工作
    me1onsoda
        14
    me1onsoda  
       237 天前
    有什么问题
    kneo
        15
    kneo  
       237 天前   ❤️ 4
    说明他对 k8s 的容错不信任。理论上你是说服不了他的,因为不管你使用什么技术最终还是会出问题。
    你可以向他直言,这东西你搞不定换个架构师来。
    什么?你就是架构师?那你就让不懂技术的领导闭嘴,架构难道不听架构师的?
    什么?领导是高级架构师?那你还是闭嘴吧,让你干啥就干啥。
    wheat0r
        16
    wheat0r  
       237 天前
    建备中心的时候可以直接打包拉走,省事
    Tianao
        17
    Tianao  
       237 天前
    不是说滴滴就是 K8s 升崩了么
    NXzCH8fP20468ML5
        18
    NXzCH8fP20468ML5  
       236 天前 via Android
    多个 k8s 集群不是很正常嘛,我们都有将近 10 套集群了,而且 k8s 版本还不一样。
    业务集群,GPU 集群,大数据集群,混部集群等等,每种集群都是在两地机房独立部署的。
    Dogtler
        19
    Dogtler  
       236 天前
    一个正式环境 一个开发环境,这很正常呀。
    orioleq
        20
    orioleq  
       236 天前 via iPhone
    领导说的挺有道理的:
    1.每个集群可以独立升级;
    2.资源最大化利用,两个集群同时负载流量。不需要单独搞一套灾备环境,省钱。
    了解下滴滴 k8s 事故。
    rehoni
        21
    rehoni  
       236 天前
    OP 是出于什么原因要劝呢
    july1995
        22
    july1995  
       236 天前 via iPhone
    同问,op 为什么要劝呢?
    Qiss
        23
    Qiss  
       236 天前
    既然在工作上要相信领导总是对的,楼主的反骨要收一下。。。
    locoz
        24
    locoz  
       236 天前 via Android
    如果有足够的资源,为什么不搭备用集群?多得是多集群管理的,这是很正常、很合理的做法,去个啥会议都能听到说多集群的,甚至 k8s 里为了这种做法还专门有了个叫集群联邦的东西,还有些别的我不记得名字叫什么的多集群管理的东西也是经常被人提到。
    kokutou
        25
    kokutou  
       236 天前 via Android
    你要说一个测试一个正式还好理解点,申请材料也好些一点不是吗。。。。。。
    Ashore
        26
    Ashore  
       236 天前   ❤️ 4
    还真把自己当公司的主人了啊。。。。
    finab
        27
    finab  
       236 天前   ❤️ 1
    俺们公司确实被备用 k8s 集群救过一命,虽然不应该发生😄
    Ayanokouji
        28
    Ayanokouji  
       236 天前
    万一 k8s 挂了,你能背锅吗。有资源当然要考虑容灾啊。
    如果你只是觉得麻烦,可以看看这俩项目:
    https://karmada.io
    https://kubevela.io
    676529483
        29
    676529483  
       236 天前
    2 套无所谓,入口用 slb 做负载均衡就行了
    laodao1990
        30
    laodao1990  
       236 天前   ❤️ 1
    你们这说加一套备份就能加,说明成本低,资源不多,甚至可能机器都在一个机房。
    建议听他的,做下多地多活容灾,毕竟夏天某个机房坏个空调可能就宕机了。另外集群升级的时候也可能出事故。
    他这么想不是因为不懂技术,因为他是领导,出事故你以为是底层员工背,其实上面都是划在中层领导头上的。
    这帮中层比你底层还焦虑,底层到哪不是写代码?中层不情愿降级,想走人只能等有坑位空出来。
    zfyp
        31
    zfyp  
       236 天前
    业务量大并且重要的最好还是 2 套,这个问题不大。
    我觉得这个问题不是 2 套 K8S 的问题,而是要从业务上考虑如何异地双活、并且同时承载用户流量。业务服务层接口你可以在不同集群不同机房部署,域名解析多个 IP 而已,但是缓存、中间件、数据层这些可能不好做异地、跨集群双活这种架构,举个例子:如果是用 redis 做缓存,业务侧的缓存一般跟着接口部署在一起,这就需要跨集群做 redis 集群,如果一个业务接口在部署在两个集群上并且使用了各自独立的缓存,对用户有没有影响?
    securityCoding
        32
    securityCoding  
       236 天前 via Android
    这不是非常正确的逻辑吗?我当前业务上生产必须部署两个以上的集群,k8s 集群随便出点问题你门业务整体抓瞎吗
    dhb233
        33
    dhb233  
       236 天前
    前段时间阿里不是有那个大的故障吗,一个升级搞挂了一大片服务
    估计你的老板只是让你考虑这种情况,到底是主备,还是怎么搞,他不一定关心
    dif
        34
    dif  
       236 天前
    有预算的话无所谓啊,另外可以也可作为测试环境。 之前应该是 DIDI 的 K8S 升级崩了吧,有套备用的也能及时切换。不过滴滴这种体量,用备的话肯定太亏了,只能把核心服务做个备份。其他边缘的查询订单历史之类的,崩就崩了吧。 不影响打车、底图、结算就行。
    coderzhangsan
        35
    coderzhangsan  
       236 天前
    如果你不需要承担工作以及后续的问题,那就坚定不移的跟着领导走,有时候很多问题的核心并不是技术问题,只不过需要技术这杆旗做一些事。
    standchan
        36
    standchan  
       236 天前
    你为啥不说出你的理由?
    jinxjhin
        37
    jinxjhin  
       236 天前
    如果没有成本上的考量,为什么不上呢?
    chf007
        38
    chf007  
       236 天前
    你是啥理由呢?成本上还是技术上?技术没上没啥问题啊
    F7TsdQL45E0jmoiG
        39
    F7TsdQL45E0jmoiG  
       236 天前
    搞两套是正确滴
    brando
        40
    brando  
       236 天前
    不劝,但有必要告诉他你的想法,至于其他交给领导处理就行了,否则要领导干嘛?!
    chenPiMeiHaoChi
        41
    chenPiMeiHaoChi  
       236 天前
    你知道他在干傻事,但你不知道他知不知道他自己在干傻事。公司不会因为你们多搭个集群少搭个集群就倒闭,他是领导他让干啥你就跟着喊支持干就完了,有操这心的功夫搞点自己的东西性价比更高。
    o562dsRcFqYl375i
        42
    o562dsRcFqYl375i  
       236 天前
    为什么要自己搭?为什么不用公用云的 k8s 托管?你们搭的会比公有云的好吗?
    awalkingman
        43
    awalkingman  
       236 天前
    @povsister 懂和知道是两码事
    superchijinpeng
        44
    superchijinpeng  
       236 天前
    有什么问题吗
    GeekGao
        45
    GeekGao  
       236 天前
    强调业务复杂性:对于业务量大且重要的应用,考虑如何实现异地双活和同时承载用户流量是关键。这可能涉及到复杂的架构设计和技术实现,而不仅仅是简单的备用集群
    wujianhua22
        46
    wujianhua22  
       236 天前
    认为 k8 集群很稳定,可以完全依靠,不会出现问题的人,只能说你是真的单纯。
    fallshuang
        47
    fallshuang  
       236 天前
    @cz5424 如果是高可靠场景,1000*2 都是有必要的
    fallshuang
        48
    fallshuang  
       236 天前
    @kneo 你还是太年轻了,有的错和 k8s 容错没半毛钱关系。

    有一次 aws 的 某个 zone 里空调坏了,这个 zone 里的 k8s 集群就死翘翘了。 但是其他城市的 zone 还是好的,有个备用可以立刻上
    WashFreshFresh
        49
    WashFreshFresh  
       236 天前
    @cz5424 #5 有些企业真的不差钱 我之前东家,就我这个组的项目 60+服务器,搞异地双活直接*2 了,现在的公司,发个告警短信都抠抠搜搜要上企业微信...
    ZXiangQAQ
        50
    ZXiangQAQ  
       236 天前
    领导说啥你就 `啊对对对` 就行了,不要跟领导对着干,反正又不用自己掏钱,日报周报还又更多东西写,有活来就说 2 套集群,人手不够用,还能甩点活出去
    lvlongxiang199
        51
    lvlongxiang199  
       236 天前
    能先说出在你们这种场景下, 为啥两套集群不合适比一套集群更合理吗 ?
    实际上, 也有人主张用多个小规模 K8s 集群的联邦代替一个大 K8s. 比如: https://www.infoq.cn/article/lgzz3duliciczvoibpxh

    ps: 想起了罗素的一句话: 未受哲学熏陶的人,一生都被禁锢在种种偏见中,这些偏见来自常识,来自他那个时代或民族的习惯性信念,来自未经审慎理性的合作或同意而在其心灵中形成的信念。对这样的人来说,世界往往变得明确、有限、显而易见;寻常的事物不会引出问题,**陌生的可能性会被轻蔑地拒绝**。
    kneo
        52
    kneo  
       236 天前 via Android
    @fallshuang 我不年轻。我也没看到你有 @我的必要。
    gabon
        53
    gabon  
       236 天前 via iPhone
    多个集群用 kubefed 组联邦
    fox0001
        54
    fox0001  
       236 天前 via Android
    有钱任性吧。另外,感觉是对“高可用”场景的要求很高。再另外,是不是部署两套,“油水”双份?
    mooyo
        55
    mooyo  
       236 天前
    不搞两套,到时候要升 K8S 版本的时候你怎么升,原地升级吗
    J0N
        56
    J0N  
       236 天前
    1.op ,公司不属于你的,请抛弃你的主人翁思想;
    2.你的工作内容是固定的,你不做这个也做别的,多建一个对你没啥影响;

    所以你为什么要“劝”领导不要搭建备用 k8s 集群?
    malingxin
        57
    malingxin  
       236 天前
    我们业务确实做了灾备,去年深圳淹水,刚好把 sit 的机房给淹了。然后就搞了 dr 环境,相当于另外一套 k8s 集群
    kksd0912334
        58
    kksd0912334  
    OP
       236 天前
    大家好啊,感谢大家的解答,我们的业务就只有单机房,两套 k8s 集群是部署在同一个子网内的,一个集群最多 15 个节点,也不考虑 k8s 升级的问题,因为项目隔 2 年就重建,因为领导认为机器跑太久了就会有不知道的安全问题,所以一切都重建
    kksd0912334
        59
    kksd0912334  
    OP
       236 天前
    @laodao1990 还是你说到点子上了,我们就是小规模单机房,完全没必要双集群。其他人说的多机房,异地灾备我都建议过,领导们都不在意这些。一个机房一个 vpc 内 2 个集群,唯一有用的就是能防止有人把一个集群误删了
    me1onsoda
        60
    me1onsoda  
       236 天前
    @xxfye 为什么呢?这不是浪费资源
    cdlnls
        61
    cdlnls  
       236 天前 via Android
    我大概是理解 op 的,曾经也是遇到了一样的问题一样的想法。

    虽然只是在打工,但是作为一个工作,服务器的成本控制本应该是运维工作的一部分,服务器使用是不是合理也是要考虑的,做这些就是对这份工作的尊重或者说对自己的尊重。希望 op 坚持自己的想法。
    Eillott
        62
    Eillott  
       236 天前 via iPhone
    坏处:
    - 1 ,运维麻烦
    - 2 ,增加一点点成本
    好处:
    - 1 ,升级方便
    - 2 ,略微增加一点点容错
    - 3 ,出事故时不会被上面质疑

    综上,建议还是两个
    xuanbg
        63
    xuanbg  
       235 天前
    为什么要阻止?又不是你掏钱
    asuraa
        64
    asuraa  
       235 天前
    搞呗 开 1000 个 pods ,挖矿
    NXzCH8fP20468ML5
        65
    NXzCH8fP20468ML5  
       235 天前
    @me1onsoda 最主要的原因就是,不同场景对于资源的要求是不一样的。
    比如大数据集群,就禁止超售,该分配给 spark 作业 20c ,就一定要独占 20c ,不然无法保证 spark 作业按时效顺利完成,如果超售内存,麻烦就更大了,可能导致作业 OOM 挂了,甚至把宿主机整挂了。
    业务集群运行 CPU 和内存可以按 2-4 倍超售,GPU 集群甚至能把 GPU 按 4 到 8 倍超售。
    其他集群也各有特点:
    比如混部集群,6 点到 22 点优先提供给业务集群扩容,其他时间都给大数据集群用。
    还有信创 ARM/x86 集群,里面就全是信创的机器。机器特点是单核性能低,但核心多内存大。
    cz5424
        66
    cz5424  
       235 天前 via iPhone
    @fallshuang
    @WashFreshFresh 不差钱的情况下,人力物力没问题,肯定越多越好哈哈哈
    Ricciardo
        67
    Ricciardo  
       235 天前
    不花你钱
    hancai2
        68
    hancai2  
       235 天前
    @kksd0912334 资源够的话,我认为同一个 VPC 也可以双集群。其中一个集群出故障的时候,第二个集群还是很有用的。
    zx900930
        69
    zx900930  
       211 天前
    异地双活,灰度/AB 测试,都是可以的。
    如果是 az 级别的故障,有双活和没双活业务恢复的时间是两个不同的数量级,直接影响 SLA 甚至你的工资。
    而且不要乐观的以为大厂云服务不会丢数据。
    最近的 GCP 澳大利亚业务备份数据全丢,前几年 OVH 数据中心起火直接烧掉整个 az 的数据包括备份。
    就算它赔钱,你数据没了咋都补救不了。

    只能说你领导关心的点是他的位子稳不稳,因为出了大事故,你还可以出去找个新工作,他可能就难了。
    tyit
        70
    tyit  
       168 天前
    k8s 跑的有状态还是无状态?无状态随便搞几套 k8s 集群都没问题。重要的是有状态的数据、中间件怎么搞、搞两套?数据互相同步??
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1419 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 17:17 · PVG 01:17 · LAX 09:17 · JFK 12:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.