【问题标题】:How to properly recover a K8s cluster after reboot?重启后如何正确恢复 K8s 集群?
【发布时间】:2020-01-15 18:15:22
【问题描述】:

我有一个 K8s 集群工作正常,但由于电源故障,所有节点都重新启动。

目前我在恢复主节点(和其他节点)时遇到了一些问题:

  1. sudo systemctl kubelet status 正在返回 Unknown operation kubelet. 但是当我运行 kubeadm init ...(我设置集群的命令)时它返回:
error execution phase preflight: [preflight] Some fatal errors occurred:
    [ERROR Port-6443]: Port 6443 is in use
    [ERROR Port-10251]: Port 10251 is in use
    [ERROR Port-10252]: Port 10252 is in use
    [ERROR FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml]: /etc/kubernetes/manifests/kube-apiserver.yaml already exists
    [ERROR FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml]: /etc/kubernetes/manifests/kube-controller-manager.yaml already exists
    [ERROR FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml]: /etc/kubernetes/manifests/kube-scheduler.yaml already exists
    [ERROR FileAvailable--etc-kubernetes-manifests-etcd.yaml]: /etc/kubernetes/manifests/etcd.yaml already exists
    [ERROR Port-10250]: Port 10250 is in use
    [ERROR Port-2379]: Port 2379 is in use
    [ERROR Port-2380]: Port 2380 is in use
    [ERROR DirAvailable--var-lib-etcd]: /var/lib/etcd is not empty

当我检查这些端口时,我可以看到 kubelet 和其他 K8s 组件正在使用它们:

~/k8s-multi-node$ sudo lsof -i :10251
COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
kube-sche 26292 root    3u  IPv6 104933      0t0  TCP *:10251 (LISTEN)

~/k8s-multi-node$ sudo lsof -i :10252
COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
kube-cont 26256 root    3u  IPv6 115541      0t0  TCP *:10252 (LISTEN)

~/k8s-multi-node$ sudo lsof -i :10250
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
kubelet 24781 root   27u  IPv6 106821      0t0  TCP *:10250 (LISTEN)

我试图杀死他们,但他们又开始使用这些端口。

  1. 我的第二个问题是由于电源故障,我的机器目前无法访问互联网。

那么恢复这样一个集群的正确方法是什么?我是否需要删除 kubelet 和所有其他组件并重新安装它们?

【问题讨论】:

  • 你是如何试图杀死他们的?
  • 因为目前我使用的那些机器上无法访问互联网sudo kill PID

标签: kubernetes


【解决方案1】:

你需要先使用sudo systemctl stop kubelet.service停止kubelet

之后运行kubeadm reset,然后运行kubeadm init。请注意,这将清理现有集群并完全创建一个新集群。

关于恢复的正确方法请查看question

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-24
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    • 2021-12-07
    • 2017-01-03
    • 1970-01-01
    • 2020-02-06
    相关资源
    最近更新 更多