【发布时间】:2020-11-11 09:43:43
【问题描述】:
我在实验室中有以下情况,想看看是否可以恢复。集群已损坏,但非常符合预期,因为我正在测试我可以通过破坏集群走多远并且仍然能够恢复。
环境: Kubernetes 1.16.3 Kubespray
我做了一些试验,在这个集群上没有任何数据,但我仍然很好奇是否有可能恢复。我有一个健康的 3 节点 etcd 集群,具有原始配置(所有命名空间、工作负载、配置映射等)。我没有用于控制平面的原始 SSL 证书。
我从集群中删除了所有节点(kubeadm 重置)。我有原始清单和 kubelet 配置,并尝试重新初始化主节点。它比我想象的要成功,但不是我想要的。 kubeadm init 成功后,kubelet 和 control plane 容器启动成功,但没有创建相应的 Pod。我可以将 kube API 与 kubectl 一起使用,并查看节点、命名空间、部署等。
在 kube-system 命名空间中,所有守护程序集仍然存在,但 pod 不会以以下消息开始:
49m Warning FailedCreate daemonset/kube-proxy Error creating: Timeout: request did not complete within requested timeout
kubelet 记录以下 re control plane pods
Jul 21 22:30:02 k8s-master-4 kubelet[13791]: E0721 22:30:02.088787 13791 kubelet.go:1664] Failed creating a mirror pod for "kube-scheduler-k8s-master-4_kube-system(3e128801ef687b022f6c8ae175c9c56d)": Timeout: request did not complete within requested timeout
Jul 21 22:30:53 k8s-master-4 kubelet[13791]: E0721 22:30:53.089517 13791 kubelet.go:1664] Failed creating a mirror pod for "kube-controller-manager-k8s-master-4_kube-system(da5cfae13814fa171a320ce0605de98f)": Timeout: request did not complete within requested timeout
在 kubeadm 重置/初始化过程中,我已经完成了一些步骤,因此我可以到达现在的位置(删除服务帐户以重置令牌,删除一些配置映射(kuebadm 等))
我的问题是 - 是否可以在没有证书的情况下恢复控制平面。如果它复杂但仍然可能的过程,我仍然想知道。
感谢所有帮助
亨利
【问题讨论】:
标签: kubernetes kubeadm