昨天 rancher 给我挖了一个大坑

144 天前
 guoguobaba

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

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 网络。

真是个教训。

3609 次点击
所在节点    Kubernetes
25 条回复
guoguobaba
143 天前
@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
143 天前
@guoguobaba 好像懂你的环境了。你们的环境,没有把 rancher 这个控制面集群与业务集群分离部署?或者说这次扩展的就是 rancher 这个控制面集群。

我这边 rancher 这个控制面集群里面纯纯就只有 rancher ,就算控制面挂了业务层也基本没啥影响,不至于太紧张。
guoguobaba
143 天前
@knives 应该是的,只有三个节点,rancher 直接安装在业务集群上面。
RatioPattern
138 天前
遇到过类似情况,rancher 感觉就是实验室 KPI 产品
runzhliu
137 天前
早几年用 Rancher 的时候发现他对 k8s 集群侵入非常强...所以如果没时间深入了解 Rancher 的话不建议用

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1128054

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX