21 lines
961 B
Bash
Executable File
21 lines
961 B
Bash
Executable File
#!/bin/bash
|
|
|
|
#############################################################################################
|
|
# 用途: 恢复 rkestate 状态文件脚本
|
|
# 作者: 丁辉
|
|
# 更新时间: 2024-03-27
|
|
#############################################################################################
|
|
|
|
# 检测当前是否为 Master 节点
|
|
if [ ! -f /etc/kubernetes/ssl/kubecfg-kube-node.yaml ]; then
|
|
echo "未检测到 /etc/kubernetes/ssl/kubecfg-kube-node.yaml 文件, 请登录 Master 节点执行脚本"
|
|
exit 1
|
|
fi
|
|
|
|
# 找回文件
|
|
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/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 .' > cluster.rkestate |