千家信息网

如何恢复rkestate状态文件

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇文章为大家展示了如何恢复rkestate状态文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Kubernetes 集群状态由 Kubernetes 集群
千家信息网最后更新 2026年11月03日如何恢复rkestate状态文件

本篇文章为大家展示了如何恢复rkestate状态文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

Kubernetes 集群状态由 Kubernetes 集群中的集群配置文件 cluster.yml 和组件证书组成。由 RKE 生成,但根据 RKE 版本不同,集群状态的保存方式不同。

  • 在 v0.2.0 之前,RKE 将 Kubernetes 集群状态保存为secret。更新状态时,RKE 会提取 secret,更新/更改 状态并保存新 secret。

  • 从 v0.2.0 开始,RKE 在集群配置文件 cluster.yml 的同一目录中创建 cluster.rkestate 文件。该 .rkestate 文件包含集群的当前状态,包括RKE 配置和证书。需要保留此文件以更新集群或通过 RKE 对集群执行任何操作。

状态文件转换

如果是通过rke v0.2.0之前版本创建的 Kubernetes 集群,那么建议升级 rke 版本到最新版本。

rke v0.2.0以前的版本,是通过pki.bundle.tar.gz来保存组件证书。而rke v0.2.0及以后的版本通过.rkestate来保存组件证书。

在 rke 升级到最新版本后,需要有一个过渡操作。通过原始是 rke 配置文件,重新运行rke up将会自动生成.rkestate文件。

找回 .rkestate

假如 .rkestate 无意间丢失或者损坏,可以通过集群中的配置映射文件恢复 .rkestate。

通过 kubectl 配置文件找回

如果 .rkestate 丢失,但 kubecfg 未丢失, kubectl 还可以正常连接集群,可以运行以下命令找回 .rkestate:

注意: rke 在创建集群时,会自动创建 .rkestate 和 kubecfg 文件。.rkestate 和 kubecfg 文件的命名规则与 rke 配置文件名有一定关系。比如 rke 配置文件名为 cluster.yml,那么生成的 .rkestate 为 cluster.rkestate,生成的 kubecfg 为 kube_config_cluster.yml。
可以总结为:
1、kubecfg 命名规则:kube_config_.yml
2、.rkestate 命名规则:.rkestate

# 定义 rke 配置文件名称,如果还存在则按存在的文件名填写;如果不存在,则随便填写,比如名为 rancher-cluster,文件后缀 yaml/yml 不用填写。
rke_config_name=rancher-cluster

kubecfg=kube_config_cluster.yml

kubectl --kubeconfig=${kubecfg} -n kube-system \
get configmap full-cluster-state -o json | \
jq -r .data.\"full-cluster-state\" | \
jq -r . > ${rke_config_name}.rkestate

通过 master 节点找回

如果本地的 .rkestate 和 kubecfg 文件一并丢失,则需要登录到 master 节点进行恢复,在 master 节点运行以下脚本:

if [[ -f /etc/kubernetes/ssl/kubecfg-kube-node.yaml ]]; then
kubecfg=/etc/kubernetes/ssl/kubecfg-kube-node.yaml
elif [[ -f /etc/kubernetes/ssl/kubecfg-kube-node.yml ]]; then
kubecfg=/etc/kubernetes/ssl/kubecfg-kube-node.yml
else
echo 'kubecfg 配置文件不存在'
exit 1
fi

# 获取 Rancher Agent 镜像
RANCHER_IMAGE=$( docker images --filter=label=io.cattle.agent=true | grep 'v2.' | \
grep -v -E 'rc|alpha|' | head -n 1 | awk '{print $3}' )

# 定义 rke 配置文件名称,如果还存在则按存在的文件名填写;如果不存在,则随便填写,比如名为 rancher-cluster,文件后缀 yaml/yml 不用填写。
rke_config_name=rancher-cluster

docker run --rm --net=host \
-v $(docker inspect kubelet --format \
'{{ range .Mounts }}{{ if eq .Destination "/etc/kubernetes" }}{{ .Source }}{{ end }}{{ end }}')/ssl:/etc/kubernetes/ssl:ro \
--entrypoint bash ${RANCHER_IMAGE} \
-c 'kubectl --kubeconfig=${kubecfg} \
-n kube-system get configmap full-cluster-state -o json | \
jq -r .data.\"full-cluster-state\" | \
jq -r .' > ${rke_config_name}.rkestate

上述内容就是如何恢复rkestate状态文件,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

文件 集群 配置 状态 版本 证书 生成 文件名 组件 节点 规则 更新 运行 不同 不用 内容 名称 后缀 技能 知识 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州为想互联网科技有限公司 广州万易互联网科技有限公司 河南云网互联网络科技有限公司 科技金融是不是互联网金融 科技互联网项目 疫情对互联网科技公司影响 金融科技创新监管互联网金融 互联网金融公司科技 成都互联网科技公司 互联网科技汛 互联网科技创新企业排名 互联网科技博主是什么意思 银川新华互联网科技职业技术培训学校图片 科技与互联网哪个更好 广州恒生互联网科技有限 佛山市拉法互联网科技有限公司 上海创道互联网络科技有限公司 山东大美朱楼互联网科技有限公司 云南互联网科技学费 杭州科技互联网公司有哪些 金融科技还是互联网 狮子座互联网科技有限公司 互联网科技缩写 易通互联网络科技有限公司 四川狮子座互联网科技 重庆互联网医院沙龙医盟信息科技 千方科技属于互联网企业吗 苏州铭阳互联网科技有限公司 21世纪互联网科技成就 吉林省码上互联网科技电话
0