服务“kubernetes”已删除-意外删除kubernetes服务

n8ghc7c1  于 2023-02-11  发布在  Kubernetes
关注(0)|答案(2)|浏览(191)

我不小心删除了Kubernetes服务器:

service "kubernetes" deleted

使用:

kubectl delete svc --all

我该怎么办?我只是想删除服务,这样我就可以启动新的服务了。

5f0d552i

5f0d552i1#

先讲一点理论;)每当您删除kubernetes svc时,您也会删除端点,这就是Reconciler的作用。它实际上是核心引导Kubernetes控制器循环的控制器管理器,用于管理创建"kubernetes"服务、"default"、"kube-system"和"kube-public"名称空间,并提供服务IP上的IP修复检查。
因此,在运行正常的群集中,Controller Manager应自动重新创建default. kubernetes服务。
如果不是,我建议:
检查api服务器日志

kubectl logs -f kube-apiserver-master -n kube-system

您应看到类似以下内容:

Resetting endpoints for master service "kubernetes" to [10.156.0.3]

如果没有看到,请尝试手动删除此服务的etcd密钥
因为集群的当前状态存储在etcd中,所以当您删除服务时,密钥可能会保留下来:
a.执行到etcd-主pod

kubectl exec -it etcd-master -n kube-system sh

b.获取etcd密钥值

ETCDCTL_API=3 etcdctl --cacert=/etc/kubernetes/pki/etcd/ca.crt --key=/etc/kubernetes/pki/etcd/server.key --cert=/etc/kubernetes/pki/etcd/server.crt get /registry/services/endpoints/default/kubernetes

c.如果你得到的值是:

v1    Endpointst
O

kubernetesdefault"*$eafc04cf-90f3-11e9-a75e-42010a9c00032����z!

10.156.0.3
https�2TCP"

只需将其删除

ETCDCTL_API=3 etcdctl --cacert=/etc/kubernetes/pki/etcd/ca.crt --key=/etc/kubernetes/pki/etcd/server.key --cert=/etc/kubernetes/pki/etcd/server.crt rm /registry/services/endpoints/default/kubernetes

完成后,再次检查api服务器日志。

mctunoxg

mctunoxg2#

ubuntu@master:~$ kubectl delete all --所有服务“kubernetes”已删除ubuntu@master:~$ kubectl get svc命令“kubernetes”未找到,但可以使用以下命令安装:sudo apt install kubernetes ubuntu@master:~$ sudo apt install kubernetes运行了安装程序,它被恢复了。

相关问题