误删节点或集群怎么办?这里有一颗后悔药_Rancher Labs-CSDN博客本文来自Rancher Labs作者介绍王海龙,Rancher中国社区技术经理,负责Rancher中国技术社区的维护和运营。拥有6年的云计算领域经验,经历了OpenStack到Kubernetes的技术变革,无论底层操作系统Linux,还是虚拟化KVM或是Docker容器技术都有丰富的运维和实践经验。在实际使用Rancher过程中,偶尔会因为误操作删除了System Workload、节点或集群, 导致集群状态异常而无法访问。如果用户不了解恢复方法,通常会重新添加节或重新搭建集群。本文将根据以下https://blog.csdn.net/RancherLabs/article/details/107361904误删节点或集群怎么办?这里有一颗后悔药 - 简书本文来自Rancher Labs 作者介绍王海龙,Rancher中国社区技术经理,负责Rancher中国技术社区的维护和运营。拥有6年的云计算领域经验,经历了OpenStac...https://www.jianshu.com/p/cabf80dd8695
在具有controlplane
角色的节点上生成kubeconfig 的意思就是rancher master主节点
[root@localhost ~]# ls /etc/kubernetes/ssl/
certs kube-ca-key.pem kubecfg-kube-scheduler.yaml kube-proxy-key.pem
kube-apiserver-key.pem kube-ca.pem kube-controller-manager-key.pem kube-proxy.pem
kube-apiserver.pem kubecfg-kube-apiserver-proxy-client.yaml kube-controller-manager.pem kube-scheduler-key.pem
kube-apiserver-proxy-client-key.pem kubecfg-kube-apiserver-requestheader-ca.yaml kube-etcd-172-16-10-87-key.pem kube-scheduler.pem
kube-apiserver-proxy-client.pem kubecfg-kube-controller-manager.yaml kube-etcd-172-16-10-87.pem kube-service-account-token-key.pem
kube-apiserver-requestheader-ca-key.pem kubecfg-kube-node.yaml kube-node-key.pem kube-service-account-token.pem
kube-apiserver-requestheader-ca.pem kubecfg-kube-proxy.yaml kube-node.pem
[root@localhost ~]#
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.docker inspect kubelet --format '{{ range .Mounts }}{{ if eq .Destination "/etc/kubernetes" }}{{ .Source }}{{ end }}{{ end }}')/ssl : 主要是得到/etc/kubernetes/ 目录
2.docker images -q --filter=label=io.cattle.agent=true 主要是得到rancher-agent镜像的id
3.docker inspect $(docker images -q --filter=label=io.cattle.agent=true) --format='{{index .RepoTags 0}}' | tail -1
主要是的得到:[root@localhost ~]# docker inspect $(docker images -q --filter=label=io.cattle.agent=true) --format='{{index .RepoTags 0}}' | tail -1
rancher/rancher-agent:v2.3.6