大佬们,请教一个 k8s 可靠性问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Cola98
V2EX    Kubernetes

大佬们,请教一个 k8s 可靠性问题

  •  
  •   Cola98 2023-12-20 09:16:33 +08:00 3575 次点击
    这是一个创建于 669 天前的主题,其中的信息可能已经有所发展或是发生改变。

    容器化部署和二进制部署,是不是二进制部署会更加可靠,我是在 VMware 虚拟化出来的主机,之后在这些主机上使用容器化方式部署 k8s ,但是经历断电后,再开机查看集群的时候,kubelet 提示找不到 port ,查看容器发现所有容器都不见了,所以猜想二进制部署的应该会比容器化部署的可靠性更好?

    第 1 条附言    2023-12-21 23:25:06 +08:00
    今天重新安装了集群,之前有一些说法错误,kubekey 是使用 kubeadm 安装的,除了 etcd 和 kubelet 组件,剩下组件都是容器化的,当时没有注意到运行时是 containerd ,全部心思都花在 docker 上,但是后续的断电重启实验,docker 并没有影响,镜像都还在,但是 containerd 中的镜像和容器都不见了,比较好奇为什么镜像也会不见
    31 条回复    2024-01-04 18:00:17 +08:00
    fengxsong
        1
    fengxsong  
       2023-12-20 09:19:05 +08:00
    你二进制部署管理的是 systemd ,容器部署管理的 kubelet->cri
    Cola98
        2
    Cola98  
    OP
       2023-12-20 09:20:41 +08:00
    @fengxsong 嗯嗯,因为我看 systemctl status kubelet 还是正常的
    rebelsre
        3
    rebelsre  
       2023-12-20 09:23:41 +08:00
    容器没设置开机自启吧
    另外 VMware -> 容器 -> k8s ,这套娃呢。。
    我是 VMware 搞了几台虚拟机出来用 kubeadm 原生态部署
    Cola98
        4
    Cola98  
    OP
       2023-12-20 09:30:02 +08:00
    @rebelsre enable 嘛?这是设置的,确实有点套娃了,我是用 kubekey 部署的,里面也用到了 kubeadm ,好像除了 kubelet 组件,其他组件都是容器化的。
    ExplodingDragon
        5
    ExplodingDragon  
       2023-12-20 09:34:21 +08:00   1
    直接二进制部署即可,套娃不可取,或者用 k3s 也可以,该有的都有
    miaosl
        6
    miaosl  
       2023-12-20 09:38:12 +08:00
    老哥容器化部署有啥全面的教程吗?
    我开始学的时候就是容器化
    现在网上搜的时候都不一样呜呜呜
    StoneHuLu
        7
    StoneHuLu  
       2023-12-20 09:59:00 +08:00
    自用就 k3s 一键启动,自学就买两个伸缩性实例一个月也就几顿饭钱自己搭,投产就直接买 ack
    Cola98
        8
    Cola98  
    OP
       2023-12-20 10:05:22 +08:00
    @miaosl 我是用 kubekey 的,你可以康康
    Cola98
        9
    Cola98  
    OP
       2023-12-20 10:06:07 +08:00
    @ExplodingFKL k3s 看 etcd 给换成了 sqlite ,还是想体验下原汁原味的,哈哈哈
    mango88
        10
    mango88  
       2023-12-20 10:20:13 +08:00
    我是用 kubekey 部署的集群 跑了一年多了 挺稳定的

    20 个 node
    jokimina
        11
    jokimina  
       2023-12-20 10:20:38 +08:00   1
    小运维一个。

    公司狂推 k8s, 上云搞生态。

    自己的服务 一个 vps 上 docker-compose ,重要服务加上服务监测告警和自动修复脚本基本都够了,不重要的 docker 或者 docker-compose 裸奔,挂个周备份。场景不同没必要折腾自己,达成目的最重要。

    一般的服务真没那么容易死,二进制裸奔也不是啥大问题,注意对外暴露的服务不要有严重漏洞和安全问题就行
    helone
        12
    helone  
       2023-12-20 10:21:20 +08:00
    @Cola98 k3s 也可以 etcd 的
    julyclyde
        13
    julyclyde  
       2023-12-20 10:33:08 +08:00
    新发明了二进制部署这个词啊
    lasuar
        14
    lasuar  
       2023-12-20 10:50:11 +08:00
    二进制部署 => 裸机部署
    miaosl
        15
    miaosl  
       2023-12-20 11:07:01 +08:00
    @Cola98 好好好
    vivisidea
        16
    vivisidea  
       2023-12-20 11:14:49 +08:00
    @Cola98 k3s 的源代码就是 kubernetes 的,就是做了整合,在一个 k3s 进程里面把 etcd/apiserver/scheduler 等关键组件都整合进去了,而且删减了很多过时的和比较偏门的特性,用起来没啥区别

    我们给客户私有化部署的时候都是用的 k3s
    Cola98
        17
    Cola98  
    OP
       2023-12-20 11:24:35 +08:00
    @helone
    @vivisidea

    好咧,后续关注下 k3s ,感谢大佬安利
    Cola98
        18
    Cola98  
    OP
       2023-12-20 11:25:13 +08:00
    @lasuar
    @julyclyde

    学艺不精,应该是裸机部署,感谢指正
    anubu
        19
    anubu  
       2023-12-20 11:44:01 +08:00   2
    到目前的讨论似乎有点混乱,需要准确定义一下“容器部署”,是 kind 这种整个集群在容器中的情况还是 kubeadm 集群组件使用 static pod 的情况。
    kubeadm 是官方支持的部署方案,稳定性肯定没问题的。二进制部署有点过于 old school 的感觉,我个人没有用过,不认为能提供额外的稳定性,并且维护复杂。

    另外,虚拟机上使用 kubeadm 标准部署,并没有特别的套娃。公有云应该是类似的结构,甚至托管的控制平面都是虚拟的。kind 类似方案有点套娃,但用于开发测试环境没有什么问题。
    HTDit
        20
    HTDit  
       2023-12-20 11:50:46 +08:00 via Android   1
    etcd 数据损坏了吧,重启前备份 etcd 数据,在怎么重启都不会死
    HTDit
        21
    HTDit  
       2023-12-20 11:52:56 +08:00 via Android
    推崇二进制部署是组件用 systemd 管理,主机意外重启更快启动,真要二进制部署的,组件故障也要有手动恢复的能力。
    Cola98
        22
    Cola98  
    OP
       2023-12-20 12:53:32 +08:00
    @anubu 感谢回复,我说的有歧义,我说的容器部署并不是 kind 方式,使用 kubekey 部署,当时看的时候,应该室友几个组件是容器化的,具体一块当时没有留意,但是 kubelet 和 etcd 是二进制,可以使用 systemctl 查看到的,再次感谢!
    Cola98
        23
    Cola98  
    OP
       2023-12-20 12:54:36 +08:00
    @HTDit 是的,当时偷懒了好几次,不过这次和之前不同的地方在于这次是所有 docker 中所有容器都没有了 orz ,怀疑是等待时间太长了?
    Evovil
        24
    Evovil  
       2023-12-20 17:31:46 +08:00   1
    >vmwre 可以直原生接拉 k8s 并具备虚拟化的 cni,需要了解 NSX ,DRS ,VMotion 等相关层,对基本原理和相关技能要求很高。
    https://docs.vmware.com/tw/VMware-vSphere/8.0/rn/vmware-vsphere-with-tanzu-80-release-notes/index.html


    >容器化部署和二进制部署,是不是二进制部署会更加可靠
    我认为是的,套娃只会增加不可靠性,取决于你是玩还是生产,生产建议 3master 以上+二进制,私有云方面见过阿里云小飞天(非完整),ack 相关套件 master 那几个核心组件也是二进制部署的

    看 op 似乎是非大规模生产集群
    kubeadm 一把梭,不管是升级,改配置,更新证书都方便。
    Cola98
        25
    Cola98  
    OP
       2023-12-20 21:10:23 +08:00
    @Evovil 多谢大佬,我是个人集群,弄着好玩,学习学习
    cI137
        26
    cI137  
       2023-12-21 07:43:27 +08:00 via iPhone
    @Cola98 那是很久以前了,现在可以用 etcd
    winson030
        27
    winson030  
       2024-01-04 13:09:25 +08:00
    @cI137 话说,用 mysql 替代 etcd 作为 data store 有什么坑么?
    我的 k3s 集群用的是集群外的 mysql 服务容器作为 data store ,目前用着没啥问题。
    不知道访问量上来后会不会有坑
    Cola98
        28
    Cola98  
    OP
       2024-01-04 16:53:23 +08:00
    @winson030 问题主要是并发和元数据库存储这一块吧
    cI137
        29
    cI137  
       2024-01-04 17:58:07 +08:00 via iPhone
    @winson030 etcd 是本身就支持高可用的,mysql 需要自己做高可用。当然,你能确定你的 mysql 不会挂那就无所谓
    cI137
        30
    cI137  
       2024-01-04 17:59:54 +08:00 via iPhone
    @cI137 如果你的 etcd 只有单节点,那高不高可用也无所谓
    cI137
        31
    cI137  
       2024-01-04 18:00:17 +08:00 via iPhone
    @cI137 如果你的 etcd 只有单节点,那高不高可用也无所谓,看你自己的需求
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     912 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 18:52 PVG 02:52 LAX 11:52 JFK 14:52
    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