昨天 rancher 给我挖了一个大坑 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
guoguobaba
V2EX    Kubernetes

昨天 rancher 给我挖了一个大坑

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

    下班后,给生产系统添加一个节点,就用参照文档,用网站上的脚本给添加了

    curl -sfL https://rancher-mirror.rancher.cn/rke2/install.sh | INSTALL_RKE2_MIRROR=cn sh - 

    结果系统崩了,网络全部不能访问了。

    排查发现,他把我的 calico 相关的都删了,准备添加 canal 网络,我擦,我赶紧删了这个节点,修复生产系统,calico-system 的 namespace 也被删了,网络系统全部崩溃,我当时一头猛汗,口中问候了他家各种。

    网路不行,longhorn 也开始卡,然后系统因为 nfs 卡死很多命令也开始。

    先将所有 deploy replicas 设为 0 , 强制 umount nfs ,kubectl 开始能正常操作了。

    在 gpt 的帮助下,尝试了各种方案,后来发现,删除 helmchart ,重启 rke2 让它重建 calico 网络

    kubectl delete helmchart rke2-calico -n kube-system && kubectl delete helmchart rke2-calico-crd -n kube-system && systemctl restart rke2-server 

    重建过程中也遇到好多坑,折腾到晚上 3:00 才搞定。

    复盘发现是添加的 rke2 版本很新,在/var/lib/rancher/rke2/server/manifests提供了 rke2-canal.yaml,而不是 calico 相关配置,导致 rke2 自动取删除 calico 相关网络,安装 canal 网络。

    真是个教训。

    25 条回复    2025-05-02 23:13:48 +08:00
    ondeay
        1
    ondeay  
       176 天前   1
    生产不先测试下就直接上吗
    csys
        2
    csys  
       176 天前   4
    rancher 真的很坑 强烈建议不要用

    而且很没有意义,k8s 应该作为最基础最底层的抽象,因为它自己就是自己的本质,所有的工作都是建立在它的抽象上的,应该是所有其他组件都依赖 k8s 提供的抽象,而非反过来建立其它抽象

    我之前也遇到过类似的问题,它整个设计都是和 k8s 非常对抗的
    cheng6563
        3
    cheng6563  
       176 天前
    就是版本不一样呗...
    defunct9
        4
    defunct9  
       176 天前
    疯了吧,rancher 不是有个自动扩容节点的,干嘛手动搞。
    momocraft
        5
    momocraft  
       176 天前
    我现在尽量避免装太侵入式的东西,只用 kubectl 和 k9s
    seers
        6
    seers  
       176 天前 via Android
    生产环境只有手敲 kubectl ,搭配个 OpenLens ,其他的一概不用
    guoguobaba
        7
    guoguobaba  
    OP
       176 天前
    @defunct9 要装 rke2 版本的 k8s 啊。
    pharsalia
        8
    pharsalia  
       176 天前
    你的操作流程很有问题啊
    defunct9
        9
    defunct9  
       176 天前
    @guoguobaba 是啊。我们底座是 vmware ,上面有 rancher local 集群,然后又有 k8s 集群,根据需求放缩节点。哪有用命令行的,直接有个扩容节点的按钮。
    codersdp1
        10
    codersdp1  
       176 天前
    线上,不指定版本的吗?
    codersdp1
        11
    codersdp1  
       176 天前
    k8s 用起来爽,出问题真的难受的一批
    Foxkeh
        12
    Foxkeh  
       176 天前
    记得是应该用控制节点管理页面上的一个命令加入新的节点到集群
    wuyadaxian
        13
    wuyadaxian  
       176 天前
    一键脚本要小心,不知道.sh 里面用了什么方法。
    而且首先要在测试环境验证下,然后再去生产环境。

    虽然这么说,但是我遇到过,测试环境一键脚本.sh 能跑通,然后换正式环境直接崩了。
    查了下发现,.sh 里面要拉 git 源码编译,正好 git 上合并了个最新的补丁分支进去。
    就在测试环境测试期间----正式环境之间这个时间段发生的。
    所以要走命令行还是要自己敲代码,确认各种版本。
    guoguobaba
        14
    guoguobaba  
    OP
       176 天前
    @defunct9 通过 docker 或者云厂商安装的 rancher 可以这样,我是先安装 rke2 ,这个是 k8s 的基础组件,再在上面用 helm 安装 rancher 的,文档在这里,https://docs.rke2.io/zh/install/quickstart
    guanzhangzhang
        15
    guanzhangzhang  
       176 天前
    rancher 注重 ui 啥的操作,写脚本的和做 web 功能的不一定是一个较近团队的
    FrankAdler
        16
    FrankAdler  
       175 天前 via Android   1
    从来不用一键脚本,只有这个的我会下载回来看看内容自己手动执行,注重效率重复执行的我自己写一键
    eephee
        17
    eephee  
       175 天前 via iPhone
    rancher 家的 k3s 用着挺不错,rke2 没怎么用过
    xcai
        18
    xcai  
       175 天前
    别说了 上次使用最新版连 RKE2 集群初始化都失败了,弃坑
    sampeng
        19
    sampeng  
       175 天前 via iPhone
    生产环境除非我懂 rancher 每一行代码每一个脚本。哪敢用…云端的云服务商的已经足够好用。
    knives
        20
    knives  
       174 天前
    楼主的 rancher 版本是不是有点旧了……我这边的版本,添加节点应该是使用当前 rancher 管控面提供的 agent 安装脚本,通过启动一个 agent 服务,自动完成节点服务的安装。

    例如:curl -fL {rancher host}/system-agent-install.sh | sudo sh -s - --label 'cattle.io/os=linux' --worker
    guoguobaba
        21
    guoguobaba  
    OP
    &nbp;  174 天前
    @knives 我原来的版本也这样,但是这个版本是 rke2+rancher ,rancher 是使用 Helm 部署到 rke2 k8s 里的,找不到这样的入口。

    ```
    # rke2 -v
    rke2 version v1.32.3+rke2r1 (18005e93ee0b015b78be47cf6515ae6d3a9afd55)
    go version go1.23.6 X:boringcrypto

    # helm list -A |grep rancher
    rancher cattle-system 2 2025-04-25 03:04:31.590632798 +0800 CSTdeployed rancher-2.11.0
    ```
    knives
        22
    knives  
       174 天前
    @guoguobaba 好像懂你的环境了。你们的环境,没有把 rancher 这个控制面集群与业务集群分离部署?或者说这次扩展的就是 rancher 这个控制面集群。

    我这边 rancher 这个控制面集群里面纯纯就只有 rancher ,就算控制面挂了业务层也基本没啥影响,不至于太紧张。
    guoguobaba
        23
    guoguobaba  
    OP
       174 天前
    @knives 应该是的,只有三个节点,rancher 直接安装在业务集群上面。
    RatioPattern
        24
    RatioPattern  
       169 天前
    遇到过类似情况,rancher 感觉就是实验室 KPI 产品
    runzhliu
        25
    runzhliu  
       168 天前
    早几年用 Rancher 的时候发现他对 k8s 集群侵入非常强...所以如果没时间深入了解 Rancher 的话不建议用
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2632 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 12:56 PVG 20:56 LAX 05:56 JFK 08:56
    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