K3s现有集群迁移到新集群中

执行的命令是:
k3s server
–cluster-reset
–cluster-reset-restore-path=/var/lib/rancher/k3s/server/db/snapshots/on-demand-production-1-1689860361

恢复完成后,kubectl get pods -A就开始报APIServer没起来了
有人帮忙看下什么原因嘛,感谢

再多提供点上下文呗,就是从头开始到最后的一些详细的操作

1:我先把一个etcd的快照copy到/var/lib/rancher/k3s/server/db/snapshots/下
2:我准备在新的k3s集群中恢复这个快照
3:执行恢复命令:k3s server
–cluster-reset
–cluster-reset-restore-path=/var/lib/rancher/k3s/server/db/snapshots/on-demand-production-1-1689860361
执行结果就是上面的图中,
4:后面kubectl就无法操作所有命令,好像APIServer没有启动还是怎么?需要恢复过程的全部日志嘛

下面执行第三部命令的输入日志:


etcd快照生成的命令是:
k3s etcd-snapshot save

如果你的主机 IP 有变动,这样应该是不行的,因为 etcd 中保存了节点的 IP

谢谢你,那我应该怎么办呢?官方文档好像没有这方面介绍,或者我没有看到

官网没有这方面的解释,但你可以试试下面的方案:
比如你之前搭建的 k3s server 的 ip 是 1.1.1.1,你可以将其他两个节点加入到这个集群组建一个 3 节点的 k3s server 的 HA。
然后将 1.1.1.1 移除,并添加另一个 K3s server。

你也可以试试只添加一个 K3s server,然后将 1.1.1.1 从集群中移除,看看是否好用

我对 etcd 不是特别了解,也没测试过,只能猜测。

这个方案适合同一云服务器提供商,我们云服务器厂商换了,这个方案行不通 :sweat_smile:

那我是没啥好的方案…… 直接迁应用 yaml 吧

这,苦力活了呀 :rofl:

有挺多开源工具可以帮你做迁移,你去找找吧

好的,谢谢