- 在 v0.2.0 之前,RKE 将 Kubernetes 集群状态保存为
secret
。更新状态时,RKE 会提取secret
,更新/更改
状态并保存新secret
。 - 从 v0.2.0 开始,RKE 在集群配置文件
cluster.yml
的同一目录中创建cluster.rkestate
文件。该.rkestate
文件包含集群的当前状态,包括。需要保留此文件以更新集群或通过 RKE 对集群执行任何操作。
如果是通过rke v0.2.0
之前版本创建的 Kubernetes 集群,那么建议升级 rke 版本到最新版本。
rke v0.2.0
以前的版本,是通过pki.bundle.tar.gz
来保存组件证书。而rke v0.2.0
及以后的版本通过.rkestate
来保存组件证书。
2. 找回.rkestate
假如.rkestate
无意间丢失或者损坏,可以通过集群中的配置映射文件恢复.rkestate。
通过 master 节点找回
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 \
rancher/rancher-agent:v2.2.2 \
-c 'kubectl --kubeconfig /etc/kubernetes/ssl/kubecfg-kube-node.yaml get configmap \
-n kube-system full-cluster-state -o json | jq -r .data.\"full-cluster-state\" | jq -r .' > <rke-config-name>.rkestate