下班后,给生产系统添加一个节点,就用参照文档,用网站上的脚本给添加了
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 网络。
真是个教训。
![]() |
1
1 天前 生产不先测试下就直接上吗
|
![]() |
2
1 天前 rancher 真的很坑 强烈建议不要用
而且很没有意义,k8s 应该作为最基础最底层的抽象,因为它自己就是自己的本质,所有的工作都是建立在它的抽象上的,应该是所有其他组件都依赖 k8s 提供的抽象,而非反过来建立其它抽象 我之前也遇到过类似的问题,它整个设计都是和 k8s 非常对抗的 |
![]() |
3
1 天前 就是版本不一样呗…
|
![]() |
4
1 天前 疯了吧,rancher 不是有个自动扩容节点的,干嘛手动搞。
|
![]() |
5
1 天前 我现在尽量避免装太侵入式的东西,只用 kubectl 和 k9s
|
![]() |
6
1 天前 via Android 生产环境只有手敲 kubectl ,搭配个 OpenLens ,其他的一概不用
|
![]() |
7
OP
1 天前 @defunct9 要装 rke2 版本的 k8s 啊。
|
![]() |
8
1 天前 你的操作流程很有问题啊
|
![]() |
9
1 天前 @guoguobaba 是啊。我们底座是 vmware ,上面有 rancher local 集群,然后又有 k8s 集群,根据需求放缩节点。哪有用命令行的,直接有个扩容节点的按钮。
|
![]() |
10
1 天前 线上,不指定版本的吗?
|
![]() |
11
1 天前 k8s 用起来爽,出问题真的难受的一批
|
![]() |
12
1 天前 记得是应该用控制节点管理页面上的一个命令加入新的节点到集群
|
![]() |
13
1 天前 一键脚本要小心,不知道.sh 里面用了什么方法。
而且首先要在测试环境验证下,然后再去生产环境。 虽然这么说,但是我遇到过,测试环境一键脚本.sh 能跑通,然后换正式环境直接崩了。 |
![]() |
14
OP
1 天前 @defunct9 通过 docker 或者云厂商安装的 rancher 可以这样,我是先安装 rke2 ,这个是 k8s 的基础组件,再在上面用 helm 安装 rancher 的,文档在这里,https://docs.rke2.io/zh/install/quickstart
|
![]() |
15
1 天前 |
![]() |
16
1 天前 via Android 从来不用一键脚本,只有这个的我会下载回来看看内容自己手动执行,注重效率重复执行的我自己写一键
|
![]() |
17
1 天前 via iPhone rancher 家的 k3s 用着挺不错,rke2 没怎么用过
|
![]() |
18
1 天前 别说了 上次使用最新版连 RKE2 集群初始化都失败了,弃坑
|
![]() |
19
1 天前 via iPhone 生产环境除非我懂 rancher 每一行代码每一个脚本。哪敢用…云端的云服务商的已经足够好用。
|