etcd snapshots showing 0kB size in the Rancher UI
本文永久链接: https://www.xtplayer.cn/rancher/etcd-snapshots-showing-0kb-size-in-the-rancher-ui/
在 rancher 2.6.x 和 2.7.x 版本中,创建的下游集群可能存在集群 etcd 备份大小为 0 kb 的情况。根据 suse 知识库文档 https://www.suse.com/support/kb/doc/?id=000021447 说明,这个问题主要是 rke2 和 rke2-etcd、k3s 和 k3s-etcd 租约的租约持有者不匹配导致。
对于 rke2 集群,可以使用以下命令去修复。
kubectl -n kube-system get cm rke2-etcd-snapshots -oyaml > rke2-etcd-snapshots-cm-bak.yaml
kubectl -n kube-system patch cm --type=json -p='[{"op": "remove", "path": "/data"}]' rke2-etcd-snapshots
kubectl get lease -n kube-system -oyaml > rke2-lease-kube-system-bak.yaml;
kubectl get lease -n kube-system rke2-etcd -o jsonpath='{.spec.holderIdentity}' | \
xargs -I {} kubectl patch lease -n kube-system --patch='{"spec":{"holderIdentity":"{}"}}' --type=merge rke2; \
kubectl get lease -n kube-system -o custom-columns='name:.metadata.name,holder:.spec.holderIdentity' | \
grep rke2对于 k3s 集群,可以使用以下命令去修复。
kubectl -n kube-system get cm k3s-etcd-snapshots -oyaml > k3s-etcd-snapshots-cm-bak.yaml
kubectl -n kube-system patch cm --type=json -p='[{"op": "remove", "path": "/data"}]' k3s-etcd-snapshots
kubectl get lease -n kube-system -oyaml > k3s-lease-kube-system-bak.yaml;
kubectl get lease -n kube-system k3s-etcd -o jsonpath='{.spec.holderIdentity}' | \
xargs -I {} kubectl patch lease -n kube-system --patch='{"spec":{"holderIdentity":"{}"}}' --type=merge k3s; \
kubectl get lease -n kube-system -o custom-columns='name:.metadata.name,holder:.spec.holderIdentity' | \
grep k3s
如果以上操作之后没有效果,那么请参考以下知识库文档,检查 Rancher server 日志和 rke2-server.service 日志,看是否有其他相对应的错误。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 IT老男孩!