gpt4 book ai didi

kubernetes - 在没有证书的情况下恢复 Kubernetes 集群

转载 作者:行者123 更新时间:2023-12-02 12:10:58 24 4
gpt4 key购买 nike

我在实验室中有以下情况,想看看是否可以恢复。集群已损坏,但非常值得期待,因为我正在测试破坏集群可以走多远并且仍然能够恢复。
环境:
Kubernetes 1.16.3
Kubespray
我做了一些试验,在这个集群上没有任何数据,但我仍然很好奇是否有可能恢复。我有一个健康的 3 节点 etcd 集群,具有原始配置(所有命名空间、工作负载、配置映射等)。我没有控制平面的原始 SSL 证书。
我从集群中删除了所有节点(kubeadm 重置)。我有原始 list 和 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 记录以下重新控制平面 pod
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 重置/初始化过程中,我已经有一些步骤,所以我可以到达现在的位置(删除服务帐户以重置 token ,删除一些配置映射(kuebadm 等))
我的问题是 - 是否可以在没有证书的情况下恢复控制平面。如果它复杂但仍然可能的过程,我仍然想知道。
所有帮助表示赞赏
亨罗

最佳答案

is it possible to recover the control plane without the certs.


是的,应该可以。证书 🔏 是必需的,但它们不必与您最初创建集群时使用的证书完全相同。所有 certificates包括 CA可以全盘旋转。 kubelet 甚至支持 certificate auto-rotation .但是,配置需要在任何地方匹配。这意味着 CA 需要与创建 CSR 的 CA 相同,并且证书 key /证书需要从相同的 CSR 创建。 🔑
此外,所有组件都需要使用相同的 CA 并能够通过 API 服务器进行身份验证(kube-controller-manager、kube-scheduler 等)🔐。我不完全确定您看到的日志,但看起来 kube-controller-manager 和 kube-scheduler 无法进行身份验证并加入集群。所以我会看看他们的证书配置:
  • /etc/kubernetes/kube-controller-manager.conf
  • /etc/kubernetes/kube-scheduler.conf

  • 此外,您会在 /etc/kubernetes/pki 下找到需要验证的每个 PKI 组件。
    ✌️

    关于kubernetes - 在没有证书的情况下恢复 Kubernetes 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63024199/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com