重启主机etcd启动不了

这是由于异常关机导致的 单节点 rancher 内置的 etcd 故障引起的,如果有备份你可以用备份进行恢复

如果没有备份,你可以通过 下面命令去在下游集群的控制节点恢复 kubeconfig 文件,然后通过 kubectl 继续管理或导入新的 rancher server 进行管理

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 $(docker inspect $(docker images -q --filter=label=io.cattle.agent=true) --format='{{index .RepoTags 0}}' | tail -1) -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 .currentState.certificatesBundle.\"kube-admin\".config | sed -e "/^[[:space:]]*server:/ s_:.*_: \"https://127.0.0.1:6443\"_"' > kubeconfig_admin.yaml

备份执行恢复的命令是啥呢

1 个赞

下次注意,生产集群要注意好etcd的备份。 etcd节点非常脆弱,该节点非正常关机很容易引起etcd无法重启,进而引起集群的崩溃。

1 个赞

大佬,我也遇到一个相似的问题,我的master节点,etcd容器都被rancher删除了。现在rancher集群一个etcd容器也没有了。 这个问题要如何修复呀?